Lezione 5 - SM - Università di Pavia · quale sia il tipo di interpolazione ottimale ... limitando...

17
Lezione 5 - SM (Campionamento) Architettura di un sistema di misura

Transcript of Lezione 5 - SM - Università di Pavia · quale sia il tipo di interpolazione ottimale ... limitando...

Lezione 5 - SM

(Campionamento)

Architettura di un sistema di misura

Trasdsuttore Amplificatore Filtro Registratore

Conversione A/D

A) Parte Analogica

B) Interfaccia analogico/numerica

C) Parte Numerica

PreelaborazioneEstrazioneParametri

Classificazione

S(t)

alla memoria del calcolatore

all’utente

Schema generale di un elaboratore di segnali

S(n)

Requisiti:

1. non perturbare il fenomeno fisico osservato (trasduttore)

2. buon rapporto Segnale/Rumore

3. fedeltà nella riproduzione del segnale

Il segnale non viene distorto se la banda passante della parte analogica della catena di misura copre completamente l’estensione dello spettro del segnale.

ES.: Il segnale elettrocardiografico ha banda passante di circa 100 Hz. Per evitare distorsioni la catena di misura dovrà avere componenti che “lascino passare” le frequenze fino a 100 Hz.

Parte Analogica

Conversione Analogico-Digitale

Campionamento QuantizzazioneCodifica numerica

S(t) S(n) S*(n)

in

out

Ts

V0=000V1=001V2=010

:V7=111

V(t) V(n) V*(n) N(n)

La conversione analogico-digitale (A/D)

Campionamento (visto nel dominio del tempo)• un segnale campionato a passo costante, TC, nel dominio del tempo

continuo è descritto come il prodotto di y(t) per una serie di impulsi a passo TC

∑∑∞

−∞=

−∞=−δ⋅=−δ⋅

iCC

iC )iTt()iT(y)iTt()t(y

t0 TC 2TC 3TC 4TC-TC-2TC

• nel tempo discreto è descritto come serie di numeri yi = y(iTC)

i0 1 2 3 4-1-2

Campionamento (v. nel dominio del tempo) 2

• ovviamente la serie numerica e la serie di impulsi modulata hanno lo stesso identico contenuto di informazione

• quest’ultima viene utilizzata per calcolare quale informazione è persa nel processo di campionamento, se sia possibile interpolare i campioni per tornare alla y(t), con quale approssimazione ed, infine, quale sia il tipo di interpolazione ottimale

• queste considerazione richiedono di operare nel dominio delle frequenze e verranno riprese in seguito

• per ora osserviamo che occorrono almeno 2 campioni per ogni periodo considerando la

massima frequenza rappresentata

Teorema di Shannon o del campionamento

Se un segnale s(t) con spettro s(f) ha banda limitata di larghezza B (s(f)=0 per f>B), s(t) può essere campionato, senza perdita di informazione e senza introdurre distorsioni, purché la frequenza di campionamento sia fC ≥2B.

Esempi di errori introdotti da Fc troppo bassa

A) s(t)= sin(2πft), fc=f (TC=1/f)

t

s(t) s(nTc)

istanti di campionamento componente costante assente in s(t)

Campionamento

Esempi di errori introdotti da Fc troppo bassa

B) s(t)= sin(2πft), f<fc<2f (1/f>TC>1/2f)

t

s(t) s(nTc)

Istanti di campionamento Oscillazione a bassa frequenza inesistente nel segnale originale

Analisi in frequenza - segnale campionato• il risultato del campionamento è così quello di replicare Y(ω)

attorno ai multipli di ωC=2πfC sommandoli

∑∑∞

−∞=

−∞=−⋅=

⎭⎬⎫

⎩⎨⎧

−k

Ci

