Filtri FIR
Progetto filtri FIR

Vantaggi:




Stabilità intrinseca.
Facilità nell’ottenere fase lineare.
Assenza di retroazione  gli errori non vengono rimessi in
“circolo”
Svantaggi:




Prestazioni contenute.
Per ottenere buone caratteristiche la lunghezza del filtro può
risultare notevole  struttura complessa
Ritardo considerevole tra ingresso e uscita.
Il progetto in termini di “maschere” risulta difficile da affrontare in
forma analitica (in pratica risulta difficile stimare ripple e
attenuazione in forma chiusa)
Linearità di fase


E’ garantita da vincoli di simmetria/antisimmetria nella
risposta impulsiva del filtro
Questi vincoli si traducono in opportuni accoppiamenti di
zeri sul piano z
j
j
H (e )  H (e ) e
 ( )    
j (  )
Linearità di fase (caso 1)
Ipotesi:
N 1
H ( e )   h( n )e  jn   H ( e j ) e 
j
n 0
N 1

j
 H ( e ) cos( )   h( n ) cos(n )

n 0

N 1
 H ( e j ) sin(  )  h( n ) sin( n )


n 0
Parte reale
Parte immaginaria
soluzione banale: α=0
N 1
tan(  ) 
 h(n) sin( n)
n 1
N 1
h(0)   h( n ) cos(n )
n 1
0
 h( 0)  

h( n )  0 for n  1 : N
Linearità di fase (caso 1)
Ipotesi:
N 1
H ( e )   h( n )e  jn   H ( e j ) e 
j
n 0
N 1

j
 H ( e ) cos( )   h( n ) cos(n )

n 0

N 1
 H ( e j ) sin(  )  h( n ) sin( n )


n 0
Parte reale
Parte immaginaria
soluzione non banale:
N 1
N 1
n 0
n 0
 h(n) cos(n) sin( )   h(n) sin( n) cos()  0
N 1
 h(n) sin (  n)   0
n 0
simmetria dei
coefficienti h(n)
N 1

 
2


 h ( n )  h( N  1  n )
La soluzione è unica (Serie di Fourier)
Linearita’ di fase
Affinche’ la somma si annulli
per qualunque valore di x
si impone che a=b e c=d
ovvero
2
a
b
c
d
1.5
1
0.5
0
le sinusoidi rispettivamente in
fase e contro-fase si devono
elidere a 2 a 2
-0.5
-1
-1.5
-2
-5
0
5
Linearità di fase (caso 1)

La simmetria su h(n) comporta che:
N 1
H ( z )   h( n ) z
n 0
N 1
  h( n ) z
n
N 1
  h( N  1  n ) z  n
n 0
 N 1 n
n 0
z
 N 1
N 1
n
h
(
n
)
z


n 0
 z  N 1H ( z 1 )
ovvero per ogni zero in ‘z’ ne deve esistere uno in ‘1/z’
 Inoltre se h(n) è reale per ogni zero deve esistere il suo
complesso-coniugato
Esempio 1
3
2.5
2
h(n)= [ 1 2 3 2 3 2 1]
1.5
1
0.5
0
1
2
3
0
Filter #1: Magnitude
Filter #1: Phase
6
7
Filter #1: Zeros
Filter #1: Poles
1
-120
-240
5.6
-360
2.8
0.5
Imaginary Part
8.4
Continuous Phase (degrees)
11.2
Magnitude
5
Pole/Zero Plot
Magnitude and Continuous Phase Responses
14
4
6
0
-0.5
-480
-1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (  rad/sample)
0.9
-600
-1.5
-1
-0.5
0
Real Part
0.5
1
1.5
Esempio 2
3
2.5
2
h(n)= [ 1 2 3 1 1 3 2 1]
1.5
1
0.5
0
1
2
3
Magnitude and Continuous Phase Responses
14
4
5
6
7
Pole/Zero Plot
0
1.5
Filter #1: Zeros
Filter #1: Poles
-140
8.4
-280
-420
2.8
0
-560
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (  rad/sample)
0.9
-700
1
0.5
Imaginary Part
11.2
Continuous Phase (degrees)
Magnitude
Filter #1: Magnitude
Filter #1: Phase
5.6
8
7
0
-0.5
-1
-1.5
-1.5
-1
-0.5
0
Real Part
0.5
1
1.5
Linearità di fase (caso 2)
Ipotesi:
N 1
H ( e )   h( n )e  jn   H ( e j ) e   
j
n 0
N 1

