Przetwarzanie sygnałów dyskretnych
System dyskretny p[ n ] r[ n] Przykłady: [ ] = [ ] + [ ] r n a p n a p n [ ] r n = 2 [ + ] + p[ n ] p n 2 r[ n] = a p[ n] + b n [ ] = [ ] r n a p n n [ ] = [ + ] r n a p n { } [ ] = T p[ n] r n [ ] r[ n] p n
p[ n ] r[ n] Liniowość [ ] r [ n] [ ] [ ] p n p n r n 2 2 { } [ ] = T p[ n] r n [ ] r[ n] p n [ ] = [ ] + [ ] [ ] p n a p n a p n r n 2 2 System nazywamy liniowym, jeżeli [ ] = [ ] + [ ] r n a r n a r n 2 2 dla dowolnych wartości a i a 2
p[ n ] r[ n] { } [ ] = T p[ n] r n [ ] r[ n] p n Niezmienność w czasie (stacjonarność) [ ] r [ n] [ ] [ ] p n p n r n 2 2 Układ nazywamy niezmiennym w czasie, jeżeli z warunku wynika dla dowolnego n [ ] = [ ] p n p n n 2 [ ] = [ ] r n r n n 2 Systemy liniowe i niezmienne w czasie oznaczać będziemy systemami LTI (Linear Time Invariant) Spotyka się również oznaczenie systemy LS (Liniowe Stacjonarne)
p[ n ] r[ n] Przyczynowość [ ] r [ n] [ ] [ ] p n p n r n 2 2 { } [ ] = T p[ n] r n [ ] r[ n] p n System nazywamy przyczynowym, jeżeli z warunku wynika [ ] [ ] dla dowolnej wartości n. p n = p n dla n < n 2 [ ] [ ] r n = r n dla n < n 2
W przypadku systemu LTI definicja przybiera znacznie prostszą postać. Ponieważ z warunku liniowości wynika to [ ] r [ n] [ ] [ ] p n p n = p n p2 n r n = r n r2 n p2 n r2 n [ ] [ ] dla [ ] [ ] [ ] dla [ ] [ ] [ ] [ ] [ ] [ ] [ ] p n = p n n < n p n = dla n < n 2 r n = r n n < n r n = dla n < n 2 Warunek niezmienności w czasie pozwala z kolei na przyjęcie za n dowolnej ustalonej wartości, np. n =. Wówczas definicję przyczynowości można sformułować w prostej postaci: System LTI nazywamy przyczynowym, gdy [ ] [ ] p n = dla n < r n = dla n <
Uwaga: Pojęcie przyczynowości ma sens jedynie wtedy gdy indeks n jest numerem próbki na osi czasu, czyli gdy argumentem sygnału jest dyskretny czas. Wówczas warunek przyczynowości jest warunkiem fizycznej realizowalności systemu. W przypadku innej interpretacji argumentu n, (np. numer piksela na nieruchomym obrazie) pojęcie przyczynowości nie ma sensu. Przykłady: [ ] [ ] [ ] r n = a p n + a p n liniowy, niezmienny w czasie, przyczynowy [ ] r n 2 [ + ] + p[ n ] p n = liniowy, niezmienny w czasie, nieprzyczynowy 2 r[ n] = a p[ n] + b nieliniowy, niezmienny w czasie, przyczynowy n [ ] [ ] r n = a p n liniowy, zależny od czasu, przyczynowy n [ ] [ ] r n = a p n + nieliniowy, zależny od czasu, nieprzyczynowy
p[ n ] r[ n] { } [ ] = T p[ n] r n [ ] r[ n] p n BIBO stabilność System nazywa się stabilnym w sensie BIBO (Bounded Input, Bounded Output) gdy reakcja na dowolne ograniczone pobudzenie jest ograniczona, czyli [ ] [ ] p n M < r n M < 2
p[ n ] r[ n] [ ] = δ[ n] p n { } [ ] =T p[ n] r n delta Kroneckera [ ] δ[ n] h n { } = T charakterystyka impulsowa (reakcja impulsowa) p[ n] [ ] δ[ ] p k n k 2 k n [ ] = [ ] δ[ ] = p[ n] δ[ n] p n p k n k k =
[ ] h[ n] δ n δ[ n k] h[ n k] [ ] δ[ ] [ ] [ ] p k n k p k h n k k = [ ] δ[ ] [ ] [ ] p k n k p k h n k k = p[ n ] r [ n] [ ] = [ ] [ ] = [ ] [ ] = [ ] [ ] r n p k h n k p n k h k h n p n k= k= r[ n] = h[ n] p[ n]
Układ musi być przyczynowy (fizyczna realizowalność!), więc h[ n] dla n < Wówczas n [ ] = [ ] [ ] = [ ] [ ] = [ ] [ ] r n p n h n p k h n k p n k h k k= k= Jeżeli dodatkowo przyjmiemy, że p n n < (pobudzenie przyczynowe), to n [ ] dla [ ] = [ ] [ ] = [ ] [ ] = [ ] [ ] r n p n h n p k h n k p n k h k k= k = n n = 8 h[ k] -4-3 -2-2 3 4 5 6 7 8 9 2 p [ 8 k] k -4-3 -2-2 3 4 5 6 7 8 9 2 k
BIBO stabilność Załóżmy, że p[ n] M <, n Z [ ] = [ ] [ ] p[ n k] h[ k] M h[ k] r n p n k h k k= Jeżeli h k K < to k= [ ] r[ n] MK M 2 k= = < Bezwzględna sumowalność charakterystyki impulsowej jest warunkiem dostatecznym BIBO stabilności systemu. Dowodzi się, że jest to również warunek konieczny. Twierdzenie System dyskretny, o charakterystyce impulsowej h[ n], jest stabilny w sensie BIBO wtedy i tylko wtedy gdy k= k= [ ] h k K <
p[ n ] r[ n] r[ n] = h[ n] p[ n] Z{ r[ n] } = Z { h[ n] p[ n] } Z h[ n] { [ ]} ( ) [ ] { } Z{ p[ n] } = { } ( ) { [ ]} ( ) Z r n = R z, Z p n = P z, Z h n = H z ( ) = H ( z) P( z) R z H ( z ) operatorowa transmitancja układu (systemu) Niekiedy definiuje się transmitancję jako ( ) H z = ( ) ( ) R z P z
[ ] =Z H ( z) h n { } Płaszczyzna z [ ] = n [ ], > h n a n a z > a 3 h[ n] a < a biegun 2 2 3 4 5 6 7 8 9 2 n Obszar zbieżności z a biegun > a 3 2 h[ n] a > 2 3 4 5 6 7 8 9 2 n
Płaszczyzna z n [ ] = sin [ ] h n a Ω n n a z > a Ω [ 2.5 2.5.5 h n] a < n -.5 bieguny Ω - -.5-2 5 5 2 25 3 a z > a Ω 2.5 [ 2.5 h n] a >.5 n -.5 bieguny Ω - -.5-2 5 5 2 25 3
Własności funkcji transmitancji H ( z) dyskretnych systemów LTI Funkcja wymierna zmiennej zespolonej z L( z) ( ) = ( ), ( ) M ( z) H z Jeżeli L( z) L z M z wielomiany zmiennej z { } > { M ( z) } stopień stopień, to ( ) ( ) L z p k H ( z) = ak z +, stopień L z stopień M z k= M z p [ ] = δ[ + ] + [ ] h n a n k h n k= k składniki nieprzyczynowe ( wyprzedzające pobudzenie) { ( )} ( ) { } Warunkiem przyczynowości (fizycznej realizowalności) systemu jest stopień{ L( z) } stopień{ M ( z) }
Twierdzenie System dyskretny LTI, opisany funkcją transmitancji H z jest stabilny w sensie BIBO wtedy i tylko wtedy gdy funkcja H z jest holomorficzna w obszarze z Warunek ten oznacza, że wszystkie bieguny funkcji H z muszą leżeć we wnętrzu koła o promieniu na płaszczyźnie z Jeżeli ( ) ( ) ( ) L z H ( z) =, stopień{ L( z) } stopień { M ( z) }, M z to biegunami funkcji H ( z ) są pierwiastki wielomianu mianownika M ( z) Wniosek: Układ jest BIBO stabilny wtedy i tylko wtedy gdy wszystkie pierwiastki wielomianu M ( z) mają moduły mniejsze od (czyli na płaszczyźnie z leżą we wnętrzu koła o promieniu ) ( ) ( )
Charakterystyki widmowe systemów LTI p[ n ] r[ n] r[ n] = h[ n] p[ n] ( ) = H ( z) P( z) R z [ ] 2, F p[ n] Założymy, że p n l co gwarantuje istnienie transformaty [ ] { } Z założenia BIBO stabilności h k <, więc obszar zbieżności transformaty { } ( ) h[ n] H z k= =Z zawiera okrąg o promieniu na płaszczyźnie z. Wówczas F [ ] jω { h n } = H ( z) = H j ( e Ω ) z= e ( ) ( ) ( ) e jω z= ( j Ω e ) ( e j Ω ) ( e j Ω = = ) R z H z P z R H P
H j ( e Ω ) ( j ) ( j ) ( j e Ω = e Ω e Ω ) R H P j P( e Ω j ) R( e Ω ) j H ( e Ω ) charakterystyka widmowa systemu Funkcja okresowa zmiennej rzeczywistej Ω (pulsacja unormowana), o okresie 2π Dla pulsacji nieunormowanych ( Ω = ωt ) H H A j ( e ωt ) funkcja okresowa zmiennej ω, o okresie jω jω j ( ) ( e ) = A( e ) e θ Ω jω jω ( e ) H ( e ) ( ) arg H ( e jω ) θ Ω = charakterystyka amplitudowa = charakterystyka fazowa ω T 2π = T
Filtr cyfrowy system zaprojektowany w celu odpowiedniej modyfikacji widma pobudzenia, czyli o zadanej charakterystyce amplitudowej i/lub fazowej jω jω jω ( e ) = ( e ) ( e ) jω jω R( ) = θ ( Ω) + P ( ) R A P arg e arg e Parametry filtru (gabaryty) określa się podobnie jak w przypadku filtrów analogowych, ale ωt ωt π Ω π lub ω 2 2 Ze względu na sposób projektowania i realizacji filtry cyfrowe zwykle dzieli się na: filtry o nieskończonej reakcji impulsowej, nazywane również rekursywnymi filtry IIR Infinite Impulse Response (spotyka się również oznaczenie NOI Nieskończona Odpowiedź Impulsowa) filtry o skończonej reakcji impulsowej, nazywane również nierekursywnymi filtry FIR Finite Impulse Response (czasem oznaczane SOI Skończona Odpowiedź Impulsowa)
Projektowanie filtru sprowadza się do wyznaczenia transmitancji H ( z), takiej, ( ) ( ) jω jω aby charakterystyka amplitudowa A e = H e spełniała, według określonego kryterium, zadane parametry filtru. Projektowanie filtrów o nieskończonej reakcji impulsowej (IIR) Projektowanie na ogół odbywa się w ten sposób, że projektuje się prototyp analogowy o transmitancji Ha ( s), którą następnie transformuje się w transmitancję filtru cyfrowego H ( z). Transformacja taka powinna: jω jω zapewniać pożądany przebieg charakterystyki amplitudowej A( e ) = H ( e ) lewą półpłaszczyznę zmiennej s przekształcać na wnętrze koła o promieniu na płaszczyźnie z, czyli zachować stabilność filtra
Metoda zachowania charakterystyki impulsowej Postępujemy według następującego algorytmu: na podstawie zadanych gabarytów projektujemy filtr analogowy, czyli H s wyznaczamy transmitancję ( ) wyznaczamy charakterystykę impulsową prototypu analogowego a ( ) =L ( ) h t H s utożsamiamy wyznaczony ciąg próbek z ciągiem h [n], będącym charakterystyką impulsową filtru cyfrowego, czyli przyjmujemy [ ] = h ( nt ) h n { } a a próbkujemy wyznaczoną charakterystykę impulsową, czyli obliczamy wartości próbek h a (t) w punktach t = nt (T jest okresem próbkowania) wyznaczamy transmitancję filtru cyfrowego ( ) =Z{ h[ n] } H z a
( ) L ( ) { } ( ) Z{ [ ]} H s = h t H z = h n a a, j ωt # ( ) F { ( )} a ( T ) H e = h t = H j k, 2π T T ω ω ω = T k= Jeżeli ( ω) Ha j dla > ω T ω 2 jωt ωt ωt H ( e ) Ha( j ω), ω T 2 2 Aby uniknąć przeskalowania przez zwykle przyjmuje się T { } [ ] = ( ) ( ) = Z [ ] h n T ha nt czyli H z T h n Wówczas ω ω ω H jω dla ω > H e H j ω, ω a jωt ( ) ( ) ( ) T T T 2 a 2 2
( ) W rzeczywistości warunek H może być spełniony tylko a j dla > ω T ω ω w przybliżeniu (warunek realizowalności!) 2 j Ha( jω ) H ( e ωt ) ωt Zjawisko aliasingu powoduje pogorszenie własności tłumieniowych filtru w paśmie zaporowym. Gabaryty filtru prototypowego są takie same jak filtru cyfrowego, ale należy przewidzieć pewien zapas tłumienia w paśmie zaporowym. Funkcja transmitancji prototypu analogowego musi mieć co najmniej jednokrotne zero w nieskończoności, czyli a( s) lim H = s Metoda ta, bez istotnych modyfikacji, nie nadaje się do projektowania filtrów górnoprzepustowych i pasmowozaporowych.
z = e st ( ) = a( j st ωt ) H z H s k z= e T k= Płaszczyzna s Płaszczyzna z ω T ω T 2 r = ω T 2 ω T Zachowana jest stabilność filtru
L( s) a ( ) musi zachodzić stopień{ ( )} stopień{ ( )} M ( s) H s = L s < M s = N N ck Ha( s) =, Re{ sk} < s s k= N = k= s a( ) e ( ) k t k h t c t k s [ ] ( ) e [ ] k nt = = h n T h nt T c n Z a N k= sknt sknt n skt { e [ n] } e z ( e z ) n= n= k n = = = k e s T z N k ( ) = s T H z k= Tc e k z
Metoda przekształcenia biliniowego s = 2 T + z z ( ) ( ) H z = H s a 2 z s= T + z r = Lewa półpłaszczyzna s jest transformowana we wnętrze koła jednostkowego na płaszczyźnie z zachowana jest stabilność filtru Cała oś urojona płaszczyzny s jest transformowana na okrąg jednostkowy na płaszczyźnie z nie wystąpi aliasing
s = jɶ ω z = jω e T ɶω ω pulsacja analogowa, pulsacja cyfrowa, e ωt ωt j j 2 2 e jωt 2 e 2 2j 2 jɶ ω = = j = j tg jωt ωt ωt T + e T j j T 2 2 2 e + e 2 ωt ɶ ω = 2 ωt tg T 2 Związek między pulsacją analogową i cyfrową jest nieliniowy Gabaryty prototypu analogowego i docelowego filtru cyfrowego będą różne!
ωɶ ɶ ω = 2 ωt tg 2 T ωɶ s ωɶ p H ( ωɶ ) ( jωɶ j ) a H H D ( e j ω )) T ω Rys. 2. ω p ω s ω 2 T ω
Algorytm projektowania: (na przykładzie filtru dolnoprzepustowego) Zadane wymagane gabaryty filtru: ω, ω oraz A, A i okres próbkowania T p s p s Obliczamy gabaryty prototypowego filtru analogowego ɶ ω p 2 ω T 2 ωst ɶ ω tg T 2 T 2 p = tg s = (A p i A s nie ulegają zmianie) Projektujemy filtr analogowy o wyznaczonych gabarytach, czyli obliczamy Ha( s) (sposób aproksymacji może być narzucony, bądź należy go wybrać na tym etapie) Wyznaczamy transmitancję filtru cyfrowego ( ) = ( ) H z H s a 2 z s = T + z Analogicznie postępuje się przy projektowaniu filtrów górnoprzepustowych, pasmowoprzepustowych i pasmowozaporowych (należy zaprojektować odpowiedni prototyp analogowy)
H i e Projektowanie filtrów o skończonej reakcji impulsowej (FIR) jω ( ) charakterystyka amplitudowa idealnego filtru dolnoprzepustowego H ( e j Ω ) 2π π Ω p Ω p Jest to okresowa funkcja Ω, o okresie 2π. jω ( e ) = F { [ ]} = [ ] H h n h k π j [ ] = H ( e ) h k π k= j d Ω Ω kω e 2π e jkω π 2π Ω
Niech [ ] h k p H i jω ( e ) dla Ω Ωp = dla Ωp < Ω π Zakładamy więc, że charakterystyka fazowa jest zerowa [ ] h = Ωp k jkω dω = e ( jkω ) p jkω sin kω p p = e e = Ω Ω π p 2π 2πjk jω ( ) = F { [ ]} = [ ] Hi e h k h k e Przyjmiemy k = jωk πk k Z układ nie jest przyczynowy! H K jω ( e ) h [ k] = k = K e jωk dalej nie jest przyczynowy Podstawmy k = n K 2K 2K jω jω( n K ) jω K jω n ( e ) = [ ] e = e [ ] e h[ n] = h [ n K ] H h n K h n n= n=
2K ( ) [ ] H e = e h n e jω jω K jω n n= ( j ) j 2K Ω Ω K e e [ ] e j Ω n ( e j Ω = = ) H h n H n= H i jω ( e ) jω K e dla Ω Ωp = dla Ωp < Ω π Zwykle oznacza się N = 2K +, czyli K = H N = ( jω e ) h[ n] n= e jω n H N 2 i jω jω ( e ) = Hi ( e ) N sin n Ω ( ) 2 h[ n] = h [ n K ] = =, n π( n K ) N 2 π n 2 N Ωp h = 2 π p sin n K Ωp N
i ( e jω ) H jest rzeczywistą funkcją parzystą, więc h [ k] = h [ k] W konsekwencji [ ] = [ ] h n h N n Jest to warunek konieczny i dostateczny liniowości charakterystyki fazowej Ω ( ) arg ( e ) j N θ Ω = H = KΩ = Ω 2 Funkcja transmitancji H(z) jest wielomianem względem z H z Charakterystyka amplitudowa N ( ) [ ] = n= h n z N jω ( e ) = [ ] H h n e n= n jnω
Ω p = π 3 N = 2 N = 4
H N jω jω n j ( e ) = h[ n] e = h[ n] w[ n] n= n= e Ω n [ ] w n dla n N = dla n < i n > N funkcja okna prostokątnego W ΩN sin e e e 2 e sin 2 N jωn N jω j jωn 2 = = = = jω n e Ω = Ω ( ) F { w[ n] } π jω jλ ( ) ( ) { [ ] [ ]} ( ) ( j Ω λ H e = F h n w n = H ) i e W e dλ 2πj π
j H i ( e λ ) W ( ) ( e j Ω λ ) Ω =,4Ω p Ω = Ω p Ω =,25Ω p λ π Ω p Ωp π ( j i e Ω j H ) H ( e Ω ) Ω π Ω p Ω p π
Okno Hanninga (Hanna) w[ n] 2πn w[ n] = cos, n N 2 N N n Okno Hamminga w[ n] 2πn w[ n] =,54, 46cos, n N N Okno Blackmana [ ] w n 2πn 4πn =, 42,5cos +,8cos, N N n N N w[ n] N n n
N ( K ) p = 4 = 2 Ω = π 3 db Okno Okno Hanninga Hanna π θ Ω gp Ωθ gp π db Okno Hamminga db Okno Okno Blackmana π θ g Ω p Ωθ gp π π θ g Ω p Ωθ gp π
Parametryczne okno Kaisera 2 2n I β N w[ n] =, n N I ( β) I ( i) funkcja Bessela I rodzaju, zerowego rzędu w[ n] β = 2 4 N 8 n
N ( K ) = 4 = 2 db ( α ) As = 4dB β = 3,5953 Ω = p π 3 π Ω p θ g Ω θg p π db ( β α ) As = 6dB = 5,6533 db ( β α ) As = 8dB = 7,8573 π Ω p θ g Ω θg p π π Ω θg p Ωθ g p π
k 2 ( ) Realizacje filtrów FIR N N = k = + + 2 + N k = H z a z a a z a z a z N k R( z) = H ( z) P( z) = ak z P( z) = k= 2 N ( ) ( ) ( ) ( ) = a P z + a z P z + a z P z + a z P z 2 [ ] = [ ] + [ ] + [ ] + + [ ] r n a p n a p n a2 p n 2 an p n N Element opóźniający N X ( z ) z z X ( z) x[ n ] z x[ n ] z transmitancja z operator opóźnienia
p[ n] a Σ r[ n] z a z a 2 an z a N
m k= Realizacje filtrów IIR k bk z L( z) k= H ( z) = =, m n n M ( z) k a z k k bk z R z H z P z P z n k a z k= ( ) = ( ) ( ) = ( ) n ( ) k k = ( ) + ( ) R z b z P z a z R z k k= k= n n [ ] = [ ] + [ ] r n b p n k a r n k k k= k= n m k= k k k
p n x[ n ] r [ n] [ ] P( z) z Realizacja bezpośrednia I rodzaju b X ( z) z R ( z) b a z z b 2 a 2 z z b n a n H ( z ) H ( z) D D2
Realizacja bezpośrednia II rodzaju p[n] P(z) Σ b Σ r[n] R(z) z a b z a 2 b 2 z a n b n Rys. 4.
Realizacja kaskadowa ( ) H z n 2 2 βk + βkz + βk 2z A, n parzyste, 2 k ( αkz + αk 2z ) = ( n ) 2 2 β + βz βk + βkz + βk 2z A, n nieparzyste. 2 αz k ( αkz + αk 2z ) [ ] ( ) p n P z A H ( z ) H ( z ) H ( z ) 2 l [ ] ( ) r n R z Rys. 5.
Realizacja równoległa ( ) H z n 2 γ k + γ kz C + 2 k = k + k 2, n parzyste, ( α z α z ) = ( n ) 2 γ γ k + γ kz C + +, n nieparzyste. 2 αz k= ( αkz + αk 2z ) C [ ] ( ) p n P z H D H D 2 ( z) ( z ) Σ [ ] ( ) r n R z H Dl ( z ) Rys. 7.