C )kωY(ωcost.)iTδ(ty(t)

F

TCωCt ω

Y(ω)y(t)

F

Analisi in frequenza - segnale campionato• da queste considerazioni discende l’enunciato del Th. del

campionamento o di Shannon:“la frequenza di campionamento deve essere almeno doppia rispetto alla massima frequenza presente nella banda occupata dal segnale”, ovvero ωC > 2ωM

ωC ω0 ωM

ωC ω0 ωM

ωC/2

SI

NO

Analisi in frequenza - segnale campionato• in altri termini, fissata la frequenza di campionamento, la massima

frequenza presente, fM=ωM/2π, deve essere minore della metàdella frequenza di campionamento fN=fC/2=ωC/4π

• in un segnale campionato, dunque, la metà della frequenza di campionamento, fN, ha il significato di massima frequenza rappresentabile e prende il nome di frequenza di Nyquist

• data la simmetria rispetto a 0 e la periodicità rispetto ad fC, si usa rappresentare il contenuto in frequenza di un segnale campionatoda 0 ad fN,ovvero, in termini di frequenza normalizzata f/fC, da 0 a 0.5, ovvero, in termini di pulsazione normalizzata Ω, da 0 a π

π Ω0

Ω = 2π f/fC = ωTC

Equivocazione delle frequenze - aliasing• nel primo esempio della fig. precedente la condizione di

Shannon è rispettata mentre nel secondo no• i due spettri sono riportati qui sotto evidenziando lo spettro del

segnale campionato da 0 alla freq. di Nyquist• nel secondo caso, le frequenze da ωN ad ωM non solo non sono

rappresentate fedelmente ma vengono equivocate e ribaltate nel tratto da 2ωN-ωM a ωN.

0 0 ωω ωNωN

2ωN-ωM ωM

Aliasing: sinusoidi nel tempo• consideriamo 3 sinusoidi a 1.2, 5.2 e 9.2 Hz tutte campionate

a 4 Hz: tutte danno luogo allo stesso campionamento che viene ricostruito a 1.2 Hz

Aliasing: sinusoidi nelle frequenze• infatti, la Trasf. di Fourier della sinusoide a 1.2 Hz presenta due

impulsi a +1.2 e a -1.2Hz che replicato attorno a 4 Hz peril campionamento dà luogo ad impulsi a 4k-1.2 e 4k+1.2 Hz

• 5.2 Hz = 4+1.2 Hz --> 4(k-1)-1.2 e 4(k+1)+1.2 Hz• 9.2 Hz = 2x4+1.2 Hz --> 4(k-2)-1.2 e 4(k+2)+1.2 Hz• considerando tutti i k troviamo gli stessi impulsi in freq.

Filtro anti-aliasing• avendo scelto una fC bisogna eliminare tutte le componenti

eventualmente presenti oltre la frequenza di Nyquist prima del campionamento

convertitore A/D

y(t) yi

• le componenti eliminate possono essere dovute a rumore oppure a dettagli veloci del segnale che non si vuole (o non si può) registrare

• e.g., un segnale ECG su 24h (Holter) viene campionato a 100 Hz limitando la banda a 50 Hz e perdendo alcuni dettagli dei complessi QRS che vengono invece conservati in altri contesti

filtro antialiasing

ωNω

Esempio - filtro anti-aliasing• supponiamo di avere un segnale di pressione arteriosa con una

frequenza cardiaca di 66 battiti al minuto = 1.1 Hz• per riprodurre la forma della pulsazione riteniamo necessarie 20

armoniche: la banda va da 0 a 22 Hz• decidiamo di campionare a 45 campioni/sec > 22x2 Hz• il segnale è sporcato da un rumore alla freq. di rete = 50 Hz• in assenza di filtro antialiasing il segnale campionato viene sporcato

da una componente equivocata a (-45+50) = 5 Hz(in fig. la replica attorno a -45 Hz è tratteggiata)

ωωNωωN -ωC ωC

Interpolazione di un segnale campionato

• mantenitore

• interpolazione lineare

• cubic spline

• un modo semplice per ricostruire il segnale nel t. continuo è quello di interpolare fra i punti campionati con una opportuna legge; l’approssimazione varia a seconda del metodo ed il risultato migliora se il segnale è sovracampionato rispetto a quanto imposto dal Th di Shannon

Ricostruzione ideale• se il Th. di Shannon è rispettato si può concepire una

ricostruzione ideale• si tratta di eliminare con un filtro passa basso ideale le repliche

dello spettro ai multipli della fC, che il campionamento (modulazione di impulsi) aveva introdotto.

tp. bassoideale

t

ωωN ω

y(t)yk

Scelta della frequenza di campionamento

• Teorema del Campionamento (Fc>2fmax)• Risoluzione temporale (se si vogliono distinguere nel

tempo eventi separati da un tempo t1, Fc>1/t1 )• Algoritmi di elaborazione (ex. Derivata Numerica – “two

points central difference”, dove la derivata è data da:

Questo algoritmo si comporta come un derivatore fino ad una frequenza F=0.224 Fc; per frequenze più alte si comporta come un filtro passa-basso.)

sT

kxkxky

2

)1()1()(

−−+=

Quantizzazione

La quantizzazione corrisponde alla discretizzazione in ampiezza.

Il numero di livelli in cui è suddiviso l’intero range del convertitore vine detto risoluzione. L’ampiezza di un singolo livello è chiamata passo di quantizzazione. Più alta è la risoluzione, piu piccolo è il minimo livello di tensione misurabile. La figura mostra una sinusoide campionata e quantizzata da un convertitore ideale a 3 bit.

Rumore di quantizzazione• la quantizzazione dei valori (discretizzazione, digitalizzazione)

conseguente alla conversione A/D dà luogo ad un errore di approssimazione, visto come un rumore additivo y^=y+nQ

• le caratteristiche di processo stocastico del rumore di quantizzazione sono facilmente ricavabili:1) la distribuzione di probabilità è uniforme fra -Q/2 e Q/2

(l’errore può cadere con uguale probabilità in qualsiasipunto dell’intervallo di quantizzazione ampio Q)

2) quindi mQ=0, σQ2=Q2/12

3) si tratta di un rumore bianco (l’approssimazione su uncampione è indipendente da quella fatta sul c. precedente)