j
 H ( e ) cos(   )   h( n ) cos(n )

n 0

N 1
 H ( e j ) sin(    )  h( n ) sin( n )


n 0
Parte reale
Parte immaginaria
soluzione:
N 1
N 1
n 0
n 0
 h(n) cos(n) sin(    )   h(n) sin( n) cos(   )  0
N 1
 h(n) sin (  n)     0
n 0
  N 1 2
antisimmetria dei

coefficienti h(n)
   2
 h( n )   h( N  1  n )

La soluzione è unica (Serie di Fourier)
Linearita’ di fase
Affinche’ la somma si annulli
per qualunque valore di x
si impone che a=-b e c=-d
2
a
b
c
d
1.5
1
0.5
ovvero
le sinusoidi rispettivamente in
fase tra loro si devono elidere
a2a2
0
-0.5
-1
-1.5
-2
-5
0
5
Linearità di fase (caso 1)

La antisimmetria su h(n) comporta che:
N 1
H ( z )   h( n ) z
n
n 0
N 1
   h( n ) z
N 1
   h( N  1  n ) z  n
n 0
 N 1 n
n 0
z
 N 1
N 1
n
h
(
n
)
z


n 0
  z  N 1H ( z 1 )
ovvero per ogni zero in ‘z’ ne deve esistere uno in ‘1/z’
 Inoltre se h(n) è reale per ogni zero deve esistere il suo
complesso-coniugato
Esempio 3
3
2
1
h(n)= [ 1 2 3 0 -3 -2 -1]
0
-1
-2
-3
1
2
3
Magnitude and Continuous Phase Responses
10
5
6
7
Pole/Zero Plot
100
Filter #1: Magnitude
Filter #1: Phase
-20
6
-140
-260
2
-380
0
-500
1
Imaginary Part
8
4
Filter #1: Zeros
Filter #1: Poles
1.5
Continuous Phase (degrees)
Magnitude
4
0.5
6
0
-0.5
-1
-1.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (  rad/sample)
0.9
-2
-1.5
-1
-0.5
0
Real Part
0.5
1
1.5
2
Esempio 4
3
2
1
h(n)= [ 1 2 3 -3 -2 -1]
0
-1
-2
-3
1
2
3
Magnitude and Phase Responses
5
6
Pole/Zero Plot
9
100
Filter #1: Magnitude
Filter #1: Phase
Filter #1: Zeros
Filter #1: Poles
1.5
0
5.4
-100
3.6
-200
1.8
-300
1
Imaginary Part
7.2
Phase (degrees)
Magnitude
4
0.5
5
0
-0.5
-1
-1.5
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency (  rad/sample)
0.9
-400
-2
-1.5
-1
-0.5
0
Real Part
0.5
1
1.5
2
Campionamento in frequenza

Si scelga un opportuno numero di campioni in
frequenza e si calcola h(n) imponendo che l’H(ω)
corrispondente passi per i campioni voluti

La soluzione puo’ avvenire attraverso:



L’impiego della IDFT (campioni equispaziati)
La soluzione di un sistema lineare
Equazioni dirette
Campionamento in Frequenza (IDFT)

Scelti N campioni equispaziati sul cerchio unitario




detti campioni godano della simmetria coniugata
il primo campione sia posto in 1
Si applichi la IDFT a detti campioni per ottenere h(n)
La risposta in frequenza della sequenza ottenuta sara’
vincolata a passare per i campioni iniziali
H ( e j )   h( n )e  jn 

j
H
(
k
)

H
(
e
)
2k 
2k
j
n

N
H ( k )   h( n )e N 
Campionamento in frequenza




Si definisce la maschera ideale in frequenza
Si opera un campionamento della medesima su N punti
equidistanti
Sui campioni così ottenuti si applica la IDFT
Il risultato fornisce la risposta impulsiva del filtro
Questo procedimento garantisce che la risposta in frequenza
del filtro così ottenuto passerà ESATTAMENTE per i punti
di campionamento della maschera ideale
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
6
Simmetrici – N dispari
j
H (e )  e
 j
N 1
2
N 1
N 3
N 3
N 1
j
j
 j
 j


 N  1
2
2
2
2
h
(
0
)
e

h
(
1
)
e



h



h
(
N

2
)
e

h
(
N

1
)
e




2




