ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei...

16
ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Elettronica curriculum Elettronica Applicata Laureando: Relatore: Simone Bardella Chiar.mo Prof. Ing. Sergio Carrato

Transcript of ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei...

Page 1: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

ANALISI DEGLI ERRORI

DI QUANTIZZAZIONE

NEI FILTRI IIR

UNIVERSITÀ DEGLI STUDI DI TRIESTEFACOLTÀ DI INGEGNERIA

Corso di Laurea in Ingegneria Elettronica curriculum Elettronica Applicata

Laureando: Relatore:

Simone Bardella Chiar.mo Prof. Ing. Sergio Carrato

Page 2: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

OBBIETTIVO

Problema iniziale:

Validazione del tool per il calcolo dei coefficienti di IIR biquadratici implementati

nel DSP TEAKlite

Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit

Page 3: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Analisi ambiente applicativo

SGOLD2: modulo GSM-GPRS-EDGE

DSP TEAKlite16 bit, fixed point

Il firmware del DSP implementa algoritmi per l’elaborazione del segnale audio digitale

Page 4: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Filtri Biquadratici

A/D Biquad TX#2

Biquad RX#2

Biquad TX#1

Biquad RX#1D/A

to uplink

fromdownlink

path di trasmissione

path di ricezione

j

TXG e

j

RXG e

MIC

speaker

Analog front end

Page 5: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Normative ETSI:impongono di correggere la risposta in

frequenza del canale trasmissivo e ricevente

MASCHERE DI FREQUENZA:

12th octave FFT Size:4096 Overlap:75.0% Hanning Ref.: r12sndrf.fftL/dB[V/Pa]

-50

-40

-30

-20

-10

0

10

f/Hz120 200 300 400 1000 1600 2400 4000

SND(1)-Reflowerupper

12th octave FFT Size:4096 Overlap:75.0% Hanning Ref.: r12rcvrf.fftL/dB[Pa/V]

-30

-20

-10

0

10

20

30

f/Hz120 200 300 400 1000 1600 2400 4000

RCV(2)-Reflowerupper

Sending Sensitivity frequencyResponse

Receiving Sensitivity frequencyResponse

Page 6: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Filtri Biquadratici

1 2

0 1 2

1 2

1 2

2( )

( ) 1 2

a a z a zY z

X z b z b z

Implementati in direct form:

f.d.t.

Page 7: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

• Rappresentazione in complemento a 2• Il DSP interpreta i valori nel formato Q15

Coefficienti dei filtri

0 1 2 15( ... )x a a a a

Valori rappresentabili:

Precisione:152

151 (1 2 )

Page 8: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Problema:Il tool lavora in floating point double precisionIl DSP in fixed point

Quindi:

FLOATING POINTDOUBLE PRECISION

FIXED POINT

Come ottenere dati compatibili con il DSP?

Q(x)

int

32768

(int)

double

double

x x

x x

errori ( )Q x x

15 152 2e

allora:

Page 9: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

I coefficienti devono essere quantizzati

Spostamento singolarità nel piano z (poli,zeri)

Cambiamento f.d.t. del filtro biquad.

1 2

0 1 2

1 21 2

2( )

1 2

a a z a zH z

b z b z

1 2

0 1 2

1 2

1 2

2( )

1 2

a a z a zH z

b z b z

studio del comportamento dei poli

Page 10: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Locazione poli

Nell’ipotesi di poli complessi coniugati:

1 2

1 2( ) 1 2D z b z b z

Si consideri il denominatore di H(z):

1 1( ) (1 )(1 * )D z p z p z

Si ricava:

1

2

2

Re( )b p

b p

Page 11: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Sensibilità

Quantitativamente, come ne risentono i poli dellaquantizzazione dei coefficienti?

Si consideri un polinomio B(z) di grado N:

kj

k kz r e

( )

( ) k kjk k kz r r e

Quantizzazione:

0

( )N

i

i

i

B z b z

0

( )N

i

i i

i

B z b b z

( )k kj j

k k k k kz r e r jr e

( ) kjkk k k k kz z z r jr e

Assumendo piccoli cambiamenti della k-esima radice si ha:

Page 12: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

1

( ) ( )N

k

k

B z z z

1

0 1

( ) ( ) ( ) ( )N N

iki

i k

B z B z b z z z

1

1

( )

Nk

k kB z z z

( )

( )k

kk k k

z z

z zR jX

B z

1( )

( )

kkk k

k k k

z B zB z z z

1

0

( ) 0 ( ) ( )( )N

ik k ki

i

B z B z b z

1

0

Ni

k k i k

i

z b z

1

0

( ) ( ) ( )k k

Ni

j j

k k k k k i k

i

r jr e R jX b r e

1

k k k k k

k k k k k

k

r R P X Q B

X P R Q Br

1

1

0 1 1

cos cos( 2)

sin 0 sin( 2)

N

k k k k k

N

k k k k

T

N

P r r N

Q r N

B b b b

Inoltre:

Considerando la funzione :

dove:

1/ ( )B z

con:

Page 13: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

• alta sensibilità per poli con• situazioni di instabilità

0,

Si vogliono analizzare le situazioni critiche per diversitipologie di filtri implementati nel tool:

Filtri Butterworth

LowpassHighpassNotchBandpass

Disposizione poli per alte frequenze di taglio:• precisione infinita• aritmetica a 16-bit• aritmetica a 8-bit

2

2 1

2

2

2 tan 2 sin

br

r

b b

r r

Nel nostro caso:

2 1

TB b b

Page 14: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

lowpass, Fc=3908 Hzinfinite precision: stabile16-bit truncation: stabile8-bit truncation: instabile

Poli 8-bit

Poli 16-bitPoli precisione infinita

bandpass, Fo=3924 Hz, Q=5infinite precision: stabile16-bit truncation: stabile8-bit truncation: instabile

Poli 8-bit

Poli 16-bitPoli precisione infinita

Page 15: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

Considerazioni per alte freq. di taglio (3900 4000)Hz

• aritmetica a 16-bit stabilità

• aritmetica a 8-bit Poli reali

Risp. in freq. diverse

instabilità

notch, Fo=3902 Hz, Q=3infinite precision: stabile16-bit truncation: stabile8-bit truncation: instabile

Poli 8-bit

Poli 16-bitPoli precisione infinita

Page 16: ANALISI DEGLI ERRORI DI QUANTIZZAZIONE NEI FILTRI IIR · Analisi errori di quantizzazione nei filtri IIR: confronto tra DSP a 16-bit e 8-bit. Analisi ambiente applicativo ... Cambiamento

CONCLUSIONI

Validazione del tool effettuata

Studiati gli errori di quantizzazione dei coefficienti ela loro influenza sulle condizioni di stabilità

DSP a 8-bit: criticità per alte frequenze di taglio

Non considerati altri errori che si presentano in unprocessore (limit cycles, conversione A/D,quantizzazione operazioni aritmetiche)