4) il rumore è indipendente e quindi scorrelato dal segnale5) la varianza è aumentata del rumore di quantizzazione

σy^2 = σy

2 + Q2/126) gli altri campioni della ACF non sono variati: ry^,k= ry,k , k≠0

Rumore di quantizzazione

Arrotondamento Troncamento

Densità di probabilitàdell’errore di quantizzazione

mQ=0, σQ2=Q2/12 mQ=-Q/2

Rumore di quantizzazione (2)

• Il passo di quantizzazione determina la precisione della conversione di un segnale da analogico a digitale (A/D).

• Il passo dipende dal n° di bit (cifre binarie) con cui il convertitore quantifica il valore di un campione.

• Esempio:•Con 8 bit si possono rappresentare 28=256 Valori diversi.•La precisione è: 1/256≅0.4% dell’intero campo dei valori rappresentabili (di solito da –5V a +5V o da –10V a +10V).

Quantizzazione e codifica numericaRange – Il range è definito come la differenza tra il massimo ed il minimo valore di tensione che un dispositivo A/D riesce a convertire. I dispositivi di progettazione recente offrono la possibilità di programmare il range in modo da adattare il convertitore ai segnali di tensione in ingresso ( tipicamente 0-5V, 0-10V, -5 +5V, -10 +10 V)

Code Width – Il range, la risoluzione e il guadagno determinano il più piccolo valore di tensione rilevabile dalla conversione. Questo valore rappresenta il bit meno significativo (LSB) del valore numerico ed è chiamato code width. Il code width teorico si trova dividendo il Range per il guadagno moltiplicato per due elevato al numero di bit del convertitore. Ad esempio, con un convertitore a 16-bit, un range da -10 a +10 V ed un guadagno di 20 il code width teorico è dato da:

Vμ63,72201010

16 =×+

Accuratezza Relativa – E’ una misura in LSB del peggior caso di deviazione del valore realmente convertito rispetto al valore teorico. Infatti la caratteristica ideale di un convertitore (Codice numerico in funzione della tensione in ingresso) dovrebbe essere una retta. In realtà, se si diagrammano le differenze tra i valori ideali in bit ed i valori reali si ottiene un diagramma simile a quello in basso a destra. L’accuratezza relativa è il peggior caso di deviazione dalla linea di zero.

Acquisizione continua di segnali

Vi sono applicazioni in cui non è possibile determinare a priori la durata dell’acquisizione o in cui il numero di campioni è talmente elevato da dover ricorrere all’ acquisizione continua.

Durante l’acquisizione continua, i valori campionati sono messi temporaneamente in un buffer circolare dallìhardware. Simultaneamente il software rimuove dal buffer i valori precedentemente acquisiti, li elabora e li memorizza su una memoria permanente (disco), mentre il convertitore continua a produrre nuovi campioni.

Se il software è in grado di rimuovere i valori dal buffer più velocemente di quanto il convertitore A/D ci mette a riempirlo, il buffer circolare non si riempie mai, e l’acquisizione può continuare senza mai finire.

Operazioni con il Doppio Buffer

Il buffer circolare, di fatto, viene logicamente diviso in due metà. Il software controlla che quando una metà è piena, può essere trasferita (vedi in Figura b.) mentre il convertitore riempie l’altra metà. Una volta riempito tutto il buffer, si ricominceràsovrascrivendo i valori presenti nella prima metà (che erano già stati trasferiti come in Figura c.) e così via in sequenza. L’imortante è che il trasferimento avvenga in un tempo minore dell’acquisizione.

Ovviamente può accadere che si sovrascrivano dei dati prima che siano stati trasferiti come rappresentato in Figura.

Un simile problema insorge quando il software non fa in tempo a rimuovere i dati nel tempo in cui il convertitore li fornisce. Quando ciò accade si verifica una condizione di overrun, che normalmente viene segnalata dal software. In generale è dovuta alla lentezza del codice software in un ciclo di acquisizione (ad esempio per visualizzare i dati o elaborarli in tempo reale) che dura troppo rispetto alla velocità con cui i valori vengono acquisiti.

Problemi con l’acquisizione continua

Multiplexing

Una tecnica molto utilizzata per acquisire numerosi canali con un solo convertitore A/D è il multiplexaggio

Il convertitore campiona un canale, commuta sul secondo e lo campiona, commuta sul terzo e così via… Poiché lo stesso convertitore campiona più canali, l’ effettiva frequenza di campionamento per ciascun canale è inversamente proporzionale al numero di canali. Ad esempio, campionando a 1 Mhz su 10 canali si avrà una frequenza individuale di 100Khz per canale.

Problemi del multiplexaggio

1. I valori che arrivano al convertitore dai vari canali non sono mai contemporanei

2. Anche se ogni singolo canale varia lentamente, il segnale multiplexato può risultare un segnale a frequenza elevata (vedi figura)

3. L’amplificatore programmabile posto prima del convertitore deve avere un settling time molto basso.

Schema di conversione ECG multicanale