h( n )  h( N  1  n )
j
H (e )  e
 j
N 1
2

 N  1
 N  3
 N  1 
2
h
(
0
)
cos


2
h
(
1
)
cos




h







2 
2 


 2 

Si può realizzare un filtro che soddisfi certe specifiche in ampiezza
risolvendo un sistema lineare in k equazioni k incognite, dove
siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
k
N 1
2
0.6

  N  1 
N 1
a

2
cos


i
for
n



 i , j
 j 2

2




A
N 1
a  1
for
n

 i , j
2
1
Ah  hd  h  A hd
0.4
0.2
0
-0.2
0
5
10
15
20
1.5
1
0.5
0
0
0.5
1
1.5
2
2.5
3
3.5
Simmetrici – N pari
j
H (e )  e
 j
N 1
2
N 1
N 3
N 3
N 1
j
j
 j
 j


2
2
2
2
h
(
0
)
e

h
(
1
)
e



h
(
N

2
)
e

h
(
N

1
)
e




h( n )  h( N  1  n )
j
H (e )  e
 j
N 1
2


 N  1
 N  3
2
h
(
0
)
cos


2
h
(
1
)
cos









2 
2 




Si può realizzare un filtro che soddisfi certe specifiche in ampiezza
risolvendo un sistema lineare in k equazioni k incognite, dove
siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
N
2
k
0.6
0.4

  N  1 
A  ai , j  2 cos  j 
 i 
2

 

0.2
0
-0.2
0
2
0
0.5
4
6
8
10
12
1.5
1
Ah  hd  h  A1hd
0.5
0
1
1.5
2
2.5
3
3.5
Antisimmetrici – N dispari
j
H (e )  e
 j
N 1
2
N 1
N 3
N 3
N 1
j
j
 j
 j


2
2
2
2
h
(
0
)
e

h
(
1
)
e



0



h
(
N

2
)
e

h
(
N

1
)
e




h( n )   h( N  1  n )
j
 j
H ( e )  je
N 1
2


 N  1
 N  3
2
h
(
0
)
sin


2
h
(
1
)
sin




0






2 
2 




Si può realizzare un filtro che soddisfi certe specifiche in ampiezza
risolvendo un sistema lineare in k equazioni k incognite, dove
siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
k
N 1
2
0.5

  N  1 
A  ai , j  2 sin  j 
 i 
2




0
-0.5
0
2
4
6
8
10
1.5
1
1
Ah  hd  h  A hd
0.5
0
0
0.5
1
1.5
2
2.5
3
3.5
Antisimmetrici – N pari
j
H (e )  e
 j
N 1
2
N 1
N 3
N 3
N 1
j
j
 j
 j


2
2
2
2
h
(
0
)
e

h
(
1
)
e



h
(
N

2
)
e

h
(
N

1
)
e




h( n )   h( N  1  n )
j
 j
H ( e )  je
N 1
2


 N  1
 N  3
2
h
(
0
)
sin


2
h
(
1
)
sin









2 
2 




Si può realizzare un filtro che soddisfi certe specifiche in ampiezza
risolvendo un sistema lineare in k equazioni k incognite, dove
siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
k
N
2
0.5

  N  1 
A  ai , j  2 sin  j 
 i 
2

 

0
-0.5
0
2
4
6
8
10
1.5
1
1
Ah  hd  h  A hd
0.5
0
0
0.5
1
1.5
2
2.5
3
3.5
Scelta dei campioni in frequenza

In teoria i campioni possono essere scelti in qualunque
punto del cerchio unitario pur di rispettare alcuni vincoli:

Devono essere in numero uguale ai campioni indipendenti della
risposta impulsiva “h(n)”





Non devono portare ad una matrice singolare





Simmitrico dispari: (N+1)/2
Simmetrico pari: N/2
Antisimmetrico dispari: (N-1)/2 (il campione centrale e’ nullo)
Antisimmetrico pari: N/2
Simmitrico dispari: Nessun vincolo
Simmetrico pari: Nessun campione in π
Antisimmetrico dispari: Nessun campione in 0 o π
Antisimmetrico pari: Nessun campione in 0
Più comunemente essi vengono presi equispaziati sul
cerchio unitario, ma sempre rispettando le regole di cui
sopra
Scelta dei campioni in frequenza

Filtro simmetrico dispari
2
k 
(k   )
N
N -1
k 0 , 1 ,  ,
2
for
Es: N=9 , α=0
1
Nessuna particolare nota
0.8
Imaginary Part
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.5
0
Real Part
0.5
1
Scelta dei campioni in frequenza

Filtro simmetrico pari
2
k 
(k   )
N
N
k 0 , 1 ,  ,
1
2
for
Es: N=8 , α=0
1
Ovviamente non si puo’ prendere
il campione in π
0.8
Imaginary Part
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.5
0
Real Part
0.5
1
Scelta dei campioni in frequenza

Filtro antisimmetrico dispari
2
k 
(k   )
N
N -1
k 1 ,  ,
2
for
Es: N=9 , α=0
1
0.8
0.6
Imaginary Part
Ovviamente non si puo’ prendere
il campione in 0, ma comunque il
numero dei campioni indipendenti
di h(n) sono (N-1)/2
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.5
0
Real Part
0.5
1
Scelta dei campioni in frequenza

Filtro antisimmetrico pari
2
k 
(k   )
N
N
k 1 ,  ,
2
for
Es: N=8 , α=0
1
0.8
0.6
Imaginary Part
Ovviamente non si puo’ prendere
il campione in 0, ma si puo’
ovviare aggiungendo invece il
campione in π
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.5
0
Real Part
0.5
1
Scelta dei campioni in frequenza
Un’altra possibilità per evitare la presenza di campioni
nello 0 (o a π) è quella di scegliere un valore per ‘α’
uguale ad ½ (ovvero si applica una rotazione di ‘π/M’ a
tutti i campioni)
1
1
0.8
0.8
0.6
0.6
0.4
0.4
Imaginary Part
Imaginary Part

0.2
0
-0.2
0.2
0
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
-1
-1
-0.5
0
Real Part
0.5
1
-1
-0.5
0
Real Part
0.5
1
IDFT

Quando i campioni sono scelti equispaziati sul cerchio
unitari si può utilizzare la IDFT per calcolare la ‘h(n)’




si scelgono N campioni equispaziati sul cerchio unitario
si applichi la IDFT
per definizione l’ H(ω) passerà per I punti scelti
NOTA: questo a priori non garantisce la linearità di fase

ci sono vari g.d.l. sfruttabili


Fase dei campioni
Segno dei campioni
1
0.5
0
0
1
2
3
4
5
6
0
1
2
3
4
5
6
1
0.5
0
Equazioni dirette
Sfruttando alcuni vincoli si possono calcolare i campioni
della risposta in frequenza direttamente dai campioni in
frequenza (senza IDFT e senza l’inversa di una matrice)

Vincoli:



Fase lineare → simmetrie su h(n)
h(n) reale → simmetria coniugata su H(ω)
equispaziatura dei campini sul cerchio unitario
Definiamo:
1
0.8
j
H (k   )  H (e )
0.6
2
  ( k  )
N
I campioni in frequenza equispaziati
sul cerchio unitario
(α assume il valore 0 oppure ½)
Imaginary Part

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.5
0
Real Part
0.5
1
Calcolo di h(n) (caso generale)
j
2
( k  ) n
N
 n  0 h( n ) e
j
2
( k  ) n
N
 n  0 h( n ) e
j
2
n
N
H (k   )  n 0 h(n) e
N 1
H ( k   )e
2
km
N
j
N 1
N 1

N 1
k 0
H (k   )e
ma:


N 1
H (k   )e
1
h( m) 
N
2
km
N
e
k 0
N 1
k 0
j

N 1
k 0
j
j
 n0 h(n) e
N 1
2
k ( m n )
N
2
km
N
0

N
 Nh(m)e
H ( k   )e
j
j
2
n
N
if
if
j
e
j
per definizione
e
j
2
km
N
moltiplicando per exp(..)
2
k ( m n )
N

N 1
k 0
e
j
2
k ( m n )
N
mn
mn
2
m
N
2
( k  ) m
N
2
j ( k  ) n
1 N 1
h( n)  k 0 H ( k   )e N
N
sommando su k
Considerazioni
2
j ( k  ) n
1 N 1
h( n)  k 0 H ( k   )e N
N



Quanto trovato ricorda la IDFT (ma con α)
Vale per qualunque h(n) anche privo di simmetrie
Vale per campioni H(k+α) equispaziati
H ( k   )  H ( e j )


2
( k  )
N
Su questi campioni per il momento non si sono fatte
altre ipotesi
Caso 1 (h(n) simmetrica , α=0)


sia h(n) reale, simmetrica ed α=0
H(k) possono essere calcolati sfruttando la simmetria:



H (k )  



N 1
N 3
  N  1
 2k  N  1    jk N
2
 n   e
  2n 0 h( n ) cos

 h
 
 N  2
  2 
if N odd
N 1
N 1

 2k  N  1    jk N
2
 n   e

2n 0 h( n ) cos
 
 N  2

if N even
Ovvero H(k) deve presentare
una certa fase per soddisfare
le ipotesi di partenza
H ( k )  H r ( k )e
 H r ( k )e
H(k) avrà un certo modulo, un
certo segno ed una certa fase
j
2k ( N 1)
2N
j
2kN
2N
 H r ( k ) 1 e
k
 G ( k )e
j
k
N
e
j
j
2k
2N
k
N
Relazione tra G(k) e G(N-k)
essendo h(n) reale vale la seguente relazione:
H (k )  H * ( N  k )
ovvero:
G ( k )e
j
k
N
 ( N k )
j


  G ( N  k )e N 


*
k
j


j
N 

  G ( N  k )e e



 G ( N  k ) e
quindi:
j
*
k
N
G ( k )  G ( N  k )
I campioni simmetrici devono presentare segno opposto
NOTA: inoltre G(N/2)=0 !!!
Calcolo di h(n) (Caso 1)
1
h( n ) 
N
1

N

N 1
k 0
j
H ( k )e
2
kn
N
k
2
j  j kn

k 0 G(k)e N e N


N 1
2k

j
( n  12 )
1 N 1
N
 k 0 G(k)e
N
Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a
2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
e
e
j
e
2k
( n  12 )
N
2k
( n  12 )
N
e
j
j
j
2k
( n  12 )
N
e
2k
( n  12 )
N
e
j
e
j
j
2 ( N  k )
( n  12 )
N

2N
2k
( n  12 )  j
( n  12 )
N
N
e
 (1)e
2k
( n  12 )
N
j
2k
( n  12 )
N



 2k
 2 cos 
(n  12 ) 
 N

Calcolo di h(n) (Caso 1)

Concludendo
1
h( n ) 
N

 2k
1 
G(0)  2 G( k ) cos N ( n  2 ) 



Senza ricorrere all’inversa della matrice o alla IDFT
Caso 2 (h(n) simmetrica , α=1/2)


sia h(n) reale, simmetrica ed α=1/2
H(k) possono essere calcolati sfruttando la simmetria:



H ( k  12 )  



N 1
N 3
  N  1
 2 ( k  12 )  N  1    j ( k  12 ) N
2
 n   e
  2n 0 h( n) cos

h
2
N
2


 

 
if N odd
N 1
N 1

 2 ( k  12 )  N  1    j ( k  12 ) N
2
 n   e

2n 0 h( n) cos
N
 2
 


if N even
Ovvero H(k+1/2) deve
presentare una certa fase per
soddisfare le ipotesi di
partenza
H(k) avrà un certo modulo, un
certo segno ed una certa fase
H ( k  )  H r ( k  )e
1
2
1
2
 H r ( k  )e
1
2
j
2 ( k  12 )( N 1)
j
2 ( k  12 ) N
2N
2N
e
 H r ( k  )(  j ) 1 e
k
1
2
  jG( k  )e
1
2
j
 ( k  12 )
N
j
j
2 ( k  12 )
2N
 ( k  12 )
N
Relazione tra G(k+1/2) e G(N-k-1/2)
essendo h(n) reale vale la seguente relazione:
H ( k  12 )  H * ( N  k  12 )
ovvero:
 jG( k  12 )e
j
 ( k  12 )
N
 ( N k  2 )


j
1
N


  jG( N  k  2 )e




1
*
 (k  2 )
jN


j
1
N
N


  jG( N  k  2 )e e




1
  jG( N  k  12 ) e
quindi:
j
*
 ( k  12 )
N
G(k  12 )  G( N  k  12 )
I campioni simmetrici devono presentare segno concorde
Calcolo di h(n) (Caso 2)
1
h( n ) 
N

N 1
1
H
(
k

2 )e
k 0
j
2
( k  12 ) n
N
 (k  2 )
 j 2 ( k  12 ) n
j
1 N 1
 k 0  jG( k  12 )e N e N
N


1

2 ( k  12 )
( n  12 )
1 N 1
1
N
  j  k  0 G ( k  2 )e
N
Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a
2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
j
e
e
j
e
2 ( k  12 )
N
2 ( k  12 )
N
2 ( k  12 )
e
j
j
N
j
( n  12 )
( n  12 )
2 ( k  12 )
N
e
( n  12 )
j
e
( n  12 )
j
2 ( N  k  12 )
N
( n  12 )

2 ( k  12 )
2N
( n  12 )  j
( n  12 )
N
N
e
 ( 1)e
2 ( k  12 )
N
e
j
( n  12 )
j
2 ( k  12 )
N
( n  12 )



 2 ( k  12 )
 j 2 sin 
( n  12 ) 
N


Calcolo di h(n) (Caso 2)

Concludendo
2
 2
1
1
1 
h( n )   G( k  2 ) sin  ( k  2 )( n  2 ) 
N
N

Senza ricorrere all’inversa della matrice o alla IDFT
Caso 3 (h(n) antisimmetrica , α=0)


sia h(n) reale, antisimmetrica ed α=0
H(k) possono essere calcolati sfruttando la antisimmetria:
N 1
N 3
 jk





2

k
N

1


N
H (k )  2n 2 0 h(n) sin 
 n   je

  
 N  2

Ovvero H(k) deve presentare
una certa fase per soddisfare
le ipotesi di partenza
H(k) avrà un certo modulo, un
certo segno ed una certa fase
H ( k )  jH r ( k )e
 jH r ( k )e




j
2k ( N 1)
2N
j
2kN
2N
 jH r ( k ) 1 e
k
 jG( k )e
j
k
N
e
j
j
2k
2N
k
N
Relazione tra G(k) e G(N-k)
essendo h(n) reale vale la seguente relazione:
H (k )  H * ( N  k )
ovvero:
jG( k )e
j
k
N
 ( N k )
j


  jG( N  k )e N 


*
k
j


j
N 

  jG( N  k )e e



 jG( N  k ) e
quindi:
j
*
k
N
G(k )  G( N  k )
I campioni simmetrici devono presentare segno uguale
NOTA: inoltre G(0)=0 nei filtri antisimmetrici
Calcolo di h(n) (Caso 3)
1
h( n ) 
N
1

N

N 1
k 0
H ( k )e
j
2
kn
N
k
2
j  j kn

k 0  jG(k)e N e N


N 1
2k

j
( n  12 )
1 N 1
N
 k 0 jG(k)e
N
Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a
2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
e
e
j
e
2k
( n  12 )
N
2k
( n  12 )
N
e
j
j
2k
( n  12 )
N
j
e
2k
( n  12 )
N
e
j
e
j
j
2 ( N  k )
( n  12 )
N

2N
2k
( n  12 )  j
( n  12 )
N
N
e
 (1)e
2k
( n  12 )
N
j
2k
( n  12 )
N



 2k
 2 j sin 
(n  12 ) 
 N

Calcolo di h(n) (Caso 3)

Concludendo
 2
 2k
1 

G
(
k
)
sin
(
n

N : odd



2 ) 

 N

 N
h( n )  
 1 ( 1) n 1 G ( N )  2 G ( k ) sin  2k ( n  1 )  N : even


2
2 
 N 
 N

IN quanto il campione in G(N/2) contribuisce una sola volta
nella sommatoria inoltre il campione G(0)=0
Caso 4 (h(n) antisimmetrica , α=1/2)


sia h(n) reale, antisimmetrica ed α=1/2
H(k) possono essere calcolati sfruttando la antisimmetria:
N 1
1
N 3
 j ( k  12 )





2

(
k

)
N

1


2
N
H (k  12 )  2n2 0 h(n) sin 
 n   je

N
 2
 


Ovvero H(k) deve presentare
una certa fase per soddisfare
le ipotesi di partenza
H(k) avrà un certo modulo, un
certo segno ed una certa fase
H ( k  )  jH r ( k  )e
1
2
1
2
 jH r ( k  )e
1
2




j
2 ( k  12 )( N 1)
j
2 ( k  12 ) N
2N
2N
e
 jH r ( k  ) 1 (  j )e
k
1
2
 G ( k  )e
1
2
j
 ( k  12 )
N
j
j
2 ( k  12 )
2N
 ( k  12 )
N
Relazione tra G(k) e G(N-k)
essendo h(n) reale vale la seguente relazione:
H ( k  12 )  H * ( N  k  12 )
ovvero:
G ( k  12 )e
j
 ( k  12 )
N
 ( N k  2 )


j
1
N


 G ( N  k  2 )e




1
*
 (k  2 )
N


j
j
1
N
N


 G ( N  k  2 )e e




1
 G ( N  k  12 )e
quindi:
j
*
 ( k  12 )
N
G(k  12 )  G( N  k  12 )
I campioni simmetrici devono presentare segno opposto
NOTA: inoltre G(N/2)=-G(N/2)=0 nei filtri dispari
Calcolo di h(n) (Caso 4)
1
h( n ) 
N

N 1
k 0
H ( k  )e
1
2
j
2
( k  12 ) n
N
 (k  2 )
 j 2 ( k  12 ) n
j
N 1
1
1
 k  0 G ( k  2 )e N e N
N


1

2 ( k  12 )
( n  12 )
N 1
1
 k  0 G ( k  12 )e N
N
Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a
2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
j
e
e
j
e
2 ( k  12 )
N
2 ( k  12 )
N
2 ( k  12 )
e
j
j
N
j
( n  12 )
2 ( k  12 )
( n  12 )
N
e
( n  12 )
j
e
( n  12 )
j
2 ( N  k  12 )
N
( n  12 )

2 ( k  12 )
2N
( n  12 )  j
( n  12 )
N
N
e
 ( 1)e
2 ( k  12 )
N
e
j
( n  12 )
j
2 ( k  12 )
N
( n  12 )



 2 ( k  12 )
 2 cos 
( n  12 ) 
N


Calcolo di h(n) (Caso 4)

Concludendo
2
 2
1
1 
h( n)   G( k ) cos ( k  2 )( n  2 ) 
N
N

Funzioni finestra







Partendo dalle specifiche richieste si progetta analiticamente un
filtro ideale
detto filtro ideale richiederebbe infiniti campioni.
Si riduce il numero di campioni operando una “finestratura” dei
coefficienti del filtro.
Il prodotto termine a termine di due segnali digitali comporta nel
dominio delle frequenze una convoluzione tra gli spettri.
La risposta in frequenza del filtro così realizzato sarà quindi la
convoluzione delle specifiche ideali con lo spettro della finestra
utilizzata
L’impiego di diversi tipi di finestre comporta prestazioni diverse che
possono migliorare questo o quel particolare del filtro quali:
ripidità del taglio, ampiezza delle oscillazioni.
Funzioni finestra (analisi)

h(n) 
Genericamente:
j
j n
H
(
e
)
e
d

1
2

In un filtro passa-basso(ideale):

h(n) 
1
2
j
j n
H
(
e
)
e
d



...

h( n) 
...
j n
1
2

e 


jn

 
sen( n)
h( n) 
n
Funzioni finestra (Esempio)
Filtro di Remez



Calcolo iterativo dei coefficienti
Ottimizzazione basata sulla tecnica del:
“minimo errore massimo”
Vi è la possibilità di dare un “peso” diverso all’errore
nelle diverse bande.
Filtri di Lagrange


E’ una topologia realizzativa per filtri FIR
E’ legata strettamente al campionamento in frequenza
Interpolazione polinomiale di Lagrange su N punti qualunque del piano z
Am
H ( z )  n 0 (1  z zn )m0
1  z 1zm
N 1
Am 
1
N 1
H ( z)

N 1
n 0
nm
(1  z 1zn )
z  zm
Filtri di Lagrange

Se i punti vengono scelti equidistanti sul cerchio unitario

N 1
n 0
1
(1  z zn )  1  z
N
j 2Nm
H (e
Am 
N
)
Infatti il produttorio realizza in pratica le N radici di 1 mentre Am si puo’ ricavare:
 1  z 1 z

m

Am 
 H ( zm ) lim z  zm  N 1
N 1
1
1
 n 0 (1  z zn ) 
nn0m (1  zm zn )
H ( zm )
1  z 1 zm  H ( zm )
 H ( zm ) lim z  zm 

N 
N
 1 z 
Filtri di Lagrange

Struttura


Un filtro Comb di ordine N realizza N zeri sul cerchio unitario
N risuonatori (uno per ogni frequenza) realizzano una
cancellazione zero-polo
COMB
Ris.1
H1
Ris.2
H2
+
.
.
.
Ris.N
HN
Ogni canale (completo) fa passare una sola frequenza e sopprime le altre;
a quella frequenza si può impostare il guadagno desiderato
Analisi Spettrale
La risposta in frequenza in z1 è
X ( z1 )  n0 x(n) z1
Si rovesci la sequenza (le comp. spettrali
rimangono sostanzialmente le stesse)
Sn ( z1 )  k 0 x(n  k ) z1
N 1
n
N 1
k
S n ( z1 )  x( n )  x( n  1) z 1  x( n  2) z 2    x( n  ( N  1)) z  ( N 1)
S n 1 ( z1 )  x( n  1)  x( n  2) z 1  x( n  3) z 2    x( n  N ) z  ( N 1)
1
N
Sn ( z1 )  x(n)  Sn1( z1 ) z1  x(n  N ) z1
x(n)
Sn(z1)
+
z-n
-z1-n
+
z1-1
z-1
Analisi Spettrale

Se z1 viene scelto opportunamente sul cerchio unitario
z1  e



j
2k
L
La prima parte diventa un filtro COMB
Nel complesso si ottiene un filtro di Lagrange con frequenza
centrale in z1
Nota: L ed N non devono per forza coincidere
0
N=32
0
N=8
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2
-2.5
0
1
2
3
4
5
6
7
-2.5
0
1
2
3
4
5
6
7
Filtri di Savitzky-Golay
Risolvono il problema del filtraggio dal punto di vista del
miglior interpolatore polinomiale (per rimuovere il rumore
preservando il segnale utile di bassa frequenza)
IDEA:

-
-
si prendono N campioni del segnale originale
si calcola il miglior interpolatore polinomiale di ordine prefissato
si sostituisce al campione centrale il corrispondente valore della
funzione polinomiale approssimante 4.5
4
Si puo’ dimostrare che questa
3.5
operazione puo` essere effettuata
3
usando un FIR con opportuni
2.5
2
coefficienti
1.5
1
0.5
0
-3
-2
-1
0
1
2
3
Polinomio interpolante
Il polinomio interpolante sia:
y  ao  a1 x  a2 x 2  
Si vogliono calcolare i coeff. ai tali che:
7
yo  ao  a1 xo  a2 xo  
6
y1  ao  a1 x1  a2 x1  
4
2
2
y2  ao  a1 x2  a2 x2  
2

Ovvero
5
3
2
1
0
-1
-5
y  X a
0
5
Polinomio interpolante
Se la matrice X fosse invertibile (ovvero l’ordine del polinomio fosse uguale a N-1:
a  X 1  y
Ovvero la soluzione fornisce un polinomio
che passa esattamente per tutti i punti
7
6
5
Nel caso in esame, viceversa vi sono piu’
equazioni che incognite e pertanto la
matrice risulta rettangolare ed il problema
va risolto nei termini dei minimi quadrati.
4
3
2
1
Si puo’ dimostrare che la soluzione richiede
nell’uso della “pseudoinversa”
0
-1
-5
1
a  pinv ( X )  y  ( X X ) X y
T
T
0
5
Filtri di Savitzky-Golay
Nel caso di campioni equispaziati e centrati nello 0
x  [ 2  1 0  1  2]
La matrice X risulta
1

1
1

1
1

x0
x1
x2
x3
x4
0
2
x0   2
  0
2
x1    1
0
2
x2    0
  0
2
x3   1
0
2
x4   2
 21  2 2 

 11  12 
01
0 2 

11
12 
2
2

Pertanto i valori dell’equazione :
1
a  pinv ( X )  y  ( X X ) X y
T
T
Possono essere ricavati usando dei filtri FIR sul segnale y, si noti inoltre che
l’interesse e’ centrato su ricavare a0Ovvero i coefficienti del FIR sono i valori
della prima riga della pseudoinversa di X
Filtri di Savitzky-Golay
2
1.5
Filtro FIR a N=11
campioni tutti uguali
1
0.5
0
-0.5
-1
0
0.2
0.4
0.6
0.8
1
Filtri di Savitzky-Golay
2
1.5
Filtro FIR a N=11
finestra di Hanning
1
0.5
0
-0.5
-1
0
0.2
0.4
0.6
0.8
1
Filtri di Savitzky-Golay
2
1.5
Filtro FIR SG
N=11, ord=5
1
0.5
0
-0.5
-1
0
0.2
0.4
0.6
0.8
1
Scarica

Filtri Digitali FIR