Euler Veen

Transkrypt

Euler Veen
Systemy i sygnały dyskretne w czasie
Podstawowe definicje:
Sygnały dyskretne w czasie reprezentowane są przez ciągi liczb, oznacza się
przez {x[n]}
Elementy tych ciągów nazywa się próbkami, wartości próbek sygnałów oznacza
się jako x[n] dla n całkowitych w zakresie −∞ < n < ∞
Przykładowy zapis sygnału dyskretnego:
−1.2,K}
{x ⎡⎣n⎤⎦} = {K,1.1, −0.2,2.1,3.0,
↑
lub
K x ⎡⎣ −1⎤⎦ = −0.2, x ⎡⎣0⎤⎦ = 2.1, x ⎡⎣1⎤⎦ = 3.0 K
Graficzna reprezentacja sygnału dyskretnego w czasie:
MATLAB
clear;
n=-8:1:27;
x=0.2+sin(0.13*n);
plot(n,x);
grid
1.5
1
0.5
n
0
T
-0.5
x[-3]=xa(-3T)
-1
-10
-5
0
5
10
15
20
25
30
Sygnał dyskretny najczęściej otrzymuje się w wyniku próbkowania w równych
odstępach czasu sygnału ciągłego w czasie (analogowego).
Wtedy n-tą próbkę opisuje zależność:
x ⎡⎣ n ⎤⎦ = xa ( t ) t =nT = xa ( nTp ) , n = K, −2, −1,0,1,2,K
p
Odległość między kolejnymi próbkami Tp (T) to - przedział próbkowania lub
okres próbkowania.
Odwrotność okresu próbkowania nosi nazwę częstotliwości próbkowania i
oznacza się fp
fp =
1
Tp
Systemy dyskretne
W systemie dyskretnym, przetwarzanie obejmuje operacje arytmetyczne
przeprowadzane na sygnale wejściowym x[n], w wyniku, których na wyjściu
systemu otrzymuje się sygnał wyjściowy y[n] w postaci ciągu liczb.
W większości przypadków systemy czasu dyskretnego są systemami o jednym
wejściu i jednym wyjściu.
x[n]
y[n]
Sygnał
wejściowy
System dyskretny
Sygnał
wyjściowy
Systemy dyskretne można opisywać, podobnie jak układy analogowe, w
konwencji wejście-wyjście, przy czym do opisu stosuje się w tym przypadku
równanie różnicowe, stanowiące algebraiczną zależność między ciągiem
wejściowym i wyjściowym.
Klasyfikacja systemów dyskretnych w czasie
Systemy można klasyfikować ze względu następujących własności:
‰
‰
‰
‰
‰
Liniowość
Stacjonarność
Przyczynowość
Stabilność
Pasywność
System dyskretny liniowy:
Definicja: Jeżeli y1 [ n ] jest sygnałem wyjściowym systemu zależnym od sygnału
wejściowego x1 [ n ] oraz y2 [ n ] jest sygnałem wyjściowym dla sygnału
wejściowego x2 [ n ] to dla sygnału wejściowego:
x [ n ] = α x1 [ n ] + β x2 [ n ]
na wyjściu systemu otrzymamy
y [ n ] = α y1 [ n ] + β y2 [ n ]
Zależność powyższa zachodzi dla dowolnie wybranych stałych α , β oraz
dowolnych sygnałów wejściowych x1 [ n ] , x2 [ n ] .
Przykład systemu liniowego:
y [ n] = −
x [ n]
2
x1 [ n ] = sin(ω nTp ) o częstotliwości f=1Hz próbkowany z fp=20Hz
x2 [ n ] = sin(3ω nTp ) o częstotliwości f=3Hz próbkowany z fp=20Hz
Superpozycja sygnałów wejściowych
x [ n ] = x1 [ n ] + x2 [ n ] = sin(ω nTp ) + sin(3ω nTp )
Na wyjściu systemu dla kolejnych sygnałów wejściowych otrzymamy:
y1 [ n ] = − 12 sin(ω nTp )
y2 [ n ] = − 12 sin(3ω nTp )
y [ n ] = y1 [ n ] + y2 [ n ] = − 12 sin(ω nTp ) − 12 sin(3ω nTp )
oraz inaczej
y0 [ n ] = − 12 ( x1 [ n ] + x2 [ n ]) = − 12 ( sin(ω nTp ) + sin(3ω nTp ) )
Dla sygnału liniowego zachodzi równość:
y [ n ] = y0 [ n ]
MATLAB
clear;
fp=20; T=1/fp; f=1;
omega=2*pi*f;
t=0:T:1-T;
x1=sin(omega*t); figure(1); stem(t,x1);
grid
y1=-x1/2; figure(2); stem(t,y1); grid
x2=sin(3*omega*t); figure(3); stem(t,x2);
grid
y2=-x2/2; figure(4); stem(t,y2); grid
x=x1+x2; figure(5); stem(t,x); grid
y=y1+y2; figure(6); stem(t,y); grid
yy=-x/2; figure(7); stem(t,yy,'-r'); grid
x1[n]
1
0.5
0.8
0.4
0.6
0.3
0.4
0.2
0.2
0.1
0
system
-0.2
0
-0.1
-0.4
-0.2
-0.6
-0.3
-0.8
-1
-0.4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-0.5
1
x2[n]
1
0.4
0.6
0.3
0.4
0.2
system
0.2
0
-0.4
-0.2
-0.6
-0.3
-0.8
-0.4
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-0.5
1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
-0.1
0.1
0.1
y2[n]
0.1
-0.2
0
0
0.5
0.8
-1
y1[n]
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
y1[n]+y2[n]
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
x[n]=x1[n]+x2[n]
y[n]
2
0.8
1.5
0.6
1
0.4
0.5
0.2
0
system
-0.5
0
-0.2
-1
-0.4
-1.5
-0.6
-2
0
0.1
0.2
0.3
0.4
0.5
0.6
0
0.7
0.8
0.9
1
-0.8
0
0.1
0.2
Przykład systemu nieliniowego:
y [ n ] = ( x [ n ])
2
x1 [ n ] = sin(ω nTp ) o częstotliwości f=1Hz próbkowany z fp=20Hz
x2 [ n ] = sin(3ω nTp ) o częstotliwości f=3Hz próbkowany z fp=20Hz
Superpozycja sygnałów wejściowych
x [ n ] = x1 [ n ] + x2 [ n ] = sin(ω nTp ) + sin(3ω nTp )
Na wyjściu systemu otrzymamy:
1
y1 [ n ] = ⎡⎣1 − cos(2ω nTp ) ⎤⎦
2
1
y2 [ n ] = ⎡⎣1 − cos(6ω nTp ) ⎤⎦
2
Sygnał jako suma sygnałów wyjściowych
y [ n ] = 1 − 12 cos(2ω nTp ) − 12 cos(6ω nTp )
oraz jako sygnał wyjściowy sumy sygnałów wejściowych
y0 [ n ] = 1 + 12 cos(2ω nTp ) − cos(4ω nTp ) − 12 cos(6ω nTp )
Nierówność
wskazuje na nieliniowość systemu
y [ n ] ≠ y0 [ n ]
MATLAB
clear;
fp=20; T=1/fp; f=1;
omega=2*pi*f;
t=0:T:1-T;
x1=sin(omega*t); figure(1); stem(t,x1); grid
y1=x1.^2; figure(2); stem(t,y1); grid
x2=sin(3*omega*t); figure(3); stem(t,x2); grid
y2=x2.^2; figure(4); stem(t,y2); grid
x=x1+x2; figure(5); stem(t,x); grid
y=y1+y2; figure(6); stem(t,y); grid
yy=x.^2; figure(7); stem(t,yy,'-r'); grid
x1[n]
y1[n]
1
1
0.9
0.8
0.8
0.6
0.7
0.4
0.6
0.2
0
system
-0.2
0.4
0.3
-0.4
0.2
-0.6
0.1
-0.8
-1
0.5
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x2[n]
1
0.9
0.6
0.8
0.4
0.7
system
0.2
0
0.4
0.3
-0.6
0.2
-0.8
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.5
-0.4
0.1
0.2
0.6
-0.2
0
0.1
1
0.8
-1
0
y2[n]
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
y1[n]+y2[n]
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
x[n]=x1[n]+x2[n]
y[n]
2
2.5
1.5
2
1
0.5
1.5
0
system
-0.5
1
-1
0.5
-1.5
-2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0
System stacjonarny
W systemie stacjonarnym przesunięcie w czasie w ciągu wejściowym powoduje
równoważne przesunięcie w ciągu wyjściowym
Jeżeli na wymuszenie x odpowiedź wynosi y
system
x [ n ] ⎯⎯⎯
→ y [ n]
to na wymuszenie x przesunięte w czasie o k próbek układ odpowie sygnałem y
tak samo przesuniętym
system
x [ n − k ] ⎯⎯⎯
→ y [n − k ]
Przykład systemu stacjonarnego
y [ n] = −
x [ n]
2
system
x2 [ n ] = x [ n + 4] ⎯⎯⎯
→ y2 [ n ] = y [ n + 4 ]
MATLAB
clear;
fp=20; T=1/fp; f=1;
omega=2*pi*f;
t=0:T:1-T;
x1=sin(omega*t); figure(1); stem(x1); grid
y1=-x1/2; figure(2); stem(y1); grid
x2=x1(5:20);figure(3); stem(x2); grid
y2=-x2/2; figure(4); stem(y2); grid
x1[n]
y1[n]
1
0.5
0.8
0.4
0.6
0.3
0.4
0.2
0.2
0.1
0
system
-0.2
0
-0.1
-0.4
-0.2
-0.6
-0.3
-0.8
-1
-0.4
0
2
4
6
8
10
12
14
16
18
20
-0.5
x2[n]
0
y2[n]
1
2
4
6
8
10
12
14
16
18
20
0.5
0.8
0.4
0.6
0.3
0.4
0.2
0.2
system
0
-0.2
0
-0.1
-0.4
-0.2
-0.6
-0.3
-0.8
-1
0.1
0
2
4
6
8
10
12
14
16
-0.4
-0.5
0
2
4
6
8
10
12
14
16
Analiza systemów LTI w dziedzinie czasu
System spełniający obie własności – liniowości i stacjonarności nazywa się
systemem liniowym - stacjonarnym (SLS, en. LTI)
Systemy dyskretne SLS są matematycznie łatwe do opisania i analizowania, a
także w konsekwencji łatwe w projektowaniu.
W przypadku układu liniowego-stacjonarnego zależność pomiędzy sygnałem
wejściowym x[n] i wyjściowym y[n] ma postać równania różnicowegoliniowego o stałych współczynnikach, które można zapisywać w ogólnej postaci
jako:
a0 y ⎡⎣ n ⎤⎦ + a1 y ⎡⎣ n − 1⎤⎦ + K + aN −1 y ⎡⎣ n − ( N − 1)⎤⎦ + aN yn− N =
= b0 x ⎡⎣ n ⎤⎦ + b1 x ⎡⎣ n − 1⎤⎦ + K + bM x ⎡⎣ n − M ⎤⎦
Analiza równania różnicowego jest przeprowadzana zarówno w dziedzinie
czasu, jak i częstotliwości.
Analiza czasowa może być dokonywana bezpośrednio na podstawie równania.
Przykład:
System dyskretny opisany jest równaniem różnicowym, należy rozwiązać
równanie, obliczyć przebieg wyjściowy przy zadanym warunku początkowym.
y [ n + 1] − 0.9 y [ n ] = 1,
y [ 0] = 1
Rozwiązanie przez bezpośrednie podstawienie:
Dla kolejnych wartości n:
y [1] = 1 + 0.9
y [ 2] = 1 + (1 + 0.9 ) ⋅ 0.9 = 1 + 0.9. + 0.92
y [3] = 1 + (1 + 0.9 + 0.92 ) ⋅ 0.9 = 1 + 0.9 + 0.92 + 0.93
Stąd ogólnie:
y [ k ] = 1 + 0.9 + 0.92 + 0.93 + L + 0.9k
Korzystając z zależności na sumę cząstkową ciągu geometrycznego:
1 − 0.9k +1
y [k ] =
= 10 (1 − 0.9k +1 ) , k = 0,1, 2,...
1 − 0.9
MATLAB
clear;
%
% obliczane rekurencyjnie
y0=1;
y=y0;
for k=1:20
y=1+0.9*y;
yy(k)=y;
end
yw=[y0 yy];
figure(1); stem(yw);
%
% wykorzystanie rozwiązania
i=0:20;
yu=10*(1-0.9.^(i+1))
figure(2); stem(yu)
9
8
7
6
5
4
3
2
1
0
0
5
10
15
20
25
Rozwiązanie metodą klasyczną:
y [ n + 1] − 0.9 y [ n ] = 1,
y [ 0] = 1
Spodziewane rozwiązanie jest sumą składowych – wymuszonej i swobodnej
y [ n ] = y s [ n ] + yw [ n ]
Składowa swobodna jest rozwiązaniem ogólnym równania jednorodnego:
ys [ n + 1] − 0.9 ys [ n ] = 0
Równanie charakterystyczne:
s − 0.9 = 0
Pierwiastek równania charakterystycznego
s0 = 0.9
Składowa swobodna ma postać szeregu wykładniczego:
ys [ n ] = A1 ⋅ 0.9n
Składowa wymuszona ma charakter wymuszenia i jest szczególnym
rozwiązaniem równania niejednorodnego
yw [ n ] = A (const )
Współczynnik A obliczymy z równania różnicowego poprzez porównanie
współczynników z lewej i prawej strony dla składowej wymuszonej:
yw [ n + 1] − 0.9 yw [ n ] = 1
A − 0.9 A = 1
A = 10
Stałą A1 obliczamy z warunków początkowych
ys [ 0] = A1 = y [ 0] − yw [ 0] = 1 − 10 = −9
Rozwiązanie końcowe:
y [ n ] = yw [ n ] + ys [ n ] = 10 + ( −9 ) ⋅ 0.9n = 10 (1 − 0.9 ⋅ 0.9n )
y [ n ] = 10 (1 − 0.9n +1 ) , n = 0,1, 2,...
Matematyczna reprezentacja sygnału dyskretnego
Matematycznie proces próbkowania polega pomnożeniu sygnału
analogowego f(t) z nieskończonym szeregiem impulsów (delt) Diraca d(t).
Impulsy w takim szeregu powtarzają się z okresem próbkowania Tp.
Szereg impulsów Diraca opisuje zależność:
∞
d ( t ) = ∑ δ ( t − nTp )
−∞
Na wykresie przedstawia się taki szereg w postaci strzałek o jednostkowej
długości ( jest to miara pola powierzchni delty), oddalonych od siebie o stały
przedział czasu równy T (okres próbkowania).
d(t)
δ (t − nT p )
1
t
0
t0 = nT p
Tp
f * (t ) = f (t ) ⋅ d (t )
∞
f * ( t ) = f ( t ) ⋅ ∑ δ ( t − nTp )
−∞
Wykorzystując własność filtracyjną delty Diraca otrzymujemy
opisujące sygnał dyskretny:
∞
f * ( t ) = ∑ f ( nTp ) ⋅ δ ( t − nTp )
−∞
wyrażenie
Zapis ten należy interpretować jako szereg impulsów Diraca o polach równych
wartościom próbkowanej funkcji analogowej w punktach, w których znajdują
się delty szeregu d(t).
f (nTp )⋅ δ (t − nTp )
f*(t)
t
0
t0 = nTp
Widmo sygnału dyskretnego. F{ f * ( t )}
Analiza sygnałów w dziedzinie częstotliwości pozwala na lepiej rozumieć
zagadnienia przetwarzania sygnałów. Przetwarzaniu sygnałów dyskretnych,
technikami Fouriera będą poświęcone osobne wykłady wyjaśniające
zagadnienia dyskretnej transformaty Fouriera
(DFT oraz FFT). Tu
wykorzystamy znane już ciągłe przekształcenie Fouriera.
Widmo delty Diraca zgodnie z definicją przekształcenia Fouriera wynosi:
∞
F{δ ( t )} = ∫ δ ( t ) e − jωt dt = 1
−∞
F →1
δ ( t ) ⎯⎯
Pary transformat wynikające z właściwości przekształcenia Fouriera:
F→ e − jωT
δ ( t − T ) ⎯⎯
F→ 2πδ ω
1 ⎯⎯
( )
F→ 2πδ ω − ω
e jω t ⎯⎯
(
0)
0
zauważyć charakterystyczną
Widmo przebiegu okresowego, pozwala
właściwość widma sygnału dyskretnego. Wykorzystamy zespolony szereg
Fouriera.
Przebieg okresowy f(t) w postaci zespolonego szeregu Fouriera ma postać
f (t ) =
∞
∑ce
jkω0t
k
k =−∞
Jego transformata Fouriera
{
F ( jω ) = F
F ( jω ) =
∞
∑ce
k =−∞
jkω0t
k
∞
}
∑ c F{e ω }
jk
k =−∞
F ( jω ) = 2π
0t
k
∞
∑ c δ (ω + kω )
k
k =−∞
0
gdzie
1T
c k = ∫ f ( t ) e − jkω t dt
T0 0
0
0
ω0 =
2π
T0
współczynniki szeregu
odstępy między impulsami widma
t
t
ω
ω
Wynika z tego, że widmo dowolnego sygnału okresowego, opisuje szereg
impulsów Diraca oddalonych od siebie o stałą wartość ω0 i o polach równych
odpowiednio 2π c k .
Wykorzystując właściwość symetrii przekształcenia Fouriera można
stwierdzić, że sygnał złożony z impulsów Diraca odległych od siebie o stałą
wartość (sygnał dyskretny) posiada okresowe widmo.
Ta właściwość charakterystyki widmowej sygnału dyskretnego, ma swoje
ważne konsekwencje w teorii próbkowania.
Szereg impulsów Diraca rozpatrzymy jako szczególny przypadek przebiegu
okresowego
d (t ) =
∞
∑ δ ( t − kT )
p
k =−∞
Po przedstawieniu d(t) w postaci zespolonego szeregu Fouriera
d (t ) =
∞
∑ce
k =−∞
jkω p t
k
współczynniki tego szeregu wynoszą
Tp / 2
1
1
− jω kt
ck =
δ (t ) e
dt =
∫
Tp − T / 2
Tp
p
p
Stąd charakterystyka widmowa szeregu impulsów Diraca przyjmuje postać
D ( jω ) =
2π
Tp
∞
⎛
k =−∞
⎝
∑ δ ⎜⎜ ω + k
2π
Tp
⎞
⎟⎟
⎠
Transformata Fouriera szeregu impulsów Diraca powtarzających się z
okresem Tp (w dziedzinie czasu) jest również szeregiem impulsów Diraca
powtarzających się z okresem 2π / Tp (w dziedzinie częstotliwości).
Ważne spostrzeżenie, że zmniejszając odstępy między impulsami w
dziedzinie czasu ( większa częstotliwość próbkowania ) zwiększają się odstępy
miedzy deltami w dziedzinie częstotliwości (i odwrotnie). Ta prosta zależność
ma fundamentalne znaczenie podczas realizacji zadania próbkowania
przebiegów analogowych.
Do obliczenia transformaty Fouriera
wykorzystamy wcześniejsze zależności.
sygnału
dyskretnego
F{ f * ( t )}
Transformata Fouriera iloczynu dwóch przebiegów ( twierdzenie o splocie z
dziedzinie częstotliwości ):
F{ f ( t ) ⋅ d ( t )} =
F{ f * ( t )} =
1
F{ f ( t )} ∗ F{d ( t )}
2π
1
F{ f ( t )} ∗ F{d ( t )}
2π
W uproszczonej postaci zapiszemy transformatę Fouriera sygnału dyskretnego
jako
1
F * ( jω ) =
F ( jω ) ∗ D ( jω )
2π
oraz znając transformatę szeregu impulsów Diraca otrzymamy:
F * ( jω ) = F ( jω ) ∗
1 ∞ ⎛
2π
δ ⎜⎜ ω + k
∑
Tp k =−∞ ⎝
Tp
⎞
⎟⎟
⎠
Pamiętamy, że splot funkcji z impulsem Diraca powoduje przesunięcie tej
funkcji do punktu, w którym znajduje się delta.
f T (t ) ∗ δ (t − t 0 ) = f T (t − t 0 )
f T (t )
A
0
T
δ (t − t 0 )
f T (t − t 0 )
t0
przesunięcie
t
Dodatkowo jeżeli funkcja splatana jest z szeregiem impulsów, to następuje
powielanie tej funkcji i przesuwanie powieleń do miejsc, w których znajdują się
impulsy Diraca.
f T (t ) ∗ (δ (t − t 0 ) + δ (t − t1 )) = f T (t − t 0 ) + f T (t − t1 )
f T (t )
A
0
δ (t − t 0 )
f T (t − t 0 )
t0
T
δ (t − t1 )
f T (t − t1 )
t1
t
przesunięcie i powielenie
Wnioskujemy zatem, że widmo sygnału dyskretnego powstaje w wyniku
powielania widma sygnału analogowego nieskończoną ilość razy i przesuwania
tych powieleń o wielokrotności ωp.
ωp =
2π
Tp
Transformata Fouriera sygnału dyskretnego ma zatem następującą postać:
F * ( jω ) =
1 ∞ ⎛
2π ⎞
F ⎜ jω + jk
⎟
∑
Tp k =−∞ ⎜⎝
Tp ⎟⎠
Operację próbkowania sygnału analogowego f(t) można przedstawić graficznie
w postaci wykresów w dziedzinie czasu i częstotliwości.
f(t)
f(t)
ω
t
0
0
D(ω)
d(t)
2π
1
ω
t
0
0
ωp
Tp
f*(t)
F*(ω)
ω
t
0
0
ωp
Jak wynika z wyprowadzeń postać widma sygnału dyskretnego zależy od
częstotliwości próbkowania.
W niektórych wypadkach w wyniku powieleń i przesunięć widma sygnału
analogowego, może występować nakładanie się powieleń.
Ten niepożądany efekt nazywany aliasingiem wymusza stosowanie
dodatkowej filtracji analogowej (filtry antyaliasingowe) oraz odpowiednich
technik próbkowania.
- 1-
Analiza systemów dyskretnych w dziedzinie czasu
Równanie różnicowe
x[n]
y[n]
System dyskretny
Wymuszenie x[n] i odpowiedź y[n] w układy liniowych-stacjonarnych spełniają równanie
różnicowe N-tego rzędu, liniowe, o stałych współczynnikach w postaci:
N
∑
k =0
ak y ⎡⎣ n − k ⎤⎦ =
M
∑ bl x ⎡⎣n − l ⎤⎦
l =0
Przykład:
Należy obliczyć odpowiedź dwóch różnych systemów (dyskretnego i ciągłego) metodą
klasyczną przy zadanych równaniach opisujących systemy, warunkach początkowych, i
wymuszeniach (analogia w metodzie klasycznej).
System dyskretny
System ciągły
Równanie różnicowe:
Równanie różniczkowe
y [ n + 1] + α ⋅ y [ n ] = 1 + β − n , y [0 ] = γ
d
dt
y ( t ) + α ⋅ y ( t ) = 1 + e β t , y (0 ) = γ
Rozwiązanie w postaci 2 składowych:
y [ n ] = yw [ n ] + ys [ n ]
y ( t ) = yw ( t ) + ys ( t )
Składowa swobodna:
ys [ n + 1] + α ⋅ ys [ n ] = 0
d
dt
ys ( t ) + α ⋅ y s ( t ) = 0
- 2-
s +α = 0
Równanie charakterystyczne:
s +α = 0
s = −α
ys [ n ] = A1 ( −α )
s = −α
ys ( t ) = A1e −α t
n
Składowa wymuszona:
yw [ n + 1] + α ⋅ yw [ n] = 1 + β − n
w postaci:
] dtd yw ( t ) + α ⋅ yw ( t ) = 1 + e β t
yw [ n ] = A + B ⋅ β − n
A + B ⋅ β −( n+1) + α ( A + B ⋅ β − n ) = 1 + β − n
⎛
1 ⎞ −n
−n
⎟⋅β = 1+ β
β⎠
⎝
1
A=
1+α
A (1 + α ) + B ⎜α +
B=
yw [ n ] =
yw ( t ) = A + B ⋅ e β t
d
dt
( A + Beβ ) + α ⋅ ( A + Be β ) = 1 + eβ
t
α A + B (α + β ) e β t = 1 + e β t
A=
β
αβ + 1
B=
1
β
+
⋅ β −n
1 + α αβ + 1
Stała z warunków początkowych:
ys [0 ] = A1 = y [0 ] − yw [0 ]
A1 = γ −
t
yw ( t ) =
1
α
1
α
1
α+β
+
1
⋅ eβ t
α+β
ys ( 0 ) = A1 = y ( 0 ) − yw ( 0 )
1
1+α
A1 = γ −
1
α
Odpowiedź systemu:
y [ n] =
1
β
1 ⎞
+
⋅ β − n + ⎛⎜ γ −
( −α )n
⎟
1 + α αβ + 1
1+α ⎠
42444
3
144424443 ⎝144
odp .wymuszona
odp .swobodna
y (t ) =
1
1
⋅ e β t + ⎛⎜ γ − ⎞⎟ e−α t
α
α+β
α⎠ 3
4244
1442443 ⎝14
1
+
odp .wymuszona
odp .swobodna
t
- 3-
Odpowiedź impulsowa i splot
Odpowiedź impulsowa h[n] systemu jest to sygnał na wyjściu systemu, gdy na jego
wejściu wymuszono w chwili n=0 impuls jednostkowy δ [ n ] .
δ[n]
h[n]
System dyskretny
Impuls Diraca:
δ[n]
...
...
n
⎧1, n = 0
⎩0, n ≠ 0
δ [ n] = ⎨
Odpowiedź impulsowa h[n] jest kompletną charakterystyką sytemu LTI, pozwalającą
określić odpowiedź systemu na dowolne inne wymuszenie.
Iloczyn sygnału x[n] oraz impulsu δ [ n ] możemy zapisać jako:
x [ n ] ⋅ δ [ n ] = x [ 0] ⋅ δ [ n ]
Ogólnie dla zależność ta dla impulsu przesuniętego w czasie jest następująca:
x [ n] ⋅ δ [ n − k ] = x [ k ] ⋅ δ [ n − k ]
gdzie n reprezentuje indeks czasu, x[n] opisuje sygnał.
- 4-
Można zauważyć, że mnożenie sygnału i impulsu przesuniętego daje w wyniku impuls
przesunięty o polu równym wartości funkcji w miejscu przesunięcia impulsu.
Ta właściwość pozwala zapisać dowolny sygnał dyskretny x[n] jako:
x [ n ] = K + x [ −2] ⋅ δ [ n + 2] + x [ −1] ⋅ δ [ n + 1] + x [ 0] ⋅ δ [ n ] + x [1] ⋅ δ [ n − 1] + x [ 2] ⋅ δ [ n − 2] + K
lub w skróconej formie:
x [ n] =
∞
∑ x[k ] ⋅ δ [n − k ]
k =−∞
Wykorzystując własność liniowości i stacjonarności odpowiedź systemu wynosi:
y [ n] =
∞
∑ x [ k ] ⋅h [ n − k ]
k =−∞
Tzn. jeżeli wymuszeniem systemu LTI jest superpozycja „ważonych” impulsów
przesuniętych w czasie to jego odpowiedzią będzie superpozycja identycznie „ważonych”
odpowiedzi impulsowych identycznie przesuniętych w czasie.
Operację pozwalającą wyznaczyć odpowiedź systemu na dowolne wymuszenie nazywa
się splotem i oznacza gwiazdką * jak w wyrażeniu:
x [ n] ∗ h [ n] =
Przykład:
Odpowiedź impulsowa systemu LTI wynosi:
∞
∑ x [ k ] ⋅h [ n − k ]
k =−∞
- 5-
⎧1, n = ±1
⎪
h [ n ] = ⎨2, n = 0
⎪ 0, inne
⎩
h[n]
2
-1
n
0
1
2
3
4
5
Należy wyznaczyć odpowiedź systemu na wymuszenie:
⎧ 2, n = 0
⎪ 3, n = 1
⎪
x [ n] = ⎨
⎪−2, n = 2
⎪⎩ 0, inne
Rozwiązanie:
Wymuszenie wynosi:
x [ n ] = 2 ⋅ δ [ n ] + 3 ⋅ δ [ n − 1] − 2 ⋅ δ [ n − 2]
Odpowiedź będzie superpozycją odpowiedzi impulsowych:
- 6-
y [ n ] = 2 ⋅ h [ n ] + 3 ⋅ h [ n − 1] − 2 ⋅ h [ n − 2]
Ponieważ odpowiedź impulsowa wynosi:
h [ n ] = δ [ n + 1] + 2 ⋅ δ [ n ] + δ [ n − 1]
Zatem odpowiedź systemu
y [ n ] = 2 ⋅ (δ [ n + 1] + 2 ⋅ δ [ n ] + δ [ n − 1])
+3 ⋅ (δ [ n ] + 2 ⋅ δ [ n − 1] + δ [ n − 2])
−2 ⋅ (δ [ n − 1] + 2 ⋅ δ [ n − 2] + δ [ n − 3])
y [ n ] = 2δ [ n + 1] + 4δ [ n ] + 2δ [ n − 1]
+3δ [ n ] + 6δ [ n − 1] + 3δ [ n − 2]
−2δ [ n − 1] − 4δ [ n − 2] − 2δ [ n − 3]
Stąd ostatecznie odpowiedź wynosi:
y[ n] = 2δ [ n +1] + 7δ [ n] + 6δ [ n −1] −δ [ n − 2] − 2δ [ n − 3]
Matlab (splot dwóch sygnałów)
- 7-
h=[1 2 1];
x=[2 3 –2];
y=conv(h,x))
Rozwiązanie graficznie:
- 8-
x[n]
v0[n]
6
4
2
-1
0
2
n
1
2
3
4
5
-1
0
1
-4
v1[n]
1
2
3
4
5
-1
0
v2[n]
2
1
-2
2
3
4
5
-4
3
0
5
n
1
-4
-1
4
4
2
n
x[n]
3
6
3
0
2
-4
x[n]
-1
n
6
4
2
n
1
2
3
4
5
-1
0
n
1
2
3
4
5
-4
y[n]
6
x[n]
2
-1
0
-2
4
2
n
1
2
3
4
5
-1
0
n
2
1
3
4
5
-4
Schematy blokowe:
Systemy LTI można przedstawić w postaci schematu blokowego, który jest graficznym
zapisem równania różnicowego.
- 9-
Elementy:
Mnożenie skalarne
x[n]
y[n]=cx[n]
Dodawanie
x[n]
+
y[n]=x[n]+w[n]
w[n]
Przesuwanie w czasie
x[n]
z-1
y[n]=x[n-1]
Połączenia:
Połączenie równoległe:
h1[n]
+ y[n]
x[n]
+
h2[n]
x[n]
y[n]
h1[n]+ h2[n]
x [ n ] ∗ h1 [ n ] + x [ n ] ∗ h2 [ n ] = x [ n ] ∗ ( h1 [ n ] + h2 [ n ])
Połączenie kaskadowe:
- 10-
x[n]
h1[n]
h2[n]
x[n]
y[n]
h1[n]* h2[n]
{ x [ n] ∗ h [ n]} ∗ h [ n] = x [ n] ∗ {h [ n] ∗ h [ n]}
1
2
1
2
Przykład:
Wyznacz odpowiedź systemu dyskretnego na wymuszenie:
x [ n ] = 2 ⋅ δ [ n ] − δ [ n − 1]
h1[n]
+
+
h3[n]
+
x[n]
h2[n]
h4[n]
jeżeli odpowiedzi impulsowe poszczególnych systemów wynoszą:
h1 [ n ] = 1[ n ]
h2 [ n ] = 1[ n + 2] − 1[ n ]
h3 [ n ] = δ [ n − 2]
h4 [ n ] = a n ⋅ 1[ n ]
Rozwiązanie:
h [ n ] = ( h1 [ n ] + h2 [ n ]) ∗ h3 [ n ] − h4 [ n ]
-
y[n]
y[n]
- 11-
h12 [ n ] = 1[ n ] + 1[ n + 2] − 1[ n ] = 1[ n + 2]
h123 [ n ] = 1[ n + 2] ∗ δ [ n − 2] = 1[ n ]
Odpowiedź impulsowa całego systemu wynosi:
h [ n ] = (1 − a n ) ⋅ 1[ n ]
Odpowiedź na zadane wymuszenie:
y [ n ] = 2 ⋅ (1 − a n ) ⋅ 1[ n ] − (1 − a n −1 ) ⋅ 1[ n − 1]
Przykład:
Wyznaczyć odpowiedź układu (dla zerowych warunków początkowych)
-6
x[n]
y[n+2]
y[n]
y[n+1]
+
Z
-1
5
na wymuszenie w postaci skoku jednostkowego:
Z
-1
- 12-
1[n]
1
...
...
Skok jednostkowy:
⎧1, n ≥ 0
1[ n ] = ⎨
⎩0, n < 0
Rozwiązanie:
Równanie różnicowe ze schematu blokowego:
y [ n + 2] = x [ n ] − 6 y [ n ] + 5 y [ n + 1]
lub
y [ n + 2] − 5 y [ n + 1] + 6 y [ n ] = x [ n ]
Wstawiając do równania wymuszenie:
y [ n + 2] − 5 y [ n + 1] + 6 y [ n ] = 1
Metoda klasyczna:
Zakładamy rozwiązanie z postaci 2 składowych:
y [ n ] = yw [ n ] + ys [ n ]
Dla składowej swobodnej:
ys [ n + 2] − 5 ys [ n + 1] + 6 ys [ n ] = 0
Równanie charakterystyczne
s 2 − 5s + 6 s = 0
Pierwiastki równania charakterystycznego:
n
- 13-
s1 = 2, s2 = 3
Składowa swobodna będzie miała postać:
*)
ys [ n ] = A1 2n + A2 3n
Dla składowej wymuszonej:
yw [ n ] = A
yw [ n + 2] − 5 yw [ n + 1] + 6 yw [ n ] = 1
A − 5A + 6A = 1
A − 5A + 6A = 1
yw [ n ] = A =
1
2
Stałe A1 i A2 oblicza się z warunków początkowych:
*)
ys [ 0] = A1 + A2
ys [1] = 2 A1 + 3 A2
oraz
1
1
=−
2
2
1
1
ys [1] = y [1] − yw [1] = 0 − = −
2
2
ys [ 0 ] = y [ 0 ] − yw [ 0 ] = 0 −
**)
Porównując prawe strony *) i **) obliczamy stałe:
A1 = −1
A2 =
1
2
Ostatecznie odpowiedź systemu wynosi:
y [ n] =
Schemat układu 2 rzędu
1
1
− 2n + 3n
2
2
- 14-
Schemat przedstawia typowy dyskretny system LTI opisany równaniem różnicowym 2 rzędu:
b0
x[n]
+
w[n]
y[n]
+
z-1
x[n-1]
z-1
b1
+
+
-a1
y[n-1]
z-1
z-1
b2
x[n-2]
-a2
y[n-2]
Sygnał wejściowy jest dwa razy przesunięty w czasie, na wyjściach bloków
opóźniających otrzymuje się sygnały x[n-1] i x[n-2]. Sygnały te są skalowane oraz sumowane
w wyniku czego otrzymuje się sygnał:
w[ n ] = b0 x [ n ] + b1 x [ n − 1] + b2 x [ n − 2]
Następnie możemy napisać dla sygnału wyjściowego y[n] w zależności od w[n]:
y [ n ] = w[ n ] − a1 y [ n − 1] − a2 y [ n − 2]
Stąd:
y [ n ] = b0 x [ n ] + b1 x [ n − 1] + b2 x [ n − 2] − a1 y [ n − 1] − a2 y [ n − 2]
y [ n ] + a1 y [ n − 1] + a2 y [ n − 2] = b0 x [ n ] + b1 x [ n − 1] + b2 x [ n − 2]
lub
2
2
k =0
l =0
∑ ak y [ n − k ] = ∑ bl x [ n − l ]
- 15-
Alternatywny schemat blokowy dla układu 2 rzędu
x[n]
b0
+
+
f[n]
y[n]
z-1
-a1
+
b1
+
f[n-1]
z-1
-a2
b2
f[n-2]
Przykład:
System opisany równaniem należy przedstawić w postaci schematu blokowego:
y [ n ] + 12 y [ n − 1] − 13 y [ n − 3] = x [ n ] + 2 x [ n − 2]
Rozwiązanie
x[n]
+
y[n]
+
z-1
z-1
+
z-1
-1/2
z-1
2
z-1
1/3
- 16-
Metoda równań stanu.
Opis systemu w przestrzeni stanu polega na utworzeniu układu równań różnicowych
pierwszego rzędu opisujących przebiegi zmiennych stanu systemu oraz zależności odpowiedzi
systemu od zmiennych stanu i wymuszenia. Równania te przedstawia się w formie
macierzowej.
Na schemacie blokowym sygnały f[n-1], f[n-2], które znajdują się na wyjściach bloków
opóźniających oznaczymy odpowiednio q1[n] oraz q2[n]. Wielkości te nazywa się zmiennymi
stanu.
x[n]
+
+
y[n]
z-1
+
-a1
b1
q1[n]
+
z-1
-a2
b2
q2[n]
Wartości zmiennych stanu zgodnie ze schematem blokowym wynoszą:
q1 [ n + 1] = −a1q1 [ n ] − a2 q2 [ n ] + x [ n ]
q2 [ n + 1] = q1 [ n ]
Ze schematu możemy także wyznaczyć zależność odpowiedzi od wymuszenia i zmiennych
stanu:
y [ n ] = x [ n ] − a1q1 [ n ] − a2 q2 [ n ] + b1q1 [ n ] + b2 q2 [ n ]
- 17-
W formie macierzowej powyższe równania:
⎡ q1 [ n + 1] ⎤ ⎡ −a1
⎢
⎥=⎢
⎣ q2 [ n + 1]⎦ ⎣ 1
− a2 ⎤ ⎡ q1 [ n ] ⎤ ⎡1 ⎤
x [ n]
⎢
⎥+
0 ⎥⎦ ⎣ q2 [ n ]⎦ ⎢⎣ 0 ⎥⎦
⎡ q [ n] ⎤
y [ n ] = [b1 − a1 b2 − a2 ] ⎢ 1 ⎥ + [1] x [ n ]
⎣ q2 [ n ]⎦
Definiując wektor stanu jako :
⎡ q [ n] ⎤
Q [ n] = ⎢ 1 ⎥
⎣ q 2 [ n ]⎦
Równania stanu zapiszemy:
Q [ n + 1] = AQ [ n ] + bx [ n ]
y [ n ] = cQ [ n ] + Dx [ n ]
gdzie:
⎡ −a
A=⎢ 1
⎣ 1
− a2 ⎤
⎡1 ⎤
,
b
=
⎢0⎥
0 ⎥⎦
⎣ ⎦
c = [b1 − a1 b2 − a2 ] , D = [1]
Opis systemu w przestrzeni stanu wykorzystuje się często w obliczeniach numerycznych.
- 18-
Klasyfikacja systemów:
Charakterystyki takie jak:
• Równanie różnicowe
• Odpowiedź impulsowa
• Schemat blokowy
• Macierze stanu
są równoznacznymi modelami matematycznymi systemów dyskretnych.
Pozwalają analizować systemy w dziedzinie czasu, badać ich właściwości i odpowiednio
klasyfikować.
Pamięć systemów
W układach bez pamięci odpowiedź systemu zależy tylko od teraźniejszych wartości
wymuszenia.
Ponieważ odpowiedź układu dyskretnego można przedstawić jako splot:
y [ n] =
∞
∑ h [ k ] ⋅x [ n − k ]
k =−∞
w układach bez pamięci musi być spełniony warunek dla odpowiedzi impulsowej:
h [ k ] = 0 dla k ≠ 0
- 19-
Przyczynowość systemów:
Odpowiedź układu przyczynowego zależy tylko od przeszłych i teraźniejszych wartości
sygnału wejściowego.
y [ n] =
∞
∑ h [ k ] ⋅x [ n − k ]
k =−∞
Przeszłe i teraźniejsze wartości wymuszenia x [ n ] , x [ n − 1] , x [ n − 2] ,... są związane z indeksem
k ≥ 0 sumy splotowej, natomiast przyszłe wartości wymuszenia są związane z k < 0 .
Zatem dla systemów przyczynowych musi być spełniony warunek dla odpowiedzi impulsowej:
h [ k ] = 0 dla k < 0
Oraz suma splotowa:
∞
y [ n ] = ∑ h [ k ] ⋅x [ n − k ]
k =0
Stabilność systemów:
Układ jest stabilny w sensie BIBO (bounded input, bounded output), jeżeli przy ograniczonym
sygnale wejściowym sygnał wyjściowy jest także ograniczony. Formalnie można warunek
zapisać:
x [ n] ≤ M x < ∞ ⇒ y [ n] ≤ M y < ∞
Możemy wyznaczyć warunki jakie musi spełniać odpowiedź impulsowa, aby gwarantowała
stabilność systemu.
y [ n] = h [ n] ∗ x [ n]
- 20-
y [ n] =
∞
∑ h [ k ] ⋅x [ n − k ]
k =−∞
Ponieważ a + b ≤ a + b
y [ n] ≤
∞
∑ h[k ] x[n − k ]
k =−∞
oraz a ⋅ b = a ⋅ b
y [ n] ≤
∞
∑ h[k ] x[n − k ]
k =−∞
Jeżeli wymuszenie jest ograniczone
x [ n ] ≤ M x < ∞, oraz x [ n − k ] ≤ M x < ∞
to odpowiedź
∞
y [ n] ≤ M x ∑ h [ k ]
k =−∞
Zatem aby odpowiedź była ograniczona musi być spełniony warunek ograniczonej absolutnej
sumy odpowiedzi impulsowej.
Zatem wystarczającym warunkiem stabilności systemu LTI jest warunek:
∞
∑ h[k ] < ∞
k =−∞
Pasywność systemów:
System dyskretny jest pasywny jeżeli dla każdego sygnału wejściowego x[n] o skończonej
energii sygnał wyjściowy y[n] posiada energię mniejszą lub równą energii x[n].
∞
∑ y [k ]
k =−∞
2
≤
∞
∑ x[k ]
k =−∞
2
<∞
1
Próbkowanie równomierne
Próbkowanie równomierne, jest procesem konwersji sygnału analogowego (o czasie
ciągłym) do postaci próbek pobieranych w równych odstępach czasu. Próbkowanie
przeprowadza się poprzez podanie na wejście przetwornika analogowo-cyfrowego (A/C)
sygnału ciągłego. Na jego wyjściu otrzymuje się ciąg wartości liczbowych.
Sygnał analogowy można próbkować z dowolną szybkością. Należy sobie jednak zadać
pytanie, na ile dobrze te wartości reprezentują sygnał oryginalny. Odpowiedź na to pytanie daje
teoria próbkowania.
Proces konwersji analogowo-cyfrowej można podzielić na trzy podstawowe etapy:
• filtrowanie antyaliasingowe
• próbkowanie
• pamiętanie
przetwornik A/C
filtr
antyaliasingowy
wejściowy
sygnał
analogowy
próbkowanie
przefiltrowany
sygnał
analogowy
sygnał
dyskretny
pamiętanie
sygnał
cyfrowy
2
Filtrowanie antyaliasingowe
Widmo rzeczywistych sygnałów jest ze względu na zniekształcenia i szumy bardzo
szerokie. Filtrowanie antyalisingowe, dolnoprzepustowym filtrem analogowym stosowane jest
w celu ograniczenia szerokości widma rzeczywistego sygnału.
Zastosowanie tego typu filtracji ma na celu zapobieżenie zjawisku nakładania się widm
powstających w wyniku ich powielania podczas wykonywania próbkowania sygnału.
sygnał
szum
szum
f
-B
B
f
-2fp
-fp
0
fp
2fp
Na rys. pokazano widmo ciągłe sygnału o szerokości pasma B zawierającego szum oraz
efekt nakładania się widm sygnału i szumu w wyniku próbkowania przebiegu. Taki efekt
zniekształcenia widma występuje w wyniku braku filtru antyaliasingowego.
3
charakterystyka filtru
antyaliasingowego
szum
szum
f
-B
B
f
-2fp
-fp
0
fp
2fp
Rysunek przedstawia przypadek zastosowania filtru analogowego dolnoprzepustowego o
częstotliwości odcięcia równej B przy częstotliwości próbkowania fp.
Zastosowanie filtru analogowego dolnoprzepustowego pozwala unikać nakładania się
widm.
Próbkowanie:
Pytanie:
Czy znając jedynie zbiór próbek sygnału f[n] : n=...,-2,-1,0,1,2,3,...
oddalonych o przedział próbkowania Tp możemy dokładnie odtworzyć sygnał
analogowy ?
Inaczej mówiąc czy dysponujemy informacją o zachowaniu się sygnału między
danymi próbkami ?
4
Odpowiedź:
W ogólnym przepadku NIE ! (jest to oczywiste)
Ale:
Jeżeli jednak sygnał próbkowany spełniałby pewien dodatkowy warunek odpowiedź
może brzmieć TAK!
Ten dodatkowy warunek dotyczy szybkości zmian przebiegu, który jeżeli analizujemy
sygnał w dziedzinie częstotliwości jest związany z szerokością pasma sygnału.
Jeżeli sygnał nie może się szybko zmieniać to znaczy, że nie zawiera składowych o
dużych częstotliwościach powyżej częstotliwości B, sygnał ma ograniczone pasmo.
W praktyce termin sygnał o ograniczonym paśmie oznacza jedynie to, że energia
zawarta w sygnale poza zakresem ±B jest poniżej czułości naszego systemu.
Widmo
amplitudowe
f
-B
B
5
Twierdzenie o próbkowaniu (Shannona)
Niech f(t) będzie sygnałem ciągłym, którego widmo spełnia warunek ograniczonego
pasma 1:
F ( jω ) = 0 dla ω ≥ 2π B
Zgodnie z kryterium Nyquista, sygnał f(t) można odtworzyć z pełną dokładnością z jego
próbek gdy częstotliwość próbkowania spełnia zależność:
f p ≥ 2B
ω p ≥ 4π B
Częstotliwość B wyznacza szerokość widma sygnału i nazywa się częstotliwością
Nyquista.
Proces próbowania sygnału analogowego oraz odtwarzanie sygnału z jego próbek
przedstawiono na wykresach
Rozpatrzymy trzy różne przypadki wyboru częstotliwości próbkowania:
•
f p = 2B
•
f p > 2B
•
f p < 2B
Ostatni przypadek jest niezgodny z twierdzeniem o próbkowaniu. Z tak wybranych
próbek nie można odtworzyć oryginalnego sygnału analogowego. Przyczyną jest nakładanie się
powielanych widm i ich nieodwracalne zniekształcenie.
1
Widmo nie zawiera dystrybucji w punktach ±B
6
f p = 2B
Jest to przypadek graniczny. Powielane widma „stykają się” ze sobą.
f(t)
⎛ω ⎞
F⎜
⎟
⎝ 2π ⎠
f
t
0
0
d(t)
⎛ω ⎞
D⎜ ⎟
⎝ 2π ⎠
2π
1
f
t
0
f p = 2B
Tp
0
2B
fp
⎛ω
F *⎜
⎝ 2π
f * (t ) = f (t ) ⋅ d (t )
⎞
⎛ω
⎟ = F⎜
⎠
⎝ 2π
⎞
⎛ω ⎞
⎟ ∗ D⎜ ⎟
⎠
⎝ 2π ⎠
f
t
0
0
fp
h(t)
1
-2Tp
-3Tp
2Tp
0
-Tp
Tp
⎛ω ⎞
H⎜
⎟
⎝ 2π ⎠
t
f
3Tp
-B
f (t ) = h(t ) ∗ f * (t )
0
⎛ω ⎞
⎛ω ⎞
⎛ω ⎞
F⎜
⎟ = H⎜
⎟ ⋅ F *⎜
⎟
⎝ 2π ⎠
⎝ 2π ⎠
⎝ 2π ⎠
f
t
0
B
0
7
Proces próbowania sygnału analogowego oraz odtwarzanie sygnału z jego próbek dla
f p = 2B
f p > 2B
Powielane widma są rozłączne.
f(t)
⎛ω ⎞
F⎜ ⎟
⎝ 2π ⎠
f
t
0
0
d(t)
⎛ω ⎞
D⎜ ⎟
⎝ 2π ⎠
2π
1
f
t
0
0
f p > 2B
Tp
2B
fp
⎛ω ⎞
⎛ω ⎞
⎛ω ⎞
F * ⎜ ⎟ = F ⎜ ⎟ ∗ D⎜ ⎟
⎝ 2π ⎠
⎝ 2π ⎠
⎝ 2π ⎠
f * (t ) = f (t ) ⋅ d (t )
f
t
0
0
fp
h(t)
1
-2Tp
-3Tp
2Tp
0
-Tp
Tp
⎛ω ⎞
H⎜
⎟
⎝ 2π ⎠
t
f
3Tp
-B
f (t ) = h(t ) ∗ f * (t )
0
⎛ω ⎞
⎛ω ⎞
⎛ω ⎞
F⎜
⎟ = H⎜
⎟ ⋅ F *⎜ ⎟
⎝ 2π ⎠
⎝ 2π ⎠
⎝ 2π ⎠
f
t
0
B
0
8
Proces próbowania sygnału analogowego oraz odtwarzanie sygnału z jego próbek dla
f p > 2B
f p < 2B
Widma nakładają się.
f(t)
⎛ω ⎞
F⎜ ⎟
⎝ 2π ⎠
f
t
0
0
d(t)
⎛ω ⎞
D⎜ ⎟
⎝ 2π ⎠
2π
1
f
t
0
f p < 2B
Tp
0
2B
fp
⎛ω
F *⎜
⎝ 2π
f * (t ) = f (t ) ⋅ d (t )
⎞
⎛ω
⎟ = F⎜
⎝ 2π
⎠
⎞
⎛ω ⎞
⎟ ∗ D⎜
⎟
⎠
⎝ 2π ⎠
f
t
0
0
fp
h(t)
1
-2Tp
-3Tp
2Tp
0
-Tp
Tp
⎛ω ⎞
H⎜
⎟
⎝ 2π ⎠
t
f
3Tp
-B
f (t ) = h(t ) ∗ f * (t )
0
B
⎛ω ⎞
⎛ω ⎞
⎛ω ⎞
F⎜
⎟ = H⎜
⎟ ⋅ F *⎜
⎟
⎝ 2π ⎠
⎝ 2π ⎠
⎝ 2π ⎠
f
t
0
aliasing
0
9
Proces próbowania sygnału analogowego oraz odtwarzanie sygnału z jego próbek dla
f p < 2B
Przykład:
Dany jest ciąg próbek, oraz wiadomo, że reprezentują one wartości
chwilowe pewnego przebiegu sinusoidalnego. Pobrane są w równych
odstępach czasu. Zadanie polega na odtworzeniu przebiegu ( wyznaczeniu
jego parametrów – amplitudy i częstotliwości ).
X[0]
X[1]
X[2]
X[3]
X[4]
X[5]
X[6]
0
0.866
0.866
0
-0.866
-0.866
0
Jeżeli ciąg reprezentuje próbki przebiegu sinusoidalnego to nie można jednoznacznie
określić tego przebiegu jedynie z próbek.
10
f (t )
0.866
f p = 6 Hz
t
Tp
-0.866
f (t )
1Hz
f p > 2 f1
t
Tp
T1
f (t )
7Hz
f p < 2 f1
t
Tp
T1
Wymagana jest dodatkowa informacja.
Jeżeli założymy, że próbkowanie wykonano zgodnie z kryterium Nyquista, to
oryginalnym przebiegiem jest sinusoida o częstotliwości 1Hz.
Zadanie 1:
Ile minimalnie próbek należy pobierać w okresie sygnału sinusoidalnego zgodnie z
twierdzeniem o próbkowaniu ?
Oznaczmy częstotliwość sinusoidy f1. Zgodnie z kryterium Nyquista częstotliwość
próbkowania musi być tak wybrana aby spełniony był warunek2:
2
W tym przypadku ponieważ na granicy pasma pojawia się dystrybucja, wymagana jest ostra nierówność.
11
f p > 2 f1
Zatem
fp
T
n= 1 >2
nmin = 3
>2
Tp
f1
Odp: Minimalna liczba próbek, pobierana w okresie sinusoidy wynosi 3. Wtedy można w
sposób jednoznaczny odtworzyć sinusoidę z próbek.
Zadanie 2:
Sygnał ma ograniczone pasmo do B=1000Hz. Jaką minimalną liczbę próbek należy pobierać
w przedziale czasu T=0.02s, aby można było z tych próbek jednoznacznie odtworzyć przebieg?
Zgodnie z twierdzeniem o próbkowaniu
f p ≥ 2B
n ≥ 0.02 ⋅ 2 ⋅ 1000
n ≥ 40
Odp: Minimalna liczba próbek wynosi 40.
n=
T1
= T1 f p ≥ T1 2 B
Tp
12
Próbkowanie sygnałów pasmowych
W praktyce często próbkowane są analogowe sygnały pasmowe czyli takie, których
ograniczone pasmo jest skupione wokół pewnej częstotliwości różnej od zera.
Do tego typu sygnałów można z powodzeniem stosować próbkowanie dolnopasmowe,
jednak zastosowanie specjalnej techniki zwanej próbkowaniem pasmowym pozwala znacznie
zmniejszyć koszty realizacji sprzętowej, polegającej na zmniejszeniu szybkości przetwornika
A/C oraz zmniejszeniu pamięci wymaganej do pamiętania wartości próbek.
Jako przykład próbkujmy przebieg pasmowy o szerokości pasma B=5kHz, skupiony
wokół częstotliwości fc=20kHz.
Zgodnie z kryterium Nyquista, ponieważ najwyższa składowa częstotliwościowa w
sygnale ma wartość 22,5kHz należy próbkować sygnał z częstotliwością nie mniejszą niż
45kHz.
⎛ω ⎞
F⎜
⎟
⎝ 2π ⎠
B
=5kHz
f
-fc
0
fc
=20kHz
⎛ω ⎞
F *⎜ ⎟
⎝ 2π ⎠
f p = fc −
B
2
f
-fc
fp
0
fp
fc
fp
=17,5 kHz
fp
Na rysunku pokazano skutki próbkowania tego sygnału z częstotliwością znacznie mniejszą,
równą 17,5 kHz.
Można zauważyć, że mimo mniejszej częstotliwości próbkowania powielenia widma nie
zniekształcają widma oryginalnego skupionego wokół częstotliwości fc.
Unikamy aliasingu. Okazuje się że próbkowanie z częstotliwością 45kHz nie jest konieczne.
13
Wyprowadzenie ogólnych zależności dotyczące próbkowania pasmowego.
Dany jest ciągły sygnał pasmowy o szerokości pasma B, o częstotliwości nośnej fc.
Próbkujemy ten sygnał z dowolną częstotliwością fp.
Maksymalna częstotliwość próbkowania
Przy arbitralnej liczbie powieleń widma m w przedziale 2fc-B sygnał można próbkować z
maksymalną częstotliwością fp1 taką że:
mf p1 = 2 f c − B
⎛ω ⎞
F⎜
⎟
⎝ 2π ⎠
2 fc − B
0
-fc
fc
f
fp1
Widmo sygnału dyskretnego, w przedziale 2fc-B sygnał można próbkować z
maksymalną częstotliwością fp1,
f p1 =
2 fc − B
m
14
Minimalna częstotliwość próbkowania
Jeżeli szybkość próbkowania zmniejsza się to powielenia przesuwają się i osiągamy
dolną granicę częstotliwości próbkowania fp2.
Przy arbitralnej liczbie powieleń widma m w przedziale 2fc+B sygnał można próbkować
z minimalną częstotliwością fp2 taką że:
( m + 1) f p 2 = 2 f
c
+B
⎛ω ⎞
F⎜ ⎟
⎝ 2π ⎠
2 fc + B
0
-fc
f
fp2
fc
Widmo sygnału dyskretnego, w przedziale 2fc+B sygnał można próbkować z minimalną
częstotliwością fp2,
f p2 =
2 fc + B
m +1
W ten sposób otrzymujemy zależność definiującą zakres częstotliwości próbkowania
pasmowego zależną od szerokości pasma sygnału, częstotliwości nośnej i liczby powieleń
2 fc + B
2f −B
≤ fp ≤ c
m +1
m
przy czym m jest dowolną liczbą naturalną zapewniającą spełnianie kryterium Nyquista w
odniesieniu do szerokości pasma sygnału
f p ≥ 2B .
15
Przykład:
Przebieg pasmowy o szerokości pasma B=5kHz i częstotliwości nośnej fc=20kHz.
m
Maksymalna
Minimalna
f p2 =
2 fc + B
m +1
f p1 =
2 fc − B
m
Optymalne fp
1
35,0 kHz
22,5 kHz
22,5 kHz
2
17,5 kHz
15,0 kHz
17,5 kHz
3
11,66 kHz
11,25 kHz
11,25 kHz
4
8,75 kHz
9,0 kHz
-
5
7,0 kHz
7,5 kHz
-
Jak wynika z tabeli częstotliwość próbkowania nie może być mniejsza niż 11,25kHz.
Za optymalną częstotliwość próbkowania przyjmuje się taką przy której powielenia
widma stykają się ze sobą w punkcie f = 0Hz. Przy tak przyjętej częstotliwości próbkowania
błędy związane dalszym przetwarzaniem cyfrowym (np. filtrowaniem) sygnału są minimalne.
Zdefiniujemy nowy parametr R jako stosunek częstotliwości najwyższej w paśmie
sygnału do szerokości pasma
R=
fc +
B
2
B
Wykreślimy zależność minimalnej częstotliwości próbkowania od parametru R dla różnych
wartości m
16
( m + 1) f
p2
= 2 fc + B
B
f
+
c
m
f
1
+
(
) p2
2
=
2B
B
( m + 1) f
ozn: f p min = f p 2
=R
p2
2B
f p min
2
R
=
B
( m + 1)
f p min
B
m
=0
4
=1
3
m
2
m=
2,25
2
3
m=
m=4
m=5
R
1
2
3
4 4,5 5
6
7
8
9
Minimalna częstotliwość próbkowania w zależności od R dla różnych wartości m
Z wykresu wynika, że niezależnie od R minimalna częstotliwość próbkowania nie
przekracza 4B i zmniejsza się dążąc do 2B przy zwiększaniu częstotliwości nośnej (wzrost R).
17
Wprowadzając na wykresie warunek ograniczający częstotliwość z góry (maksymalną)
otrzymamy obszary częstotliwości zakazanych i dozwolonych związanych z odpowiednią
wartością parametru m.
mf p1 = 2 f c − B
mf p1
+1 = R
2B
f p1 = f p max
f p max
B
=
2
( R − 1)
m
m
=1
fp
pr
do óbko
l n o wa
pas nie
mo
we
B
6
2
m=
3
m=
4
m =4
2
R
strefa zakazana
1
2
3
4
5
6
7
8
9
Minimalna i maksymalna częstotliwość próbkowania w zależności od R dla różnych wartości
m
Wprawdzie z rysunku wynika, że możemy stosować częstotliwości próbkowania, które
leżą na granicy strefy zakazanej i dozwolonej, jednak w praktycznych zastosowaniach należy
wybierać częstotliwości nieco oddalone od tych granic.
Takie postępowanie pozwala uniknąć np. problemów związanych z niedokładnością
filtrów pasmowych, niestabilnością zegara układu próbkującego itp.
18
Przykład:
Wracając do przebiegu przykładowego o szerokości pasma B=5kHz i częstotliwości nośnej
fc=20kHz.
5
20 +
2 = 4.5
R=
5
Z wykresu można odczytać dla tej wartości R, minimalną akceptowalną częstotliwość
próbkowania. Wynosi ona przy m=3 ( powielenia widma ) 2.25B, czyli 11.25kHz co jest
zgodne z wartością wyznaczoną w tabeli.
Zadanie:
Przebieg o szerokości pasma B=200Hz i częstotliwości nośnej fc=1000Hz.
• Jaką minimalną częstotliwość próbkowania można stosować ?
• Czy można stosować częstotliwość próbkowania fp=400Hz, 1200Hz ?
• Jak uwzględnić błąd częstotliwości próbkowania związany z niedokładnością zegara ?
Obliczamy parametr R
R=
200
2 = 5.5
200
1000 +
Jak wynika z wykresu dla R=5.5 sygnał można próbkować z minimalną częstotliwością przy
liczbie powieleń widma m=4.
19
=1
fp
m
B
2
m=
Δf p = ±100 Hz
6
3
m=
4
m=4
2
ΔB = 900 ÷ 1100 Hz
strefa zakazana
1
2
3
4
5
6
f p min =
2 fc + B
m +1
7
8
R
9
Częstotliwość minimalna dla m=4 wynosi:
f p min 4 =
2 ⋅ 1000 + 200
= 440 Hz
4 +1
Częstotliwość maksymalna dla m=4 wynosi:
f p max =
f p max 4 =
2 fc − B
m
2 ⋅ 1000 − 200
= 450
4
Nie jest możliwe próbkowanie z częstotliwością 400Hz, natomiast możliwe 1200Hz.
Przy fp=1200Hz na wykresie zaznaczono zakres dopuszczalnego błędu próbkowania.
-1-
Przekształcenie zet ( Z )
Definicja przekształcenia Z
Przekształcenie zet jest w dziedzinie czasu dyskretnego odpowiednikiem ciągłego
przekształcenia Laplace’a w dziedzinie czasu ciągłego. Podamy dwie równoważne definicje
przekształcenia zet różniące się jedynie
sposobem zapisu matematycznego sygnału
dyskretnego:
• Dla sygnału zapisanego w postaci ciągu wartości f[n]:
F (z)
definicja ∞
∑ f [n] z −n
=
−∞
• Dla sygnału spróbkowanego f*(t) ( wykorzystując przekształcenie Laplace’a )
definicja
F ( z ) = L{ f * ( t )}
e
sT p
=z
Sygnał dyskretny
∞
f * ( t ) = ∑ f ( nTp ) ⋅ δ ( t − nTp )
−∞
Transformata Laplace’a (dwustronna) sygnału dyskretnego:
∞
FII * ( s ) = ∑ f ( nTp ) ⋅ e
−∞
− nsTp
e
sT p
=z
-2-
Stąd po dokonaniu podstawienia zgodnie z definicją otrzymamy wyrażenie jak dla ciągu
∞
F ( z ) = ∑ f ( nTp ) ⋅ z − n
−∞
Obszar zbieżności
Ponieważ przekształcenie Z ciągu f[n] jest zdefiniowane jako szereg nieskończony,
zatem istnieje tylko dla tych wartości dla których szereg jest zbieżny.
Suma zawiera zarówno dodatnie jak i ujemne potęgi zmiennej z. Jak wiadomo z teorii
szeregów potęgowych suma ujemnych potęg jest zbieżna dla |z| większego niż pewna stała r1,
a suma potęg dodatnich jest zbieżna dla |z| mniejszego niż pewna stała r2.
Wynika stąd, że obszar zbieżności (istnienia) transformaty Z ma kształt pierścienia
o promieniach r1, r2 zależnych od funkcji f[n].
W celu dokładniejszego wyjaśnienia tego zagadnienia wykorzystamy przekształcenie
Laplace’a. Rozpatrzymy odwzorowanie punktów płaszczyzny zmiennej zespolonej s na punkty
płaszczyzny zmiennej zespolonej z.
Zgodnie z definicją przekształcenia Z związek między zmienną z i s opisuje równanie:
z=e
sT p
Ponieważ
s = σ + jω
z=e
Stąd
Czynnik e
jωT p
(σ + jω )T p
σ Tp
=e
e
jωT p
jest okresowy, zatem odwzorowanie nie jest jednoznaczne.
σ Tp
z=e
e
jωTp
σ Tp
=e
e
(
j ωT p + 2π
)
-3-
Oznacza to, że każdy dowolny pas na płaszczyźnie zmiennej s określony następująco
ω0 < ω < ω0 +
2π
Tp
−∞ < σ < ∞
odwzorowuje całą płaszczyznę zmiennej z.
Im{s}
Im{z}
Re{z}
Re{s}
ω0
ω0 +
2π
Tp
Rozpatrzymy szczególne przypadki odwzorowań:
aT
Obrazem prostej o równaniu s=a (pionowa) na płaszczyźnie s będzie okrąg o promieniu e p na
płaszczyźnie zmiennej z. Oś urojonych ma płaszczyźnie s odwzorowuje się na okrąg
jednostkowy na płaszczyźnie z.
Im{s}
Im{z}
1
0
2π
Tp
Re{s}
Re{z}
-4-
Półpłaszczyzna na lewo od prostej s=a na płaszczyźnie s będzie wnętrzem koła o
aT
promieniu e
p
Im{s}
Im{z}
Re{s}
0
r>1
Re{z}
2π
Tp
Półpłaszczyzna na prawo od prostej s=a na płaszczyźnie s będzie zewnętrzem koła o promieniu
aT
e
p
Im{s}
0
Im{z}
Re{s}
r>1
Re{z}
2π
Tp
Rozpatrzymy przykład, który do wyznaczania przekształcenia Z wykorzystuje analogie z
transformacją Laplace’a
Obliczymy dwustronną transformatę Laplace’a sygnału o ciągłym czasie:
x ( t ) = e at 1( −t ) + e − bt 1( t )
x ( t ) = x− ( t ) + x+ ( t )
-5-
X − ( s ) = L { x ( −t )}s =− s
X − (s) =
1
−s + a
Obszar zbieżności dla tego składnika leży na lewo od punktu a na płaszczyźnie s, czyli
aT
wewnątrz okręgu o promieniu e >1
p
X + ( s ) = L { x ( t )}
X + (s) =
1
s+b
Obszar zbieżności dla tego składnika leży na prawo od punktu –b na płaszczyźnie s, czyli na
− bT
zewnątrz koła o promieniu e <1
p
X (s) =
1
1
+
−s + a s + b
Im{s}
Im{z}
Re{s}
0
-b
a
Re{z}
e
− bT p
e
aT p
-6-
S
Z
Pas zbieżności pomiędzy –b i a
pierścień o promieniach e
− bTp
,e
Przykłady wyznaczania transformaty Z podstawowych sygnałów:
Transformata „zet” (Z) delty Kroneckera:
⎧1 dla n = 0
⎩0 dla n ≠ 0
δ [ n] = ⎨
f[n]
1
-3 -2 -1
Z { f [ n ]} =
∞
∑ f [ n] z
n =−∞
−n
0
= ∑ f [ n] z − n = z 0 = 1
n=0
Z
δ [ n ] ⎯⎯
→1
n
0 1
2
3
aTp
-7-
Transformata Z dowolnego ciągu skończonego:
⎧1, n = −1
⎪ 2, n = 0
⎪⎪
x [ n ] = ⎨−1, n = 1
⎪ 1, n = 2
⎪
⎪⎩ 0, inne
f[n]
2
1
-3 -2 -1
n
0 1
2
3
-1
Z { f [ n ]} =
∞
∑ f [ n] z
−n
= z + 2 − z −1 + z −2
n =−∞
Transformata Z skoku jednostkowego:
⎧1 dla n ≥ 0
1[ n ] = ⎨
⎩0 dla n < 0
f[n]
1
-3 -2 -1
n
0
1
2
3
-8-
Z { f [ n ]} =
∞
∑ f [ n] z
−n
n =−∞
∞
= ∑1 ⋅ z − n
n=0
∞
= ∑ ( z −1 )
n
n=0
Wykorzystamy zależność na sumę ciągu geometrycznego:
N −1
A + Ax + ... + Ax N −1 = ∑ Ax n =
n=0
A − Ax n
1− x
x < 1 oraz N → ∞ ⇒ x N → 0
Z { f [ n ]} =
1
z
=
1 − z −1 z − 1
Z
→
1[ n ] ⎯⎯
z
z −1
Transformata F(z) posiada biegun w punkcie z=1, oraz pierwiastek w punkcie z=0. Obszar
zbieżności opisuje zależność |z| >|1|, leży na zewnątrz okręgu o promieniu 1.
Im{z}
Re{z}
0
1
-9-
Transformata Z funkcji wykładniczej ( n ≥ 0 ):
x [ n ] = a n ⋅ 1[ n ]
X ( z) =
∞
∑ x [ n] z
−n
n =−∞
∞
= ∑ an z −n
n=0
∞
= ∑ ( az −1 )
n
n=0
Suma jest zbieżna gdy |a/z|<1 lub |z|>|a|
X ( z) =
1
z
=
1 − az −1 z − a
Z
a n 1[ n ] ⎯⎯
→
z
z−a
Transformata X(z) posiada biegun w punkcie z=a, oraz pierwiastek w punkcie z=0. Obszar
zbieżności opisuje zależność |z| >|a|, leży na zewnątrz okręgu o promieniu a.
Im{z}
Re{z}
0
a
-10-
Transformata Z funkcji wykładniczej ( n < 0 ):
y [ n ] = − a n ⋅ 1[ − n − 1]
Y ( z) =
∞
∑ y [ n] z
−n
n =−∞
−1
= − ∑ an z −n
n =−∞
−1
= − ∑ ( az −1 )
n
n =−∞
∞
= 1 − ∑ ( a −1 z )
n
n=0
Suma jest zbieżna gdy |z/a|<1 lub |z|<|a|
1
1 − za −1 − 1
z
X ( z) =1−
=
=
−1
−1
1 − za
1 − za
z−a
Z
−a n 1[ − n − 1] ⎯⎯
→
z
z−a
Transformata X(z) posiada biegun w punkcie z=a, oraz pierwiastek w punkcie z=0. Obszar
zbieżności opisuje zależność |z| <|a|, leży na wewnątrz okręgu o promieniu a.
Im{z}
Re{z}
0
a
-11-
Przykład
Zidentyfikujemy obszary istnienia transformaty Z dla następujących sygnałów:
n
n
⎛ 1⎞
⎛1⎞
x [ n ] = ⎜ − ⎟ ⋅ 1[ −n ] + 2 ⎜ ⎟ ⋅ 1[ n ]
⎝ 2⎠
⎝ 4⎠
n
n
⎛ 1⎞
⎛1⎞
y [ n ] = ⎜ − ⎟ ⋅ 1[ n ] + 2 ⎜ ⎟ ⋅ 1[ n ]
⎝ 2⎠
⎝ 4⎠
n
n
⎛ 1⎞
⎛1⎞
w [ n ] = ⎜ − ⎟ ⋅ 1[ − n ] + 2 ⎜ ⎟ ⋅ 1[ − n ]
⎝ 2⎠
⎝ 4⎠
X(z)
n
∞
⎛ 1 ⎞
⎛ 1 ⎞
X ( z ) = ∑ ⎜ − ⎟ + 2∑ ⎜ ⎟
2z ⎠
n =−∞ ⎝
n=0 ⎝ 4z ⎠
0
∞
= ∑ ( −2 z )
n=0
n
∞
⎛ 1 ⎞
+ 2∑ ⎜ ⎟
n =0 ⎝ 4 z ⎠
n
n
Pierwsza suma jest zbieżna dla |2z|<1 lub |z|<1/2. Druga suma jest zbieżna dla |1/(4z)|<1 lub
|z|>1/4. Wspólny obszar zbieżności dla tych szeregów stanowi pierścień:
1
1
< z<
4
2
X ( z) =
1
2z
+
1 + 2z z − 1
4
-12-
Im{z}
Re{z}
-1/2
1/4
Y(z)
n
∞
∞
⎛ 1 ⎞
⎛ 1 ⎞
Y ( z ) = ∑ ⎜ − ⎟ + 2∑ ⎜ ⎟
2z ⎠
n=0 ⎝
n=0 ⎝ 4 z ⎠
n
∞
∞
⎛ 1 ⎞
⎛ 1 ⎞
= ∑ ⎜ − ⎟ + 2∑ ⎜ ⎟
2z ⎠
n=0 ⎝
n=0 ⎝ 4 z ⎠
n
n
Pierwsza suma jest zbieżna dla |1/(2z)|<1 lub |z|>1/2. Druga suma jest zbieżna dla |1/(4z)|<1 lub
|z|>1/4. Wspólny obszar zbieżności dla tych szeregów stanowi zewnętrze okręgu:
z >
1
2
Y (z) =
z
z+
1
2
+
2z
1
z−
4
-13-
Im{z}
Re{z}
-1/2
1/4
W(z)
W ( z) =
n
0
⎛ 1 ⎞
⎛ 1 ⎞
2
−
+
∑
∑
⎜
⎟
⎜ ⎟
2z ⎠
n =−∞ ⎝
n =−∞ ⎝ 4 z ⎠
∞
0
∞
= ∑ ( −2 z ) + 2∑ ( 4 z )
n
n=0
n
n
n=0
Pierwsza suma jest zbieżna dla |2z|<1 lub |z|<1/2. Druga suma jest zbieżna dla |4z|<1 lub
|z|<1/4. Wspólny obszar zbieżności dla tych szeregów stanowi wnętrze okręgu:
z<
1
4
W ( z) =
z
z+
1
2
+
2z
1
z−
4
-14-
Im{z}
Re{z}
-1/2
1/4
Wykorzystanie przekształcenia Laplace’a od wyznaczania transformaty Z:
Transformata Z wykładniczego przebiegu prawostronnego ( t ≥ 0 ):
x ( t ) = e − bt 1( t )
∞
x * ( t ) = e − bt ⋅ ∑ δ ( t − kTp )
k =0
∞
x * (t ) = ∑ e
− bkTp
k =0
δ ( t − kTp )
Korzystając z transformaty Laplace’a
∞
X * (s) = ∑ e
k =0
− bkTp
e
− skTp
-15-
∞
(
X * (s) = ∑ e
k =0
∞
(
X ( z) = ∑ e
k =0
X ( z) =
X ( z) =
− bTp
− bTp
e
z −1
− sTp
)
)
k
k
1
1− e
− bTp
z
− bT
z−e
z −1
p
1
jest półpłaszczyzną położoną
s+b
na prawo od prostej s=-b dlatego obszarem zbieżności transformaty Z jest zewnętrze okręgu o
− bT
promieniu e
Ponieważ obszar zbieżności transformaty Laplace’a X ( s ) =
p
Im{s}
0
-b
Im{z}
Re{s}
Re{z}
0
e
− bT p
-16-
Transformata Z wykładniczego przebiegu lewostronnego ( t < 0 ):
x ( t ) = −e − bt 1( −t )
−1
x * ( t ) = −e ⋅ ∑ δ ( t − kTp )
− bt
k =−∞
x * (t ) =
−1
∑ −e
k =−∞
− bkTp
δ ( t − kTp )
Korzystając z transformaty Laplace’a
X *(s) =
−1
∑ −e
− bkTp
e
− skTp
k =−∞
∞
X * ( s ) = −∑ e
bkTp
e
skTp
k =1
∞
(
X * ( s ) = −∑ e e
k =1
∞
(
bTp
X ( z ) = −∑ e z
k =1
∞
bTp
(
)
sTp
k =0
X ( z ) = 1−
k
k
X ( z) = 1− ∑ e z
bTp
)
)
k
bT
1
1 − e p z −1
−z
=
= −bTp
bT p
bT p
1− e z
1− e z
e
−z
X (z) =
z
− bT
z −e p
1
jest półpłaszczyzną położoną
s+b
na lewo od prostej s=-b, dlatego obszarem zbieżności transformaty zet jest wnętrze okręgu o
− bT
promieniu e
Ponieważ obszar zbieżności transformaty Laplace’a X ( s ) =
p
-17-
Im{s}
0
Im{z}
Re{s}
-b
Re{z}
0
e
− bT p
Podstawowe właściwości przekształcenia Z:
Przyjmiemy skrótowe oznaczenie transformaty zet sygnału x[n], istniejącej w obszarze
zbieżności o promieniu Rx
Z
x [ n ] ←⎯
→ X ( z ) dla OZ Rx
LINIOWOŚĆ
Z
ax [ n ] + by [ n ] ←⎯
→ aX ( z ) + bY ( z ) dla OZ Rx I Ry (wspólny obszar zbieżności)
-18-
Przykład
n
n
−z
1
3
⎛1⎞
⎛ 3⎞
Z
x [ n ] = ⎜ ⎟ ⋅ 1[ n ] − ⎜ ⎟ ⋅ 1[ − n − 1] ←⎯
→ X (z) =
dla OZ
< z <
1 ⎞⎛
3⎞
2
2
⎛
⎝ 2⎠
⎝ 2⎠
⎜ z − ⎟⎜ z − ⎟
2 ⎠⎝
2⎠
⎝
oraz
1
n
n
− z
1
⎛1⎞
⎛1⎞
Z
4
y [ n ] = ⎜ ⎟ ⋅ 1[ n ] − ⎜ ⎟ ⋅ 1[ n ] ←⎯→ Y ( z ) =
dla OZ
< z
1 ⎞⎛
1⎞
2
⎛
⎝ 4⎠
⎝ 2⎠
⎜ z − ⎟⎜ z − ⎟
4 ⎠⎝
2⎠
⎝
Im{z}
Re{z}
1/2
3/2
Im{z}
Re{z}
1/2
1/4
-19-
1
− z
−z
1
3
Z
4
ax [ n ] + by [ n ] ←⎯
→a
+b
dla OZ
< z <
1 ⎞⎛
3⎞
1 ⎞⎛
1⎞
2
2
⎛
⎛
⎜ z − ⎟⎜ z − ⎟
⎜ z − ⎟⎜ z − ⎟
2 ⎠⎝
2⎠
4 ⎠⎝
2⎠
⎝
⎝
W przypadku gdy a=b
5
− z
1
3
Z
4
ax [ n ] + ay [ n ] ←⎯
→a
dla OZ
< z <
1 ⎞⎛
3⎞
4
2
⎛
⎜ z − ⎟⎜ z − ⎟
4 ⎠⎝
2⎠
⎝
Transformata zet sinusoidalnego przebiegu prawostronnego ( t ≥ 0 ):
x [ n ] = sin ( nω 0Tp ) ⋅1[ n ]
Wykorzystamy właściwość liniowości przekształcenia oraz wyprowadzoną wcześniej
transformatę sygnału wykładniczego:
e
− nbTp
Z
1[ n ] ←⎯
→
z
− bT
z−e
p
Ponieważ
sin (α ) =
1 α
e − e −α )
(
2j
1 jnω T
1 − jnω T
1 ⎛
z
z
⎞
Z
→ ⎜
e
1[ n ] − e
1[ n ] ←⎯
− jω T ⎟ =
jω T −
2j
2j
2j⎝ z−e
z−e
⎠
0 p
0 p
0 p
0 p
-20-
(
− jω 0Tp
) (
)(
− z z−e
1 z z−e
=
− jω T
jω T
2j
z−e
z−e
(
0 p
jω 0Tp
0 p
)
)=
− jω0Tp
jω0Tp
z 2 − ze
1
− z 2 + ze
jω T
jω T =
− jω T
− jω T
2 j z 2 − ze
− ze
+e
e
0 p
0 p
0 p
z jω T
z jω T
− jω T
− jω T
−e
−e
e
e
2j
2j
= 2
= 2
jω T
jω T
− jω T
− jω T
0
+e
+e
+e
+1
z −z e
z −z e
(
(
0 p
0 p
)
)
0 p
0 p
Z
sin ( nω 0Tp ) ⋅ 1[ n ] ←⎯
→
(
(
0 p
0 p
0 p
0 p
z sin (ω 0Tp )
)
)
z 2 − 2 z cos (ω 0Tp ) + 1
dla OZ z > 1
Im{z}
1
Re{z}
0 p
-21-
ODWRÓCENIE SYGNAŁU W CZASIE
1
⎛1⎞
Z
x [ −n ] ←⎯
→ X ⎜ ⎟ dla OZ
Rx
⎝z⎠
Odwrócenie sygnału w dziedzinie czasu odpowiada zmianie zmiennej z na z-1 . Zmianie ulega
także obszar zbieżności. Jeżeli Rx jest pierścieniem a<|z|<b to obszar zbieżności sygnału
odwróconego a<|1/z|<b lub 1/b<|z|<1/a
PRZESUNIĘCIE SYGNAŁU W CZASIE
Z
x [ n − n0 ] ←⎯
→ z − n X ( z ) dla OZ Rx
0
Mnożenie przez z − n wprowadza n0 biegunów w z=0 gdy n0>0. W tym przypadku jeżeli
bieguny nie są redukowane przez pierwiastki X(z), nowy obszar zbieżności nie może zawierać
punktu z=0. Natomiast gdy n0<0 mnożenie przez z − n wprowadza n0 biegunów w
nieskończoności. Jeżeli bieguny te nie są redukowane przez pierwiastki X(z), nowy obszar
zbieżności nie może zawierać punktu z = ∞
0
0
Przykłady:
f[n]
g[n]=f[n-1]
n
-3 -2 -1
0 1
2
3
n
-3 -2 -1
g[0]=f[-1]
g[1]=f[0]
0 1
2
3
-22∞
G ( z ) = ∑ g [ n ] z − n = g [ 0] + g [1] z −1 + g [ 2] z −2 + ...
n =0
= f [ −1] + f [ 0] z −1 + f [1] z −2 + ...
⎧⎪
⎫⎪
−1
= f [ −1] + z ⎨ f [ 0] z + f [1] z + ...⎬
144424443
⎪⎩
⎪⎭
F ( z)
−1
Stąd otrzymujemy zależności:
Z
f [ n − 1] ←⎯
→ z −1 F ( z ) + f [ −1]
(
)
Z
f [ n − 2] ←⎯
→ z −1 z −1F ( z ) + f [ −1] + f [ −2] = z −2 F ( z ) + z −1 f [ −1] + f [ −2]
144
42444
3
(
)
z ( Z { f [ n ]} − f [ 0]) = Z { f [ n + 1]}
z Z { f [ n − 1]} − f [ −1] = Z { f [ n ]}
Z
f [ n + 1] ←⎯
→ z ( F ( z ) − f [ 0])
⎛
⎞
Z
f [ n + 2] ←⎯
→ = z ⎜ z ( F ( z ) − f [ 0]) − f [1] ⎟ = z 2 F ( z ) − z 2 f [ 0] − zf [1]
⎜ 1442443
⎟
⎝
⎠
MNOŻENIE PRZEZ CIĄG WYKŁADNICZY
⎛z⎞
Z
→ X ⎜ ⎟ dla OZ α Rx
α n x [ n ] ←⎯
⎝α ⎠
Jeżeli Rx jest pierścieniem a<|z|<b to obszar zbieżności sygnału |a|a<|z|<|a|b. Zmiana obszaru
zbieżności wynika z przesuwania się biegunów funkcji X(z). Wszystkie bieguny zostają w
jednakowej skali równej |a| przesunięte względem z=0.
-23-
Wyprowadzimy z definicji przekształcenia zet powyższą własność
∞
Z
a n x [ n ]1[ n ] ←⎯
→ ∑ a n x [ n] z − n
n =0
∞
= ∑ x [ n] a n z − n
n=0
∞
= ∑ x [ n ] ( a −1 z )
−n
n=0
= X ( a −1 z )
Przykład
Z
a n1[ n ] ←⎯
→
z
z−a
Ponieważ
Z
1[ n ] ←⎯
→
z
z −1
to
a −1 z
=
a 1[ n ] ←⎯→ −1
a z −1
z
=
z−a
n
Z
SPLOT
Z
x [ n ] ∗ y [ n ] ←⎯
→ X ( z ) Y ( z ) dla OZ Rx I Ry
Splot przebiegów czasowych odpowiada mnożeniu transformat. Z liniowości
przekształcenia wynika, że obszar zbieżności może być większy niż część wspólna obszarów
dla transformat splatanych sygnałów. Taki przypadek zachodzi wtedy wystepuje redukcja
pierwiastków i biegunów.
-24-
RÓŻNICZKOWANIE W DZIEDZINIE „ZET”
Z
nx [ n ] ←⎯
→− z
d
X ( z ) dla OZ Rx
dz
Mnożenie sygnału przez n w dziedzinie czasu odpowiada różniczkowaniu oraz mnożeniu przez
–z w dziedzinie zet. Operacja ta nie zmienia obszaru zbieżności.
Wyprowadzimy tę własność z definicji przekształcenia zet:
∞
Z
n1[ n ] ←⎯
→ ∑ nz − n =
n=0
= 0 + z + 2 z −2 + 3z −3 + ...
−1
= − z {− z −2 − 2 z −3 − 3 z −4 − ...}
d
1 + z −1 + 2 z −2 + 3 z −3 + ...}
{
dz
d ⎧ z ⎫
= −z ⎨
⎬
dz ⎩ z − 1⎭
= −z
stąd
Z
n1[ n ] ←⎯
→− z
d ⎧ z ⎫
⎨
⎬=
dz ⎩ z − 1 ⎭
⎧⎪ z − 1 − z ⎫⎪
= −z ⎨
2 ⎬
⎩⎪ ( z − 1) ⎭⎪
z
=
2
( z − 1)
-25-
Przykład:
Znajdziemy transformatę sygnału
(
)
x [ n ] = n ( − 12 ) 1[ n ] ∗ ( 14 ) 1[ − n ]
n
−n
Oznaczymy:
(
w [ n ] = n ( − 12 ) 1[ n ]
n
)
y [ n ] = ( 14 ) 1[ − n ]
−n
Obliczenia dla w[n]:
( − ) 1[ n] ←⎯→
1
2
n
Z
z
dla OZ z >
z + 12
1
2
Wykorzystamy właściwość różniczkowania w dziedzinie zet:
Z
→−z
n ( − 12 ) 1[ n ] ←⎯
n
d ⎛ z ⎞
dla OZ z >
dz ⎜⎝ z + 12 ⎟⎠
⎛ z + 12 − z ⎞
= −z ⎜
⎜ ( z + 1 )2 ⎟⎟
2
⎝
⎠
1
−2z
=
dla OZ z >
2
1
+
z
( 2)
1
2
Obliczenia dla y[n]:
( ) 1[ n] ←⎯→
1
4
n
Z
z
dla OZ z >
z − 14
1
4
1
2
-26-
Wykorzystamy właściwość inwersji w czasie:
( )
1
4
=
−n
Z
1[ − n ] ←⎯
→
z −1
dla OZ
z −1 − 14
1
z
>
1
4
−4 z
dla OZ z < 4
z−4
Wykorzystamy właściwość transformaty splotu:
Z
x [ n ] = w[ n ] ∗ y [ n ] ←⎯
→ X ( z ) = W ( z ) Y ( z ) dla OZ RW I RY
=
− 12 z
−4 z
2 ⋅
( z + 12 ) z − 4
2z2
=
2 dla OZ
( z − 4 )( z + 12 )
1
2
< z <4
-1 -
Odwrotne przekształcenie Z
Rozpatrzymy zagadnienie odtwarzania dyskretnego sygnału czasowego x[n] z jego
transformaty X(z). Do wyznaczenia ciągu x[n] w sposób jednoznaczny musimy znać obszar
zbieżności (OZ).
Odwracanie X(z) przez rozkład na ułamki proste
Analizując systemy LTI zwykle transformatę ZET przebiegów otrzymujemy w postaci
funkcji wymiernej zmiennej z-1.
Niech dana będzie transformata sygnału dyskretnego x[n] w postaci:
X ( z) =
=
B( z)
A( z )
b0 + b1 z −1 + L + bM z − M
1 + a1 z −1 + L + aN z − N
oraz stopień wielomianu w liczniku jest mniejszy od stopnia wielomianu w mianowniku tzn.
M<N.
Jeżeli M ≥ N to musimy zastosować dzielenie wielomianów aby przedstawić X(z) w formie
następującego wyrażenia:
X ( z) =
M −N
∑
k =0
fk z −k +
B% ( z )
A( z )
Wówczas stopień wielomianu w liczniku B% ( z ) jest teraz mniejszy od stopnia wielomianu w
mianowniku.
-2 -
Metoda rozkładu na ułamki proste pozwala na wyznaczenie transformaty odwrotnej wyrażenia:
B% ( z )
,
A( z )
Transformatę odwrotną sumy
M −N
∑
k =0
fk z −k
Z
otrzymamy wykorzystując transformatę delty δ [ n ] ←⎯
→1 oraz właściwość przesunięcia ciągu
w dziedzinie czasu.
W wielu problemach praktycznych transformata X(z) wyrażona jest jako stosunek
wielomianów zmiennej z a nie z-1.
W takich przypadkach możemy stosować metodę rozkładu na ułamki proste jeżeli
wcześniej przekształcimy X(z) do postaci stosunku wielomianów o zmiennej z-1.
Konwersji tej możemy dokonać poprzez wyciągnięcie przed nawias w liczniku
największej potęgi z, a w mianowniku wyciagnięcie przed nawias największej potęgi z razem
ze współczynnikiem przy tej potędze.
Przykład:
Jeżeli transformata ma postać
2 z 2 − 2 z + 10
X ( z) =
3z 3 − 6 z + 9
W liczniku wyciągniemy przez nawias z2 a w mianowniku 3z3.
X ( z) =
z 2 ( 2 − 2 z −1 + 10 z −2 )
3 z 3 (1 − 2 z −2 + 3z −3 )
1 ⎛ 2 − 2 z −1 + 10 z −2 ⎞
= z −1 ⎜
3 ⎝ 1 − 2 z −1 + 3 z −3 ⎟⎠
Rozkład na ułamki proste stosuje się do wyrażenia w nawiasie, natomiast czynnik 13 z −1
jest uwzględniany później z zastosowaniem właściwości przesuwania ciągu w czasie.
-3 -
Rozkład na ułamki proste funkcji w postaci
b0 + b1 z −1 + L + bM z − M
X ( z) =
1 + a1 z −1 + L + aN z − N
wykonuje się poprzez przekształcenie wielomianu w mianowniku wyrażenia X(z) do postaci
iloczynu wielomianów pierwszego stopnia
b0 + b1 z −1 + L + bM z − M
X ( z) =
(1 − d1 z −1 )(1 − d 2 z −1 )L (1 − d N z −1 )
gdzie dk są biegunami funkcji X(z).
Jeżeli wszystkie bieguny są jednokrotne to możemy funkcję X(z) zapisać w postaci sumy
ułamków prostych w postaci:
X ( z) =
A1
A2
AN
+
+L+
−1
−1
1 − d1 z
1 − d2 z
1 − d N z −1
Współczynniki obliczamy z zależności:
Ai = (1 − di z −1 ) X ( Z )
z = di
Odwrotną transformację ZET każdego składnika osobno wyznaczamy wykorzystując pary
transformat prostych ciągów:
( )
A d
k k
n
Z
1[ n ] ←⎯→
A
k
OZ z > d k
−
1
1− d z
k
Z
− Ak ( d k ) 1[ − n − 1] ←⎯
→
n
Ak
OZ z < d k
1 − d k z −1
-4 -
Relacje pomiędzy obszarem zbieżności (OZ) związanym z X(z) i każdym biegunem
determinują, które składniki są transformatami ciągów lewostronnych, a które prawostronnych.
Jeżeli biegun di jest wielokrotny o krotności r, to otrzymamy r składników rozwinięcia
związanych z tym biegunem:
Ai1
Ai 2
Air
,
,L,
r
−1
−1 2
1 − d i z (1 − di z )
(1 − di z −1 )
Transformację odwrotną otrzymamy wykorzystując pary:
A
A
( n + 1)L( n + m − 1) d 1 n ←⎯→
( ) [ ]
( m − 1)!
(1 − d z )
n
OZ z > di
Z
−1 m
i
i
−A
A
( n + 1)L( n + m − 1) d 1 −n − 1 ←⎯→
( ) [
]
( m − 1)!
(1 − d z )
n
Z
−1 m
i
OZ z < d i
i
Położenie biegunów względem OZ funkcji X(z) determinuje to , która transformata
odwrotna, lewostronna czy prawostronna zostanie wybrana do odwrócenia składnika.
Aby poprawnie wyznaczyć odwrotną transformatę ZET należy po rozłożeniu funkcji
X(z) na ułamki proste określić dla każdego składnika jego obszar zbieżności.
Polega to na określeniu dla każdego bieguna jego położenia względem obszaru zbieżności
funkcji X(z).
• Jeżeli OZ funkcji X(z) ma promień większy niż biegun musimy wybrać
prawostronną transformatę odwrotną.
• Jeżeli OZ funkcji X(z) na promień mniejszy niż biegun należy wybrać
lewostronną transformatę odwrotną dla tego składnika.
-5 -
Przykład:
Należy wyznaczyć odwrotną transformatę ZET przy zadanym obszarze zbieżności
1 − z −1 + z −2
X ( z) =
OZ 1 < z < 2
(1 − 12 z −1 )(1 − 2 z −1 )(1 − z −1 )
Zastosujemy rozkład na ułamki proste:
X ( z) =
A1 = (1 − 12 z −1 ) X ( Z )
(1 −
A1
1
2
z
−1
)
+
A3
A2
+
−1
(1 − 2 z ) (1 − z −1 )
z = 12
=
1 − z −1 + z −2
(1 − 2 z −1 )(1 − z −1 )
=
1− 2 + 4
=1
(1 − 2 ⋅ 2 )(1 − 2 )
z = 12
A2 = (1 − 2 z −1 ) X ( Z )
1 − z −1 + z −2
=
(1 − 12 z −1 )(1 − z −1 )
=
z =2
z =2
1 − 12 + 14
=2
(1 − 12 ⋅ 12 )(1 − 12 )
A3 = (1 − z −1 ) X ( Z )
Po wyznaczeniu współczynników
X ( z) =
(1 −
1
1
2
z
−1
)
+
2
−2
+
−1
(1 − 2 z ) (1 − z −1 )
z =1
=
1− z + z
(1 − 12 z −1 )(1 − 2 z −1 )
=
1−1+1
= −2
(1 − 12 ⋅1)(1 − 2 ⋅1)
−1
−2
z =1
-6 -
Znajdziemy teraz odwrotną transformatę ZET dla każdego składnika X(z) biorąc pod
uwagę położenie biegunów względem obszaru zbieżności. Obszar zbieżności OZ oraz
położenie biegunów przestawia rysunek.
Im{z}
Re{z}
0
1/2
1
2
1. Obszar zbieżności ma promień większy niż biegun z = 12 , więc dla pierwszego
składnika X(z) zastosujemy prawostronną transformację odwrotną
( ) 1[ n] ←⎯→
1
2
n
1
Z
1 − 12 z −1
2. Obszar zbieżności ma promień mniejszy niż biegun z = 2 , więc dla drugiego
składnika X(z) zastosujemy lewostronną transformację odwrotną
Z
−2 ( 2 ) 1[ − n − 1] ←⎯
→
n
2
1 − 2 z −1
3. Obszar zbieżności ma promień większy niż biegun z = 1 , więc dla trzeciego składnika
X(z) zastosujemy prawostronną transformację odwrotną
Z
−2 ⋅ 1[ n ] ←⎯
→
−2
1 − z −1
Sumując poszczególne składniki otrzymujemy ostatecznie
x [ n ] = ( 12 ) 1[ n ] − 2 ( 2 ) 1[ − n − 1] − 2 ⋅ 1[ n ]
n
n
-7 -
Przykład:
Wyznaczyć odwrotną transformatę ZET
z 3 − 10 z 2 − 4 z + 4
X ( z) =
OZ z < 1
2z2 − 2z − 4
Bieguny transformaty ZET znajdują się w punktach z=-1 oraz z=2. Obszar zbieżności oraz
położenie biegunów przestawia rysunek.
Im{z}
Re{z}
-1
0
2
Na wstępie należy przekształcić X(z) do postaci ilorazu wielomianów zmiennej z-1. Dokonamy
tego wyprowadzając przed nawias w liczniku z3 i mianowniku 2z2
X ( z) =
z 3 (1 − 10 z −1 − 4 z −2 + 4 z −3 )
2 z 2 (1 − z −1 − 2 z −2 )
1 ⎛ 1 − 10 z −1 − 4 z −2 + 4 z −3 ⎞
= z⎜
⎟
2 ⎝
1 − z −1 − 2 z −2
⎠
Czynnik 12 z uwzględnimy później stosując właściwość przesunięcia w dziedzinie czasu.
-8 -
Stosując dzielenie wielomianów redukujemy stopień wielomianu w liczniku:
−2 z −1 + 3
( 4 z −3 − 4 z −2 − 10 z −1 + 1) : ( −2 z −2 − z −1 + 1)
4 z −3 + 2 z −2 − 2 z −1
−6 z −2 − 8 z −1 + 1
−6 z −2 − 3 z −1 + 3
− 5 z −1 − 2
−2 − 5 z −1
W ( z ) = −2 z + 3 +
1 − z −1 − 2 z −2
−2 − 5 z −1
−1
= −2 z + 3 +
(1 + z −1 )(1 − 2 z −1 )
−1
Dokonamy rozkładu na ułamki proste
− 2 − 5 z −1
1
−3
=
+
(1 + z −1 )(1 − 2 z −1 ) (1 + z −1 ) 1 − 2 z −1
W ( z ) = −2 z −1 + 3 +
1
−3
OZ z < 1
+
−1
(1 + z ) 1 − 2 z −1
Promień obszaru zbieżności jest mniejszy niż promienie wszystkich biegunów, dlatego
zastosujemy lewostronną transformatę odwrotną:
w[ n ] = −2δ [ n − 1] + 3δ [ n ] − ( −1) 1[ − n − 1] + 3 ( 2 ) 1[ − n − 1]
n
Ale
n
X ( z ) = 12 zW ( z )
Zgodnie z własnością przesunięcia w czasie
x [ n ] = 12 w[ n + 1]
Ostatecznie
x [ n ] = −δ [ n ] + 32 δ [ n + 1] − 12 ( −1) 1[ − n − 2] + 3 ( 2 ) 1[ − n − 2]
n +1
n +1
-9 -
Odwracanie X(z) przez rozwinięcie w szereg potęgowy (sygnały jednostronne).
Jeżeli przedstawimy funkcję X(z) w postaci szeregu potęgowego zmiennej z-1 lub z to
zgodnie z definicją transformaty ZET, współczynniki przy z-n są wartościami kolejnych próbek
sygnału x[n].
Metoda jest ograniczona dla przebiegów jednostronnych, tzn. jeżeli obszar zbieżności
definiuje zależność |z|>a lub |z|<a.
• Jeżeli OZ jest |z|<a to X(z) jest szeregiem potęgowym zmiennej z i generuje ciąg
lewostronny.
• Jeżeli OZ jest |z|>a to X(z) jest szeregiem potęgowym zmiennej z-1 i generuje ciąg
prawostronny.
Szereg potęgowy otrzymamy dzieląc wielomian w liczniku przez wielomian w mianowniku
X(z).
Przykład:
Wyznaczymy odwrotną transformatę ZET funkcji
2 + z −1
X ( z) =
OZ z > 12
1 −1
1− 2 z
stosując rozwinięcie w szereg potęgowy
Im{z}
Re{z}
0
1/2
-10 -1
Stosujemy dzielenie wielomianów zmiennej z , ponieważ obszar zbieżności dotyczy sygnału
prawostronnego:
2
2 + z −1 :1 − 12 z −1
2 − z −1
2 z −1
2 + 2 z −1
2 + z −1 :1 − 12 z −1
2 − z −1
2 z −1
2 z −1 − z − 2
z −2
2 + 2 z −1 + z −2 + 12 z −3 + ...
2 + z −1 : 1 − 12 z −1
2 − z −1
2 z −1
2 z −1 − z −2
z −2
z −2 − 12 z −3
1 −3
2 z
Zatem obliczony szereg potęgowy
X ( z ) = 2 + 2 z −1 + z −2 + 12 z −3 +L
odpowiada sygnałowi:
x [ n ] = 0 dla n < 0
x [ 0] = 2
x [1] = 2
x [ 2] = 1
x [3] = 12
M
-11 -
Jeżeli zmienimy obszar zbieżności dla tej samej funkcji z < 12 rozwijamy X(z) względem
zmiennej z:
Im{z}
Re{z}
0
1/2
Rozwijamy funkcję w szereg potęgowy zmiennej z
−2
z −1 + 2 : − 12 z −1 + 1
z −1 − 2
4
−2 − 8 z − 16 z 2 − 32 z 3 + L
z −1 + 2 : − 12 z −1 + 1
z −1 − 2
4
4 − 8z
8z
8 z − 16 z 2
16 z 2
Otrzymujemy
X ( z ) = −2 − 8 z − 16 z 2 − 32 z 3 +L
-12 -
wyrażenie to jest transformatą przebiegu:
x [ n ] = 0 dla n > 0
x [ 0] = −2
x [ −1] = −8
x [ −2] = −16
x [ −3] = −32
M
Metoda wykorzystująca szereg potęgowy do odwrócenia transformaty dotyczy również
wyrażeń, które nie są w postaci ilorazu wielomianów. Pokazuje to następujący przykład:
Przykład
Należy wyznaczyć ciąg, którego transformata ZET na postać
X ( z ) = e z OZ z = ∞
2
Wykorzystamy zależność
ak
e =∑
k =0 k !
∞
a
Stąd funkcję X(z) można przedstawić w postaci szeregu:
∞
X ( z) = ∑
k =0
(z )
2
k
k!
z
k =0 k !
∞
=∑
2k
którego transformata odwrotna jest ciągiem lewostronnym przyjmującym następujące wartości:
⎧0 dla n > 0 i nieparzyste
⎪
x [ n] = ⎨
1
pozostale
⎪
( n 2 )!
⎩
-13 -
Odwracanie X(z) z zastosowaniem metody residuów
Oznaczmy przez C dowolny okrąg położony wewnątrz pierścienia o promieniach a i b:
a< z <b
i środku w punkcie z=0. Obliczymy całkę krzywoliniową z funkcji X(z) wzdłuż tego okręgu.
Na podstawie właściwości liniowości możemy zmieniać kolejność operacji całkowania i
sumowania.
∫
C
=
∞
X ( z ) dz = ∫ ⎛⎜ ∑ x [ n ] z − n ⎞⎟ dz
⎠
C ⎝ n =−∞
⎛
n =−∞ ⎝
∞
∑ ⎜ x [ n] ∫ z
C
−n
⎞
dz ⎟
⎠
Jeżeli zmienną z wyrazimy w postaci wykładniczej
z = re jϕ
całkowanie funkcji z-n po krzywej C wyrażone w układzie biegunowym przyjmie postać
dz z =re jϕ π jre jϕ
∫C z n = −∫π r ne jnϕ dϕ
j π j( n−1)ϕ
= n−1 ∫ e
dϕ
r −π
⎧2π j, n = 1
=⎨
⎩ 0, n ≠ 1
-14 -
Zatem wykorzystując właściwość przesunięcia w czasie możemy napisać
∫ X ( z ) dz = 2π jx [1]
C
∫ zX ( z ) dz = 2π jx [ 2]
C
∫z
n −1
X ( z ) dz = 2π jx [ n ]
C
Ostatecznie kolejne wartości próbek sygnału otrzymamy rozwiązując wyrażenie całkowe
x [ n] =
1
z
2π j C∫
n −1
X ( z ) dz n = L, −2, −1,0,1,2,L
Powyższe wyrażenie całkowe jest przyjmowane jako definicja odwrotnego
przekształcenia ZET i jest stosowana do obliczenia transformaty odwrotnej. Do obliczania
całki po krzywej zamkniętej wykorzystuje się twierdzenie Cauchy’ego o residuach.
Wykorzystując twierdzenie Cauchy’ego o residuach, funkcję oryginalną można
wyznaczyć jako sumę residuów liczonych dla wszystkich biegunów
x [ n ] = ∑ res ⎡⎣ z n −1 X ( z ) ⎤⎦
k
gdzie dla m – krotnego bieguna zk
1
d m−1 ⎡
m
res ⎡⎣ F ( z ) ⎤⎦ =
z
z
F ( z ) ⎤⎦
−
(
)
k
m
−
1
zk
z = zk
( m − 1)! dz ⎣
-15 -
Przykład:
X ( z) =
z
z−a
z >a
Dla n większych lub równych 1:
z ⎤
⎡
x [ n ] = ∑ res ⎡⎣ z n −1 X ( z ) ⎤⎦ = ∑ res ⎢ z n−1
z − a ⎥⎦
k
k
⎣
(biegun 1 krotny równy)
z ⎤
⎡
x [ n ] = lim ⎢( z − a ) z n −1
⋅ 1[ n ] = lim ⎡⎣ z n ⎤⎦ = a n ⋅ 1[ n ]
⎥
z =a
z =a
z − a⎦
⎣
Przykład:
2z2 + 2z + 1
X ( z) =
z2 + z
F ( z) = z X ( z) =
n −1
1. dla n = 0
z >1
z n ( 2 z 2 + 2 z + 1)
z 2 ( z + 1)
z >1
dwa bieguny z=-1 (m=1) z=0 (m=2)
2z2 + 2z + 1
d ⎡ 2 2 z 2 + 2 z + 1⎤
+ ⎢z
x [ 0] = res ⎡⎣ F ( z ) ⎤⎦ + res ⎡⎣ F ( z ) ⎤⎦ = ( z + 1) 2
⎥
0
−1
z ( z + 1) z =−1 dz ⎣
z 2 ( z + 1) ⎦
2. dla n = 1
2z2 + 2z + 1
2z2 + 2z + 1
+z
= −1 + 1 = 0
z ( z + 1) z =−1
z ( z + 1) z =0
jeden biegun z=-1 (m=1)
x [ n ] = res ⎡⎣ F ( z ) ⎤⎦ = ( z + 1) z
−1
z =0
dwa bieguny z=-1 (m=1) z=0 (m=1)
x [1] = res ⎡⎣ F ( z ) ⎤⎦ + res ⎡⎣ F ( z ) ⎤⎦ = ( z + 1)
−1
0
3. dla n ≥ 2
=1+1 = 2
n−2
2z2 + 2z + 1
n−2
= ( −1) ⋅ 1[ n − 2]
z ( z + 1) z =−1
-16 -
Obliczanie odwrotnej transformaty ZET w Matlab’ie
Funkcja MATLAB-a residuez pozwala rozkładać na ułamki proste transformatę ZET,
wyrażoną w postaci ilorazu dwóch wielomianów zmiennej z-1. Format polecenia jest
następujący:
[r, p, k] = residuez(b,a)
gdzie b, a są wektorami reprezentującymi współczynniki wielomianów w liczniku i
mianowniku w kierunku malejących potęg zmiennej z.
Wektor r reprezentuje współczynniki rozkładu na ułamki proste, odpowiednio do
biegunów danych jako wektor p.
Wektor k zawiera współczynniki odpowiadające składnikom związanym z kolejnymi
potęgami z-1, które pojawiają się gdy stopień licznika jest równy lub większy od stopnia
mianownika.
Przykład obliczania transformaty odwrotnej:
X ( z) =
z 3 − 10 z 2 − 4 z + 4
2z2 − 2z − 4
Przed zastosowaniem obliczeń w MATLABIE należy wielomiany w liczniku i mianowniku
przedstawić względem zmiennej z-1:
X ( z) =
z 3 (1 − 10 z −1 − 4 z −2 + 4 z −3 )
2 z 2 (1 − z −1 − 2 z −2 )
X ( z ) = 12 zY ( z )
1 − 10 z −1 − 4 z −2 + 4 z −3
Y ( z) =
1 − z −1 − 2 z − 2
1 − 10 z −1 − 4 z −2 + 4 z −3
= z
1 − z −1 − 2 z −2
1
2
-17 -
Zastosujemy funkcję residuez do wyznaczenia rozkładu wyrażenia Y(z):
»[r,p,k] = residuez([1 –10 –4 4], [1 –1 -2])
r =
-3
1
p =
2
-1
k =
3
-2
Zatem rozkład jest następujący:
Y (z) =
−3
1
+
+ 3 − 2 z −1
−1
−1
1 − 2z
1+ z
Aby wyznaczyć transformatę odwrotną należy określić obszar zbieżności funkcji Y(z). Granice
obszaru zbieżności wyznaczają bieguny z1=2, z2=-1.
» zplane([1 -10 -4 4], [0 1 -1 -2])
1
Imaginary Part
0.5
0
-0.5
-1
-1.5
-1
-0.5
0
0.5
1
Real Part
1.5
2
2.5
-18 -
Jeżeli obszar zbieżności wybierzemy na zewnątrz okręgu o promieniu 2, to oryginał jest
funkcją czasu prawostronną, dla czasów od 0 do ∞.
y ( n ) = −3 ( 2 ) 1[ n ] + ( −1) 1[ n ] + 3δ [ n ] − 2δ [ n − 1]
n
n
ostatecznie uwzględniając współczynnik i przesunięcie:
x ( n ) = − 23 ( 2 ) 1[ n + 1] + 12 ( −1) 1[ n + 1] + 23 δ [ n + 1] − δ [ n ]
n +1
n +1
*)Przygotowano na podstawie: S. Haykin, B.Van Veen „Signals and System” New York 1999
-1-
Zastosowania transformaty ZET
Rozwiązywanie równań różnicowych
Dyskretny system liniowy-stacjonarny można opisać równaniem różnicowym w
postaci ogólnej
N
M
k =0
k =0
∑ ak y [ n − k ] = ∑ bk x [ n − k ]
Transformacja „Z” pozwala w efektywny sposób obliczać odpowiedzi systemu na
zadane wymuszenia.
Przykład:
Rozważmy system opisany równaniem różnicowym
y [ n ] − 0.9 y [ n − 1] = x [ n ]
Wyznaczymy odpowiedź systemu na wymuszenie jednostkowe x[n]=1[n] dla
wartości początkowej odpowiedzi y[-1]=2.
-2-
Wykorzystamy własności przesunięcia w dziedzinie czasu dla transformaty
jednostronnej
Jeżeli
Z
y [ n ] ←⎯
→Y ( z )
Z
y [ n − 1] ←⎯
→ z −1Y ( z ) + y [ −1]
to
Przekształcamy ( transformacja Z ) obie strony równania różnicowego
Y ( z ) − 0.9 ( z −1Y ( z ) + y [ −1]) = X ( z )
Y ( z ) (1 − 0.9 z −1 ) = X ( z ) + 0.9 y [ −1]
Y (z) =
0.9 y [ −1]
X ( z)
+
−1
1 − 0.9 z
1 − 0.9 z −1
Ponieważ transformata skoku jednostkowego wynosi
X ( z) =
1
1 − z −1
oraz wartość początkowa
y[-1]=2
to:
Y ( z) =
1
(1 − 0.9 z )(1 − z )
−1
−1
+
1.8
1 − 0.9 z −1
Stosujemy rozkład na ułamki proste:
Y (z) =
A1
A2
1.8
+
+
1 − 0.9 z −1 1 − z −1 1 − 0.9 z −1
-3-
Współczynniki ułamków prostych obliczamy z zależności
1
1
=
= −9
−1 z = 0.9
1− z
1 − 109
1
1
=
= 10
A2 =
−1 z =1
1 − 0.9 z
1 − 109
A1 =
Stąd
Y ( z) =
−9
10
1.8
+
+
OZ z > 1
1 − 0.9 z −1 1 − z −1 1 − 0.9 z −1
Odwrotna transformata dla przyjętego obszaru zbieżności daje rozwiązanie w postaci
sygnału wyjściowego systemu:
y [ n ] = −9 ( 0.9 ) 1[ n ] + 10 ⋅ 1[ n ] + 1.8 ( 0.9 ) 1[ n ]
n
n
n
y [ n ] = ⎡⎣10 − 8.2 ⋅ ( 0.9 ) ⎤⎦ ⋅ 1[ n ]
Przykład
Wyznaczymy odpowiedź impulsową systemu opisanego równaniem różnicowym
y [ n + 1] + 2 y [ n ] = x [ n ]
-4-
Wykorzystamy własności:
Z
y [ n + 1] ←⎯
→ zY ( z ) + y [ 0]
Z
δ [ n ] ←⎯
→1
Transformując obie strony równania różnicowego ( przy wyznaczaniu odpowiedzi
impulsowej zakłada się zerowe warunki początkowe ) otrzymamy:
zY ( z ) + y [ 0] + 2Y ( z ) = 1
zY ( z ) + 2Y ( z ) = 1
Y ( z )( z + 2 ) = 1
Ostatecznie transformata odpowiedzi impulsowej wynosi:
1
z+2
1
1
= ⋅
z 1 + 2 z −1
⎛ 1 ⎞
= z −1 ⎜
−1 ⎟
⎝ 1 + 2z ⎠
Y ( z) =
Transformata odwrotna wyrażenia w nawiasie wynosi
1
n
Z
←⎯
→ ( −2 ) 1[ n ]
−1
1 + 2z
-5-1
Mnożenie przez z powoduje w dziedzinie czasu opóźnienie sygnału o jedną próbkę,
stąd otrzymujemy:
n −1
⎛ 1 ⎞ Z
←⎯→ ( −2 ) 1[ n − 1]
z −1 ⎜
−1 ⎟
⎝ 1 + 2z ⎠
Odpowiedź impulsowa systemu wynosi
y [ n ] = ( −2 ) 1[ n − 1]
n −1
Transmitancja systemu dyskretnego
Definicja: Transmitancję H(z) systemu LTI definiujemy jako transformatę Z
odpowiedzi impulsowej systemu h[n].
Odpowiedź y[n] systemu na dowolne wymuszenie x[n] oblicza się jako splot
odpowiedzi impulsowej h[n] systemu oraz wymuszenia:
y [ n] = h [ n] ∗ x [ n]
Transformując obie strony wyrażenia oraz wykorzystując własność
transformaty Z ( splotu w dziedzinie czasu ), możemy wyrazić transformatę
odpowiedzi Y[z] w postaci iloczynu transmitancji H[z] oraz transformaty wymuszenia
X[z].
Y ( z) = H (z) X (z)
-6-
Stąd transmitancja:
H (z) =
Y ( z)
X ( z)
Transmitancja systemu w zależności od współczynników równania różnicowego
System liniowy-stacjonarny w dziedzinie czasu opisuje równanie różnicowe.
N
M
k =0
i =0
∑ ak y [ n − k ] = ∑ bi x [ n − i ]
Wykorzystując własność liniowości transformaty Z oraz transformaty przesuniętych
w czasie sygnałów otrzymuje się:
N
M
k =0
i =0
∑ ak z − kY ( Z ) = ∑ bi z − i X ( z )
Stąd transmitancja systemu może być opisana jako:
H (z) =
Y ( z)
X ( z)
M
H (z) =
∑b z
−i
∑a z
−k
i =0
N
k =0
i
k
-7-
Przykład:
Znajdziemy równanie różnicowe opisujące system jeżeli dana jest jego transmitancja
H ( z) =
5z + 2
z + 3z + 2
2
Pomnożymy licznik i mianownik przez z-2 i porównamy z zależnością ogólną
dla H(z)
b0 + b1 z −1 + b2 z −2
H (z) =
a0 + a1 z −1 + a2 z −2
5 z −1 + 2 z − 2
H (z) =
1 + 3 z −1 + 2 z −2
Stąd wynika równanie różnicowe opisujące system ma postać:
a0 y [ n ] + a1 y [ n − 1] + a2 y [ n − 2] = b1 x [ n − 1] + b2 x [ n − 2]
y [ n ] + 3 y [ n − 1] + 2 y [ n − 2] = 5 x [ n − 1] + 2 x [ n − 2]
Transmitancja systemu w zależności od macierzy stanu
System liniowy-stacjonarny w dziedzinie czasu opisują równania stanu
Q [ n + 1] = AQ [ n ] + bx [ n ]
y [ n ] = cQ [ n ] + Dx [ n ]
-8-
Transformata Z wektora stanu wynosi:
⎡ Q1 ( z ) ⎤
⎢
⎥
Q2 ( z ) ⎥
⎢
Q( z) =
⎢ M ⎥
⎢
⎥
⎢⎣QN ( z ) ⎥⎦
Transformata pierwszego równania macierzowego wynosi
zQ ( z ) = AQ ( z ) + bX ( z )
Q ( z ) = ( zI − A ) b X ( z )
−1
Dla drugiego równania mamy
Y ( z ) = cQ ( z ) + DX ( z )
Podstawiając pierwsze do drugiego:
Y ( z ) = ⎡⎣c ( zI − A ) b + D ⎤⎦ X ( z )
−1
Stąd transmitancja systemu z zależności od macierzy stanu A, b, c, D:
H (z) =
Y ( z)
X ( z)
H ( z ) = c ( zI − A ) b + D
−1
-9-
Przykład
Wyznaczymy transmitancję oraz równanie różnicowe systemu LTI, opisanego
w przestrzeni stanu:
⎡ 0 1⎤
⎡0⎤
, b = ⎢ ⎥ , c = [3 0] , D [ 0]
A=⎢
⎥
⎣ −1 1⎦
⎣2⎦
Obliczamy:
⎡1 0 ⎤ ⎡ 0 1⎤ ⎡ z −1 ⎤
zI − A = z ⎢
⎥−⎢
⎥=⎢
⎥
⎣0 1 ⎦ ⎣ −1 1⎦ ⎣1 z − 1⎦
( zI − A )
−1
=
⎡ z − 1 1⎤
1
z 2 − z + 1 ⎢⎣ −1 z ⎥⎦
Transmitancja systemu
H ( z ) = c ( zI − A ) b + D
−1
⎡ z − 1 1⎤ ⎡0⎤
1
3
0
[
]
⎢ −1 z ⎥ ⎢ 2 ⎥ + 0
z2 − z + 1
⎣
⎦⎣ ⎦
⎡2⎤
1
= 2
[3 0] ⎢ ⎥
z − z +1
⎣2 z ⎦
6
= 2
z − z +1
H ( z) =
Mnożymy licznik i mianownik przez z-2
6 z −2
H ( z) =
1 − z −1 + z −2
Równanie różnicowe:
y [ n ] − y [ n − 1] + y [ n − 2] = 6 x [ n − 2]
- 10 -
Wykorzystanie funkcji Matlab’a
Charakterystyki systemów LTI
MATLAB zawiera szereg specjalnych funkcji pozwalających na swobodne
przechodzenia między tymi różnymi opisami systemu.
Jeżeli wektory b i a zawierają współczynniki wielomianów funkcji
transmitancji odpowiednio licznika i mianownika, to funkcja tf2ss(b,a) określa opis
systemu w przestrzeni stanu, natomiast tf2zp(b,a) przekształca funkcję transmitancji
do postaci zero-biegunowej.
Podobnie
zp2ss i zp2tf konwertują opis zero-biegunowy do opisów
odpowiednio w przestrzeni stanu oraz transmitancji.
Funkcje ss2tf i ss2zp to konwersje opisu w przestrzeni stanu do opisu w
postaci transmitancji i zero-biegunowej.
Przykład
Rozpatrzymy system dyskretny opisany funkcją transmitancji
H ( z) =
0.094 ( z 4 + 4 z 3 + 6 z 2 + 4 z + 1)
z 4 + 0.4860 z 2 + 0.0177
Matlab
» b=.094*[1 4 6 4 1];
» a=[1 0 0.486 0 0.0177];
» zplane(b,a)
- 11 -
1
0.8
0.6
Imaginary Part
0.4
0.2
0
4
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.5
System w postaci zero-biegunowej:
>> [r,p]=tf2zp(b,a)
r =
-1.0002
-1.0000 + 0.0002i
-1.0000 - 0.0002i
-0.9998
p =
0
0
0
0
+
+
-
0.6681i
0.6681i
0.1991i
0.1991i
0
Real Part
0.5
1
- 12 -
System opisany w przestrzeni stanu:
>> [A,B,C,D ]=tf2ss(b,a)
A =
0
1.0000
0
0
B =
C =
D =
-0.4860
0
1.0000
0
0
0
0
1.0000
-0.0177
0
0
0
0.5183
0.3760
0.0923
1
0
0
0
0.3760
0.0940
Charakterystyka częstotliwościowa:
» [H,w]=freqz(b,a,250);
» plot(w,abs(H))
Widmo amplitudowe
1.4
1.2
Amplituda
1
0.8
0.6
0.4
0.2
0
0
0.5
1
1.5
2
Czestotliwosc
2.5
3
3.5
System posiada zero ( o krotności 4) w punkcie z=-1 oraz cztery bieguny na osi
urojonych. Takie położenie zer implikuje, bardzo małe wartości na charakterystyce
amplitudowej dla wysokich częstotliwości.
- 13 -
Przyczynowość i stabilność systemów liniowych-stajonarnych
Odpowiedź impulsowa systemu przyczynowego jest zerowa dla n<0.
Dlatego odpowiedź impulsowa systemu przyczynowego jest zdeterminowana
przez prawostronną transformatę odwrotną transmitancji.
Patrząc na bieguny transmitancji, to wszystkie muszą mieć moduł mniejszy niż
promień obszaru zbieżności, inaczej obszar zbieżności transmitancji jest na zewnątrz
dla wszystkich biegunów.
Wszystkie bieguny generują wtedy składniki wykładnicze:
malejące, gdy bieguny znajdują się wewnątrz okręgu jednostkowego (sy)
»
»
»
»
»
»
b=[0 1];
a=[1 0.5];
x=[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
zplane(b,a);
y=filter(b,a,x);
stem(y);
1
1
0.8
0.6
Imaginary Part
0.4
0.5
0.2
0
-0.2
0
-0.4
-0.6
-0.8
-1
-1
-0.5
0
Real Part
0.5
1
-0.5
0
2
4
6
8
10
12
14
16
18
- 14 -
rosnące gdy bieguny znajdują się na zewnątrz okręgu jednostkowego.
»
»
»
»
»
»
b=[0 1];
a=[1 -1.5];
x=[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
zplane(b,a);
y=filter(b,a,x);
stem(y);
700
1
0.8
600
0.6
500
Imaginary Part
0.4
0.2
400
0
300
-0.2
-0.4
200
-0.6
100
-0.8
-1
-1
-0.5
0
0.5
1
1.5
0
0
2
4
6
8
10
12
14
16
18
Real Part
System jest stabilny (BIBO) jeżeli odpowiedź impulsowa jest bezwzględnie
sumowalna, dotyczy to przypadku gdy odpowiedź impulsowa systemu jest suma
malejących składników. Patrząc na transmitancję, oznacza to, że jej obszar
zbieżności musi zawierać okrąg jednostkowy.
System jest stabilny i przyczynowy jeżeli wszystkie bieguny są położone
wewnątrz okręgu jednostkowego.
System przyczynowy, stabilny jest minimalnofazowy jeżeli wszystkie zera i
bieguny trans są położone wewnątrz okręgu jednostkowego
- 15 -
Matlab - schematy blokowe
MATLAB pozwala na konwersję modelu „zero-biegunowego” lub opisanego
w przestrzeni stanu na kaskadowe połączenie układów drugiego rzędu postaci
opisanych jako:
b0 + b1z −1 + b2 z −2
H (z) =
1 + a1 z −1 + a2 z −2
W dziedzinie czasu taki system opisuje równanie różnicowe
y ⎡⎣ n ⎤⎦ + a1 y ⎡⎣ n − 1⎤⎦ + a2 y ⎡⎣ n − 2⎤⎦ = b0 x ⎡⎣ n ⎤⎦ + b1 x ⎡⎣ n − 1⎤⎦ + b2 x ⎡⎣ n − 2⎤⎦
Schemat blokowy, który odpowiada powyższym równaniom:
X(z)
b0
Σ
Σ
z-1
Σ
b1
-a1
z-1
-a2
b2
Σ
Y(z)
- 16 -
Współczynniki kaskadowo połączonych układów 2 rzędu otrzymuje się
stosując funkcję MATLABA zp2sos lub ss2sos. Format funkcji jest nastepujący:
>> sos=zp2sos(z,p,k)
gdzie z- wektor zawierający zera transmitancji, p- wektor zawierający bieguny
transmitancji, k- wzmocnienie. W wyniku otrzymuje się macierz 6 kolumnową o
liczbie wierszy zależnej od liczby wyznaczonych kaskad. Kolejne elementy każdego
wie
rsza zawierają współczynniki kolejno b0, b1, b2, 1, a1, a2.
Przykład:
H ( z) =
(1+ jz )(1− jz )(1+ z )
)(1− e π z )(1− e π z )(1−
−1
(1−
1 e jπ / 4 z −1
2
1 − j / 4 −1
2
−1
−1
3
4
j /8 −1
3 − jπ /8 z −1
4e
)
System posiada zera dla z=±j oraz z=-1, bieguny dla z = 12 e ± jπ / 4 oraz z = 34 e ± jπ / 8 .
Zastosujemy funkcję zp2sos:
» z=[-1 -j j];
» p=[.5*exp(j*pi/4), .5*exp(-j*pi/4), .75*exp(j*pi/8), .75*exp(j*pi/8)];
» k=1;
» sos=zp2sos(z,p,k);
sos =
0
1.0000
1.0000
1.0000
-0.7071
0.2500
1.0000
0
1.0000
1.0000
-1.3858
0.5625
- 17 -
Wyznaczone kaskady 2 rzędu mają następujące transmitancje:
H 1 (z ) =
z −1 + z −2
1 − 0.7071z −1 + 0.25 z −2
H 2 (z ) =
1 + z −2
1 − 1.3858 z −1 + 0.5625 z −2
Na tej podstawie można narysować schemat blokowy systemu.
X(z)
Σ
Σ
Σ
z-1
Σ
0.0171
z-1
Σ
Σ
1.3858
z-1
-0.25
Y(z)
z-1
-0.5625
Przykład:
Zadanie polega na doborze systemu, który skutecznie będzie tłumił sygnał
wejściowy sinusoidalny. Wówczas z charakterystyki amplitudowej tego filtru będzie
można odczytać częstotliwość tłumionego sygnału.
- 18 -
Prostym systemem, który może pełnić funkcję filtru wycinającego pojedynczą
składową sinusoidalną jest filtr przedstawiony na rysunku:
Xn-1
Xn
Xn+1
Z-1
Z-1
a
a
+
en
Sygnał na wyjściu filtru opisuje równanie :
en = axn−1 + xn + axn+1
Transformata „Z” równania różnicowego:
(
)⎦
E ( z ) = X ( z ) ⎡⎢1 + a z −1 + z ⎤⎥
⎣
Transmitancja filtru wynosi:
H ( z ) = 1 + a ( z −1 + z )
Podstawiając z = e jω oblicza się charakterystykę częstotliwościową filtru:
H ( jω ) = 1 + a ( e− jω + e jω )
- 19 -
H ( jω ) = 1 + 2a cosω
Charakterystyka amplitudowa:
H ( jω ) = 1 + 2a cosω
1000
1
0.9
0.8
0.7
2
0.6
0.5
0.4
1
0.3
0.2
2/3
0.1
0
0
pi/2
pi
Filtr zerowy dla a=[1000 2 1 2/3 11/20 101/200];
Miejsce zerowe charakterystyki amplitudowej
1 + 2a cosω = 0
odpowiada częstotliwości tłumionego sygnału:
ω = arccos ⎛⎜ −
1 ⎞
⎟
⎝ 2a ⎠
11/20
101/200
- 20 -
Dla częstotliwości próbkowania fp częstotliwość sygnału wyniesie:
f =
fp
2π
ω=
fp
2π
arccos ⎛⎜ −
1 ⎞
⎟
⎝ 2a ⎠
Pozostaje zatem wyznaczyć współczynnik „a” filtru.
Założymy, opisany filtr przetwarza sygnał wejściowy o długości M+1 próbek.
Chcemy aby filtr był tak dobrany, aby na jego wyjściu nic się nie pojawiało.
Jednak ze względu na szum w sygnale wejściowym i błędy numeryczne
wystarczy jeżeli będzie spełniony warunek minimum średniokwadratowego:
∂ M −1
2
( en ) = 0
∑
∂a n=1
Podstawiając:
2
∂ M −1
a [ xn−1 + xn+1 ] + xn ) = 0
(
∑
∂a n=1
(
)
∂ M −1 2
2
a [ xn−1 + xn+1 ] + 2axn [ xn−1 + xn+1 ] + ... = 0
∑
∂a n=1
M −1
∑ 2a [ x
n −1
n =1
M −1
M −1
+ xn+1 ] + ∑ 2 xn [ xn−1 + xn+1 ] = 0
2
n =1
M −1
a ∑ [ xn−1 + xn+1 ] = − ∑ xn [ xn−1 + xn+1 ]
n =1
2
n =1
- 21 -
Współczynnik filtru:
M −1
a=
− ∑ xn [ xn−1 + xn+1 ]
n =1
M −1
∑[x
n =1
+ xn+1 ]
2
n −1
Stąd ostatecznie częstotliwość sygnału:
⎛ M −1
2 ⎞
xn−1 + xn+1 ] ⎟
[
∑
⎜
f
⎟
f = p arccos ⎜ Mn=−11
2π
⎜ 2 x [x + x ]⎟
⎜ ∑ n n−1 n+1 ⎟
⎝ n=1
⎠
Wyniki symulacji:
M=40
51.5
frequency (Hz)
Estim.
True
50
49.5
0
0.3
0.6
time (s)
*)Przygotowano na podstawie: S. Haykin, B.Van Veen „Signals and System” New
York 1999
Dyskretna Transformata Fouriera
Transformata Fouriera ciągu dyskretnego
Transform - DTFT)
(ang. Discrete-Time Fourier
( )
Definicja: Transformata Fouriera ciągu dyskretnego (DTFT) X e jω sygnału
x[n] jest definiowana jako:
∞
( ) ∑ x [ n] e
X e jω =
− jω n
n =−∞
( ) jest funkcją zespoloną zmiennej rzeczywistej ω
Ogólnie X e jω
i może być
zapisana jako:
( )
( )
( )
X e jω = X re e jω + jX im e jω
( )
( ) są odpowiednio częścią rzeczywistą i urojoną
X re e jω i X im e jω
są rzeczywistymi funkcjami zmiennej ω
DTFT można przedstawić w postaci wykładniczej:
( )
( )
X e jω = X e jω e
jθ (ω )
gdzie
{
}
θ (ω ) = arg X ( e jω )
( )
X e jω
nazywa się modułem funkcji lub widmem amplitudowym
θ (ω ) nazywa się fazą funkcji lub widmem fazowym
Obie wielkości są funkcjami rzeczywistymi zmiennej ω
( )
X e jω i
Dla rzeczywistych ciągów x[n]:
( ) i X ( e jω ) są funkcjami parzystymi zmiennej ω
X e jω
re
θ (ω ) i X im ( e jω ) są funkcjami nieparzystymi zmiennej ω
Ze względu na własności zespolonej funkcji wykładniczej:
( )
( ) (
= X ( e jω ) e ( )
X e jω = X e jω e
jθ ω + 2π k )
=
jθ ω
dla dowolnego k.
Przykład:
Wyznaczenie Transformaty Fouriera wykładniczego ciągu dyskretnego
opisującego system przyczynowy:
x [ n ] = a n ⋅ 1[ n ] ,
a <1
DTFT jest dana jako
∞
( ) = ∑ a ⋅1[ n] e
X e
jω
n
− jω n
n =−∞
∞
= ∑ ( ae − jω ) =
n
n =0
∞
= ∑ a n e − jω n =
n=0
1
1 − ae − jω
gdzie
ae − jω = a < 1
Widmo amplitudowe i fazowe DTFT dla a = 0.5 przedstawia wykres:
( )
X e jω =
1
1 − 0.5e − jω
2
1.8
Widmo amplitudowe
1.6
1.4
1.2
1
0.8
0.6
-3
-2
-1
0
w/pi
1
2
3
-2
-1
0
w/pi
1
2
3
0.6
0.4
Widmo fazowe
0.2
0
-0.2
-0.4
-0.6
-0.8
-3
( )
DTFT X e jω ciągu x[n] jest ciągłą funkcją częstotliwości ω
( )
DTFT X e jω ciągu x[n] okresową funkcją ω o okresie 2π
Związek Transformaty Fouriera ciągu dyskretnego z transformatą ZET
Porównując definicje transformaty ZET oraz DTFT
X ( z) =
∞
∑ x [ n] z
∞
( ) = ∑ x [ n] e
−n
X e
n =−∞
jω
− jω n
n =−∞
można zauważyć, że istnieje prosta zależność między nimi.
( )
X e jω = X ( z )
z = e jω
Jednak aby można było zastosować powyższe podstawienie musi być spełniony
dodatkowy warunek dotyczący obszaru zbieżności funkcji X(z):
Obszar zbieżności musi zawierać okrąg jednostkowy, czyli jeżeli oznaczymy
promienie okręgów, które wyznaczają obszary zbieżności dla ciągów
lewostronnych i prawostronnych odpowiednio Rx+ ; Rx− to ich wartości:
Rx + < 1 < Rx −
Im
Re
1
Dyskretne przekształcenie Fouriera (ang. Discrete Fourier Transform - DFT)
Definicja: Zależność między ciągiem x[n] o skończonej długości 0 ≤ n ≤ N − 1
a jego DTFT X ( e jω ) można otrzymać próbkując jednostajnie funkcję X ( e jω )
w osi ω w przedziale 0 ≤ ω ≤ 2π w punktach ω k = 2π k / N , 0 ≤ k ≤ N − 1
Zatem:
X [k ] = X (e
jω
N −1
) ω = 2π k / N = ∑ x [ n] e
− j 2π kn / N
n =0
gdzie
0 ≤ k ≤ N −1
X [ k ] jest ciągiem zespolonym o długości N w dziedzinie częstotliwości.
Ciąg X [ k ] nazywa się dyskretną transformatą Fouriera (DTF) ciągu x[n]
Wprowadzając oznaczenie WN = e − j 2π / N , DFT często wyraża się jako:
N −1
X [ k ] = ∑ x [ n ]WNkn , 0 ≤ k ≤ N − 1
n =0
Odwrotna dyskretna transformata Fouriera (IDFT):
1 N −1
x [ k ] = ∑ X [ k ]WN− kn , 0 ≤ n ≤ N − 1
N k =0
Przykład:
X[n]
1
n
0
1
2
N-1
N punktów DFT danych jest zależnością
N −1
X [ k ] = ∑ x [ n ]WNkn = x [ 0]WN0 = 1, 0 ≤ k ≤ N − 1
n =0
Przykład:
n=m
⎧1,
x [ n] = ⎨
⎩ 0, 0 ≤ n ≤ m − 1, m + 1 ≤ n ≤ N − 1
N −1
X [ k ] = ∑ x [ n ]WNkn = x [ m ]WNkm = WNkm , 0 ≤ k ≤ N − 1
n =0
Postać macierzowa:
DFT definiowana jako
N −1
X [ k ] = ∑ x [ n ]WNkn
n =0
można zapisać w postaci macierzowej
X = DN x
gdzie
X = ⎡⎣ X [ 0]
X [1] K X [ N − 1]⎤⎦
x = ⎡⎣ x [ 0] x [1] K x [ N − 1]⎤⎦
T
T
1
1
⎡1
⎢
1
WN2
⎢1 WN
D N = ⎢1 WN2
WN4
⎢
⎢M
M
M
⎢
⎢⎣1 WN( N −1) WN2( N −1)
L
L
L
O
L
⎤
N −1 ⎥
WN( ) ⎥
2 N −1 ⎥
WN ( ) ⎥
M ⎥
2 ⎥
N −1
WN( ) ⎥⎦
1
IDFT definiowana jako
1 N −1
x [ n ] = ∑ X [ k ]WN− kn
N k =0
można zapisać w postaci macierzowej
x=
1 −1
DN X
N
gdzie
1
1
⎡1
⎢
−1
WN−2
⎢1 WN
D−N1 = ⎢1 WN−2
WN−4
⎢
⎢M
M
M
⎢
⎢⎣1 WN−( N −1) WN−2( N −1)
oraz:
D−N1 =
1 *
DN
N
L
L
L
O
L
⎤
− N −1 ⎥
WN ( ) ⎥
−2 N −1 ⎥
WN ( ) ⎥
M ⎥
2 ⎥
−( N −1)
⎥⎦
WN
1
DFT jako korelacja z funkcjami sinusoidalnymi
Z zależności Eulera e
zapisać jako:
− jφ
= cos (φ ) − j sin (φ ) wynika, że równanie DFT można
N −1
X [ k ] = ∑ x [ n ] ⎡⎣ cos ( 2π nk / N ) − j sin ( 2π nk / N ) ⎤⎦
n =0
gdzie:
• X[k] - k-ta składowa DFT, tj. X[0], X[1], …., X[N-1]
• k - indeks próbek DFT w dziedzinie częstotliwości, k =0, 1, 2, 3, ..., N-1
• x[n] - ciąg próbek wejściowych, x[0], x[1],..., x[N-1]
• n indeks próbek wejściowych w dziedzinie czasu, n= 0, 1,2,3,...,N-1
• N - liczba próbek ciągu wejściowego oraz liczba punktów częstotliwości
w ciągu DFT.
Indeksy (n) dla próbek wejściowych oraz (k) dla próbek DFT zawsze
zmieniają się od 0 do N-1 w standardowej notacji DFT.
Oznacza to, że mając N próbek wejściowych w dziedzinie czasu, DFT
wyznacza zawartość widmową sygnału wejściowego w N równomiernie
rozłożonych punktach osi częstotliwości.
Wartość N jest ważnym parametrem, ponieważ określa ona:
• ile wymaganych jest próbek wejściowych,
• jaka jest rozdzielczość wyników w dziedzinie częstotliwości
• jaki jest czas przetwarzania wymagany do obliczenia N- punktowej
DFT.
Przykład
Jeśli N = 4, zarówno n, jak i k zmieniają się od 0 do 3. równanie DFT przyjmuje
postać:
3
X [ k ] = ∑ x [ n ] ⎡⎣ cos ( 2π nk / 4 ) − j sin ( 2π nk / 4 ) ⎤⎦
0
Wypisując wszystkie składniki dla pierwszej próbki DFT, k = 0, mamy
X [ 0] =
x ( 0 ) cos ( 2π ⋅ 0 ⋅ 0 / 4 ) − jx ( 0 ) sin ( 2π ⋅ 0 ⋅ 0 / 4 ) +
x (1) cos ( 2π ⋅1 ⋅ 0 / 4 ) − jx (1) sin ( 2π ⋅1⋅ 0 / 4 ) +
x ( 2 ) cos ( 2π ⋅ 2 ⋅ 0 / 4 ) − jx ( 2 ) sin ( 2π ⋅ 2 ⋅ 0 / 4 ) +
x ( 3) cos ( 2π ⋅ 3 ⋅ 0 / 4 ) − jx ( 3) sin ( 2π ⋅ 3 ⋅ 0 / 4 )
Dla drugiej próbki DFT, k = 1. równanie przyjmuje postać
X [1] =
x ( 0 ) cos ( 2π ⋅ 0 ⋅1/ 4 ) − jx ( 0 ) sin ( 2π ⋅ 0 ⋅1/ 4 ) +
x (1) cos ( 2π ⋅1⋅1/ 4 ) − jx (1) sin ( 2π ⋅1 ⋅1/ 4 ) +
x ( 2 ) cos ( 2π ⋅ 2 ⋅1/ 4 ) − jx ( 2 ) sin ( 2π ⋅ 2 ⋅1/ 4 ) +
x ( 3) cos ( 2π ⋅ 3 ⋅1/ 4 ) − jx ( 3) sin ( 2π ⋅ 3 ⋅1/ 4 )
Dla trzeciej próbki DFT, k = 2, równanie przyjmuje postać
X [ 2] =
x ( 0 ) cos ( 2π ⋅ 0 ⋅ 2 / 4 ) − jx ( 0 ) sin ( 2π ⋅ 0 ⋅ 2 / 4 ) +
x (1) cos ( 2π ⋅1⋅ 2 / 4 ) − jx (1) sin ( 2π ⋅1⋅ 2 / 4 ) +
x ( 2 ) cos ( 2π ⋅ 2 ⋅ 2 / 4 ) − jx ( 2 ) sin ( 2π ⋅ 2 ⋅ 2 / 4 ) +
x ( 3) cos ( 2π ⋅ 3 ⋅ 2 / 4 ) − jx ( 3) sin ( 2π ⋅ 3 ⋅ 2 / 4 )
Dla czwartej i ostatniej próbki DFT, k = 3, równanie przyjmuje postać
X [3] =
x ( 0 ) cos ( 2π ⋅ 0 ⋅ 3 / 4 ) − jx ( 0 ) sin ( 2π ⋅ 0 ⋅ 3 / 4 ) +
x (1) cos ( 2π ⋅1⋅ 3 / 4 ) − jx (1) sin ( 2π ⋅1⋅ 3 / 4 ) +
x ( 2 ) cos ( 2π ⋅ 2 ⋅ 3 / 4 ) − jx ( 2 ) sin ( 2π ⋅ 2 ⋅ 3 / 4 ) +
x ( 3) cos ( 2π ⋅ 3 ⋅ 3 / 4 ) − jx ( 3) sin ( 2π ⋅ 3 ⋅ 3 / 4 )
Każda próbka X(k) DFT stanowi sumę punkt po punkcie iloczynu ciągu
wartości wejściowego sygnału i przebiegu zespolonego postaci
cos (φ ) − j sin (φ ) .
Jak wynika z przykładu, wartości częstotliwości przebiegów sinusoidalnych,
zależą od częstotliwości próbkowania fp, sygnału oraz od liczby próbek N.
Przykład:
Jeżeli próbkujemy ciągły sygnał z szybkością 500 próbek/s, i wyznaczamy 16punktową DFT z tych próbek, to częstotliwość podstawowa sinusoid, z którymi
korelujemy sygnał transformowany wynosi:
fp/N= 500/16= 31,25Hz.
Wyznaczone wartości X(k) DFT zwane prążkami, są określone w
punktach o częstotliwościach będących całkowitymi wielokrotnościami tej
częstotliwości, tj.
X[0] - 1. prążek o częstotliwości analizy = 0x31,25 = 0 Hz.
X[1] - 2. prążek o częstotliwości analizy = 1x31,25 = 31,25 Hz,
X[2] - 3. prążek o częstotliwości analizy = 2x31,25=62,5 Hz,
X[3] - 4. prążek o częstotliwości analizy = 3x31,25 = 93,75 Hz.
.....................
X[15] - 16. prążek o częstotliwości analizy 15x31,25=468.75 Hz.
Wartości częstotliwości N kolejnych punktów na osi częstotliwości są określane
jako
fa =
mf p
N
Natomiast rozdzielczość DFT wyraża się zależnością:
Δf =
fp
N
Moc chwilowa sygnału Xp(k) jest wyrażona jako kwadrat wartości bezwzględnej
widma:
X P ( k ) = X ( k ) = X re2 ( k ) + X im2 ( k )
2
Przykład
Należy próbkować ciągły sygnał wejściowy x(t), zawierający dwie
składowe o częstotliwościach 1 kHz i 2 kHz, wyrażony jako:
x ( t ) = sin ( 2π ⋅1000 ⋅ t ) + 12 sin ( 2π ⋅ 2000 ⋅ t + 34π )
oraz wyznaczyć jego 8-punktową DFT.
Przy częstotliwości próbkowania fp, próbkujemy sygnał wejściowy w
odstępach czasowych 1/fp=Tp
Potrzebujemy 8 próbek wejściowych, umożliwiających wyznaczenie 8
punktów DFT.
8-elementowy ciąg x[n] jest równy x(t) próbkowanemu w chwilach czasu nTp:
x [ n ] = x ( nTp ) = sin ( 2π ⋅1000 ⋅ nTp ) + 12 sin ( 2π ⋅ 2000 ⋅ nTp + 34π )
Jeśli wybierzemy szybkość próbkowania równą fp = 8000 próbek/s,
wówczas DFT określa składowe sygnału x[n] w punktach osi częstotliwości
mfp/N, czyli 0 kHz, 1 kHz, 2 kHz ... 7 kHz.
Wartości próbek sygnału x(n), to
x[0]=0,3535,
x[2]= 0,6464,
x[4]=0,3535,
x[6] = -1,3535,
x[1]=0,3535,
x[3] = 1,0607,
x[5]=-1,0607,
x[7] = -0,3535
Te wartości próbek x[n] zaznaczono jako punkty na ciągłej krzywej x(t)
na rys. Składowe sinusoidalne pokazano jako krzywe przerywane na rys.
DFT
Dla k = 1, lub też dla składowej DFT o częstotliwości 1 kHz (kfp /N =
8000/8), równanie dla tego przykładu przyjmuje postać
⎛ 2π n ⎞
⎛ 2π n ⎞
X (1) = ∑ x [ n ] cos ⎜
⎟ − jx [ n ] sin ⎜
⎟
⎝ 8 ⎠
⎝ 8 ⎠
n =0
7
Podstawiając wartości próbek x[n] do równania i wypisując składowe
kosinusoidalne w lewej kolumnie oraz składowe sinusoidalne w prawej
kolumnie, mamy
X[1]=
0,3535 · 1,0
+ 0,3535 · 0,707
+ 0,6464 · 0,0
+ 1,0607 · 0,707
+0,3535 · -1,0
-1,0607 · -0,707
-1,3535 · -0,0
-0,3535 · 0,707
=
0,3535 +
+ 0,250
- 0,750
-0,3535+
+0,750
-0,250=
X[1]= 0,0—j4,0
-j (0,3535 · 0,0)+
-j(0,3535 · 0,707)+
-j(0,6464 · 1,0)+
-j(1,0607 · 0,707)+
dla n=0
dla n=1
dla n=2
dla n=3
- j(0,3535 · 0,0)+
-j(-1,0607
·
0,707)+
-j(-1,3535 · -1,0)+
-j(0,3535 · -0,707)=
dla n=4
dla n=5
dla n=6
dla n=7
-j0,250 +
-j0,6464 +
-j0,750+
-j0,750+
-j1,3535
+j0,250=
o
− j 90
= 4e
Należy zauważyć, że użyte w tej analizie sinusoidy i kosinusoidy mają
częstotliwość 1kHz (linie przerywane na rysunku), jest to jeden okres w
przedziale próbkowania.
Wynik obliczeń pokazuje, że sygnał wejściowy x[n] zawiera składową o
częstotliwości 1kHz.
Wartość bezwzględna X(1)
X (1) = 4
Faza:
⎛ X imag (1) ⎞
X φ (1) = arctg ⎜
= −900
⎟
⎜ X (1) ⎟
⎝ real
⎠
Moc chwilowa
X P (1) = X (1) = 16
2
Przykład 1 DFT
Przykład 1 DFT
Dla k = 2 korelujemy x[n] z przebiegiem kosinusoidalnym o częstotliwości
2 kHz i z przebiegiem sinusoidalnym o częstotliwości 2 kHz. Te przebiegi są
przedstawione jako krzywe przerywane na rys.
Zauważmy, że na rys. przebiegi sinusoidalny i kosinusoidalny mają k = 2
pełne okresy w przedziale próbkowania.
Podstawienie wartości próbek x(n) do równania (3) dla k=2 daje w wyniku:
X(2)=1,414+j l,414 = 2e
j 45o
Sygnał wejściowy x[n] zawiera składową o częstotliwości 2 kHz, której
względna amplituda jest równa 2 i której kąt fazowy względem kosinusoidy o
częstotliwości 2 kHz wynosi 450.
Dla k = 3, korelujemy x[n] z przebiegiem kosinusoidalnym o częstotliwości
3 kHz i z przebiegiem sinusoidalnym o częstotliwości 3 kHz. Przebiegi te są
przedstawione jako krzywe przerywane na rys.
Zauważmy znów, że mają one k = 3 pełne okresy w przedziale
próbkowania. Podstawienie wartości próbek x(n) dla równania dla k = 3 daje
X(3) = 0 –j0= 0
DFT wskazuje, że x[n] nie zawiera żadnej składowej o częstotliwości 3 kHz.
Kontynuujemy analogicznie wyznaczanie DFT dla składowej w dziedzinie
częstotliwości odpowiadającej
k = 4 X(4) = 0,0—j0,0 = 0
k = 5 X(5) = 0,0—j0,0 = 0
o
− j 45
k = 6 X(6) = 1,414-j1,414= 2e
o
j 90
k = 7 X(7) = 0+j4 = 4e
Jeśli k = 0, korelujemy x(n) z cos ( 0 ) − j sin ( 0 )
N −1
N −1
n =0
n =0
X (0 ) = ∑ x(n )[cos(0 ) − j sin (0 )] = ∑ X (n )
Wartość X(0) w dziedzinie częstotliwości określa składową stałą w widmie
sygnału x(n).
X(0) = 0,3535+0,3535+ 0,6464+1,0607+0,3535-1,0607-1,3535-0,3535= 0
Jeżeli wykreślimy wartości wyjściowe |X(k)| w funkcji częstotliwości,
otrzymamy widmo amplitudowe ciągu wejściowego x[n], pokazane na rys. Kąty
fazowe składowych wyjściowych X(k) są przedstawione na rys.
Wyniki DFT z przykładu 1: (a) moduł X(m), (b) faza X(m), (c) część
rzeczywista X(m); (d) część urojona X(m)
Zauważmy, że rysunek wskazuje, iż x[n], ma składowe o częstotliwościach
1 kHz km = 1) i 2 kHz (k = 2).
Ponadto, składowa o częstotliwości 1 kHz ma amplitudę dwa razy większą,
niż składowa o częstotliwości 2 kHz.
Pytanie ?
• co oznaczają niezerowe wartości amplitud przy k = 6 i k = 7 na rys
• dlaczego amplitudy wydają się cztery razy większe, niż moglibyśmy
oczekiwać?
Przykład ilustruje dwie bardzo ważne cechy DFT:
• każda pojedyncza wartość wyjściowa X(k) jest sumą kolejnych iloczynów
ciągu próbek sygnału wejściowego z przebiegami kosinusoidalnymi i
sinusoidalnymi, których częstotliwości są tak dobrane, iż przebiegi te
mają k pełnych okresów w całkowitym przedziale N próbek
• symetrię wyjściowych składników DFT
Symetria DFT
Z rysunku można stwierdzić oczywistą symetrię w wynikach DFT.
Jeśli ciąg wejściowy x(n) jest rzeczywisty to zespolone wartości wyjściowe
DFT dla argumentów k ≥ N 2 są nadmiarowe w stosunku do wartości
wyjściowych dla argumentów od k=0 do k=N/2-1.
• k-ta wartość wyjściowa DFT będzie miała taką samą amplitudę, jak
(N—k)-ta wartość wyjściowa DFT.
• Kąt fazowy m-tej wartości wyjściowej DFT jest równy kątowi
fazowemu (N—k)-tej wartości wyjściowej DFT, ze znakiem ujemnym.
Możemy stwierdzić, że (* -ozn. sprzężenia)
X (k ) = X ∗ ( N − k )
Przykład
W rozważonym przykładzie, zauważmy na rys. 4 że X(5), X(6) i X(7) są
odpowiednio wartościami zespolonymi sprzężonymi z X(3), X(2) i X(1).
• część rzeczywista X(k) charakteryzuje się właściwością zwaną symetrią
parzystą, jak to pokazano na rysunku
• część urojona DFT charakteryzuje się symetrią nieparzystą, jak to
pokazano na rysunku
Zatem, aby otrzymać DFT sygnału x[n], wystarczy wyliczyć pierwszych N/2
wartości X(k), gdzie 0 ≤ k ≤ N 2 − 1 ;
• Jeśli rzeczywista funkcja wejściowa jest parzysta x(n)=x(-n), to X(k)
jest zawsze rzeczywista i parzysta
• Jeśli rzeczywista funkcja wejściowa jest nieparzysta, czyli x(-n)=x(-n),
to XRe(k) jest zawsze równa zeru, zaś XIml(k) jest niezerowa.
Liniowość DFT
DFT ma bardzo ważną właściwość znaną jako liniowość. Właściwość ta
mówi, że DFT sumy dwóch sygnałów jest równa sumie transformat każdego z
sygnałów. Jeśli wstawimy
xsuma ( n ) = x1 ( n ) + x2 ( n )
do równania (2), aby otrzymać Xsumal(k), wówczas
N −1
X suma ( k ) = ∑ ( x1 [ n ] + x2 [ n ]) e − j 2π kn / N =
n =0
N −1
= ∑ x1 [ n ] e
− j 2π kn / N
n =0
= X1 ( k ) + X 2 ( k )
N −1
+ ∑ x2 [ n ] e− j 2π kn / N =
n=0
Wartości widma amplitudowego DFT
Przykład
Rezultaty |X(1)|=4, |X(2)|=2 mogą zdezorientować, ponieważ składowe
sygnału wejściowego x[n] miały amplitudy równe, odpowiednio, 1 i 0,5.
Jeśli rzeczywisty sygnał wejściowy zawiera składową sinusoidalną o
amplitudzie A0 i całkowitej liczbie okresów w przedziale N próbek
wejściowych, wówczas amplituda wyjściowa DFT dla tego szczególnego
przebiegu sinusoidalnego wynosi Mγ gdzie
M r = A0
N
2
Jeśli sygnałem wejściowym DFT jest przebieg zespolony o amplitudzie A0 (tj.
A0e jωt ) i całkowitej liczbie okresów w przedziale N próbek, wówczas amplituda
wyjściowa DFT wynosi Mc gdzie
M c = A0 N
Jeśli sygnał wejściowy DFT zawiera składową stałą równą D0, to amplituda
wyjściowej składowej stałej X(0) DFT będzie równa.
D0 N
Patrząc na poprzedni przypadek rzeczywistego sygnału wejściowego dla
składowej o częstotliwości 1000 Hz A0=1 i N=8, zatem
M r = 1⋅
8
=4
2
jak pokazano w przykładzie.
Czasem w literaturze widzimy DFT zdefiniowaną jako
2
X (k ) =
N
N −1
∑ x [n] e
− j 2π nk / N
n =0
Czynnik skalujący 2/N sprawia, że amplitudy X(k) są równe wartości amplitudy
wejściowej sinusoidy w dziedzinie czasu, za cenę obliczenia dodatkowego
dzielenia przez N.
Istnieją komercyjne pakiety oprogramowania wykorzystujące zależności:
X (k ) =
1
N
1
x2 [ n ] =
N
N −1
∑ x [ n]e
− j 2π nk / N
n =0
N −1
∑ X ( k )e
k =0
j 2π nk / N
2
dla prostej i odwrotnej DFT.
Czynniki skalujące 1 N wydają się nieco dziwne, ale są one używane, aby nie
było zmiany skali przy transformowaniu w każdym z kierunków.
Opracowano na podstawie:
R. G. Lyons „Wprowadzenie do cyfrowego przetwarzania sygnałów” 1999
-1-
Dyskretne przekształcenie Fouriera – c.d.
Twierdzenie o przesunięciu
Istnieje ważna właściwość DFT, znana jako twierdzenie o przesunięciu. Mówi
ono, że:
Przesunięcie w czasie okresowego ciągu wejściowego
x(n) powoduje stałe przesunięcie fazowe DFT.
Jeśli zdecydujemy się próbkować x(n) począwszy od n równego pewnej
wartości n = k, w przeciwieństwie do n = 0, to DFT tych przesuniętych w czasie
wartości próbek stanowi
X k ( m ) = e j 2π km / N X ( m )
(1)
Z równania (1) widać, że jeśli punkt, w którym rozpoczynamy próbkowanie
x(n) jest przesunięty w prawo o k próbek, to wyjściowe widmo Xk(m) DFT wyraża
się jako X(m), o każdym zespolonym składniku X(m) przemnożonym przez liniowe
przesunięcie fazowe e j 2π km / N , które jest przesunięciem fazy o 2πkm/N
Na odwrót, jeśli punkt, w którym rozpoczynamy próbkowanie x(n) jest
przesunięty w lewo o k próbek, to widmo Xk(m) wyraża się jako X(m) mnożone
przez e− j 2π km / N
-2-
Przykład ( patrz przykład z poprzedniego wykładu - DFT )
Dokonano próbkowania sygnału wejściowego z przykładu poprzedniego DFT
x ( t ) = sin ( 2π ⋅1000 ⋅ t ) + 12 sin ( 2π ⋅ 2000 ⋅ t + 34π )
z opóźnieniem o k = 3 próbki.
Na rysunku 1 pokazano oryginalną wejściową funkcję czasu
Rysunek 1. Próbkowanie sygnału x(t) w obu przykładach
Nowy, przesunięty ciąg x(n) stanowi wartości reprezentowane grubymi czarnymi
kropkami na rys. 1., których wartości to:
x(0) =1,0607,
x(2) = - 1,0607,
x(4) = - 0,3535,
x(6) = 0,3535,
x(l) =0,3535 ,
x(3) = - 1,3535,
x(5) = 0,3535,
x(7) = 0,6464
-3-
Wyznaczając DFT ciągu , Xk(m) ma postać:
m
amplituda
faza
0
1
2
3
4
5
6
7
0
4
2
0
0
0
2
4
0
+45
-45
0
0
0
+45
-45
część
część urojona
rzeczywista
0
0
2,8284
2,8284
1,4141
-1,4141
0
0
0
0
0
0
1,4141
-1,4141
2,8284
-2,8284
Rysunek 2. Wyniki DFT z przykładu 2: (a) moduł Xk(m), (b) faza Xk(m), (c) część
rzeczywista Xk(m), (d) część urojona Xk(m).
Z obliczeń wynika, że amplituda Xk(m)
amplitudy X(m).
jest nie zmieniona względem
Amplituda DFT względem oryginalnego sygnału okresowego nie uległa zmianie
chociaż próbkowaliśmy sygnał w innym przedziale.
-4-
Jednak, faza DFT zmienia się w zależności od chwili, w której zaczęliśmy
próbkować sygnał x(n).
Patrząc na składową DFT Xk(m), odpowiadającą m = 1 sprawdzimy wartości fazy
sygnału przesuniętego:
Pamiętając, że X(1) z przykładu 1 DFT miała amplitudę 4 przy kącie
fazowym -90 mamy dla k = 3 oraz N = 8:
X 3 (1) = e
j 2π k m
N
⋅ X (1) = e
j 2π 3
− jπ
8 ⋅ 4e 2
= 4e
jπ
4
(2)
Zatem X3(m) ma amplitudę równą 4 i kąt fazowy +45o.
Odwrotne dyskretne przekształcenie Fouriera
Wyrażeniami standardowymi dla IDFT są
x ( n) =
1 N −1
X ( m ) e j 2π mn / N
∑
N m =0
(3)
x ( n) =
⎡
⎛
⎛
1 N −1
n⎞
n ⎞⎤
X
m
cos
2
m
j
sin
2
m
π
+
π
(
)
⎢
⎥
⎜
⎜
N m∑
N ⎟⎠
N ⎟⎠ ⎦⎥
⎝
⎝
=0
⎣⎢
(4)
i jednocześnie
-5-
Sygnał dyskretny w dziedzinie czasu można traktować jako sumę
składowych sinusoidalnych o różnych częstotliwościach,
a wartości X(m) DFT tworzą zbiór N wartości zespolonych,
określających amplitudę i fazę każdej ze składowych tworzących
tę sumę.
Przykład
Jeśli wyznaczymy IDFT wstawiając wyniki z przykładu 1 do równania (3),
przejdziemy z powrotem z dziedziny częstotliwości do dziedziny czasu
i otrzymamy wartości próbek oryginalnego sygnału x(n).
N −1
1
x ⎡⎣ 2⎤⎦ = ∑ X ( m ) e j 2π m2/8
8 m =0
x ⎡⎣ 2⎤⎦ = 1 ( X ( 0 ) e jπ 0/8 + X (1) e jπ 4/8 + X ( 2 ) e jπ 6/8 X ( 3) e jπ 8/8 + ... + X ( 7 ) e jπ 14/8 )
8
x[2] = 0,6464
oraz
x[0] = 0,3535, x[1] = 0,3535, x[2] = 0,6464, x[3] = 1,0607,
x[4] = 0,3535, x[5] = -1,0607, x[6] = -1,3535, x[7] = -0,3535
Zauważmy, że wyrażenie dla IDFT, określone równaniem (3), różni się od
równania dla DFT jedynie czynnikiem skalującym 1/N oraz zmianą znaku
wykładnika.
Oprócz różnicy w skalowaniu wartości, wszystkie właściwości dotyczące DFT,
jakimi dotąd zajmowaliśmy się, stosują się również do IDFT.
-6-
Przeciek DFT
Poprzednie przykłady DFT przyniosły poprawne wyniki, ponieważ wejściowe
ciągi x(n) stanowiły starannie dobrane przebiegi sinusoidalne.
Jak się okazuje, DFT próbkowanych sygnałów rzeczywistych prowadzi do
wyników w dziedzinie częstotliwości, które mogą być mylące.
Właściwość DFT, znana jako przeciek widma, powoduje, że wyniki DFT
stanowią jedynie aproksymację widma sygnałów wejściowych poddanych
próbkowaniu.
Istnieją sposoby minimalizacji przecieku, nie można jednak wyeliminować go
całkowicie.
DFT ograniczają się do operowania na skończonych zbiorach N wartości
wejściowych, próbkowanych z częstotliwością fp, dając w wyniku N- punktową
transformatę, której dyskretne wartości wyjściowe są związane częstotliwościami:
fm =
mf p
;
N
m = 0,1,2,..., N − 1
dla których wyznaczamy kolejne próbki DFT.
DFT daje prawidłowe wyniki tylko wtedy, kiedy ciąg
danych wejściowych zawiera energię rozłożoną dokładnie
przy częstotliwościach, dla których dokonujemy analizy
określonych równaniem (5), będących całkowitymi
wielokrotnościami częstotliwości podstawowej fp/N.
(5)
-7-
Przykład
Jeśli sygnał wejściowy zawiera składową o pewnej częstotliwości pośredniej,
np.:1,5 fp / N to pomiędzy częstotliwościami mfp / N, dla których wyznaczamy
wartości DFT, ta składowa sygnału wejściowego ujawni się w pewnym stopniu
przy wszystkich N wyjściowych wartościach częstotliwości DFT, dla których
przeprowadzamy częstotliwościową analizę tego sygnału!
Wyznaczamy 64 punktową DFT dla ciągu, który otrzymano w wyniku
próbkowania 3 okresów sinusoidy (rys.3). Obliczona transformata pokazuje,
że ciąg nie zawiera składowej o częstotliwości innej niż m=3. Korelacja ciągu
wejściowego oraz składowych sinusoidalnych dla m różnego od 3 jest równa zero.
Rysunek 3. 64-punktowa DFT (a) ciąg wejściowy, (b) moduł wartości wyjściowych
DFT, pierwsza połowa wyniku
-8-
Mamy teraz ciąg wejściowy sinusoidalny mający 3,4 okresu dla 64 próbek.
Ponieważ ten ciąg wejściowy nie ma całkowitej liczby okresów w przedziale 64
próbek, energia wejściowa przecieka do wszystkich innych próbek DFT, jak to
pokazano na rys. 4(b).
Rysunek 4. 64-punktowa DFT (a) ciąg wejściowy, (b) moduł wartości wyjściowych
DFT, pierwsza połowa wyniku
Próbka DFT np. dla m = 4 nie jest równy zeru, ponieważ suma iloczynów ciągu
wejściowego i składowej odpowiadającej analizie częstotliwości dla m= 4 nie jest
już równa zeru. To jest przeciek — powoduje on. że dowolny sygnał wejściowy,
którego częstotliwość nie jest dokładnie równa częstotliwości, dla której jest
wyznaczana dana próbka DFT, przecieka do wszystkich innych wyznaczanych
próbek DFT.
Przeciek jest nie do uniknięcia, kiedy wyznaczamy DFT rzeczywistego ciągu
czasowego o skończonej długości.
-9-
Jak należy przewidywać i minimalizować skutki przecieku ?
Dla rzeczywistego przebiegu sinusoidalnego, zawierającego k okresów w
N- punktowym wejściowym ciągu czasowym, wartości prążków N-punktowej DFT
w funkcji indeksu m są aproksymowane za pomocą funkcji sinc
⎡
⎤
N sin ⎣π ( k − m ) ⎦
X (m) = ⋅
2
π ( k − m)
(6)
Rysunek 5. DFT dla N-punktowego ciągu wejściowego, zawierającego k okresów
rzeczywistej sinusoidy: (a) widmo jako funkcja m-tej próbki DFT, (b) widmo
amplitudowe jako funkcja częstotliwości w Hz.
-10-
Krzywą na rys. 5 (a), zawierającą listek główny oraz okresowe szczyty i doliny,
znane jako listki boczne, możemy traktować jako widmo N-punktowego,
rzeczywistego czasowego ciągu sinusoidalnego, mającego k pełnych okresów w
wejściowym N- punktowym przedziale czasowym.
Wartości DFT są dyskretnymi próbkami, które znajdują się na krzywych z rys. 5:
to jest, DFT będzie spróbkowaną wersją widma ciągłego.
Jeśli ciąg wejściowy ma dokładnie całkowitą liczbę k okresów, przeciek nie
pojawia się, ponieważ jeśli kąt w liczniku równania (6) jest niezerową całkowitą
wielokrotnością π, to sinus tego kąta jest równy zeru.
Jeśli wejściowa sinusoida ma całkowitą liczbę okresów w przedziale N próbek
sygnału wejściowego w dziedzinie czasu, to wartości wyjściowe DFT są położone
na krzywej widma ciągłego dokładnie w punktach przejść przez zero tej krzywej.
Przykład:
Rzeczywista sinusoida o częstotliwościach 8 kHz,8,5 kHz,8,75 kHz, o amplitudzie
1, została spróbkowana częstotliwością 32kHz. Dla 32 punktowej DFT odległość
między próbkami wynosi fp/N=1kHz. DFT pokazuje rysunek.
Rysunek 6. DFT dla 32-punktowego ciągu wejściowego sinusoidalnego
częstotliwość sygnału f=8kHz, (b) f=8,5kHz, (c) f=8,75kHz
(a)
-11-
DFT jest okresowa w dziedzinie częstotliwości, pokazuje to rysunek 7. Przy
obliczaniu wartości DFT dla coraz większych częstotliwości poruszamy się w
kółko.
Rysunek 7 64-punktowa DFT, powielenia widma sygnału sinusoidalnego
zawierającego 3,4 okresu.
Bardziej konwencjonalną metodę prezentacji wartości wyjściowych DFT
stanowi odwinięcie widma z rys. 7:
Rysunek 8 Dodatkowe powielenia widma dla przykładu 3,4 okresu sygnału w
przedziale próbkowania.
-12-
Okienkowanie
Skutki przecieku widma DFT są kłopotliwe, ponieważ wartości prążków
odpowiadające sygnałom o małej amplitudzie będą zakłócane przez poziomy
listków bocznych z sąsiednich prążków odpowiadających sygnałom o dużej
amplitudzie.
Ważna technika, znana jako okienkowanie jest najbardziej powszechnym
sposobem redukcji przecieku. Okienkowanie zmniejsza przeciek DFT przez
zminimalizowanie amplitudy listków bocznych funkcji sinc z równania (6).
Rysunek 9. Minimalizacja nieciągłości w punktach końcowych przedziału
próbkowania: (a) wejściowa sinusoida o nieskończonym czasie trwania; (b) okno
prostokątne odpowiadające przedziałowi próbkowania, (c) iloczyn okna
prostokątnego i wejściowej sinusoidy; (d) trójkątna funkcja okna, (e) iloczyn okna
trójkątnego i wejściowej sinusoidy; (f) funkcja okna Hanninga, (g) iloczyn okna
Hanninga i wejściowej sinusoidy, (h) funkcja okna Hamminga
-13-
Rozważmy sygnał o nieskończonym czasie trwania w dziedzinie czasu,
pokazany na rys. 9(a). DFT może być przeprowadzona jedynie na przedziale
próbkowania o skończonym czasie, takim jak pokazany na rys. 9(c). Możemy
traktować DFT sygnału wejściowego z rys. 9(c) jako DFT iloczynu sygnału
wejściowego o nieskończonym czasie trwania z rys. 9(a), i okna prostokątnego,
którego amplituda wynosi 1 w przedziale próbkowania pokazanym na rys. 9(b).
Za każdym razem, kiedy wyznaczamy DFT ciągu wejściowego o skończonym
czasie trwania, w sposób domyślny mnożymy ten ciąg przez okno samych jedynek
i mnożymy wartości wejściowe poza tym przedziałem przez zera. Jak się okazuje,
kształt funkcji sinc=sin(x)/x jest spowodowany przez to okno prostokątne,
ponieważ ciągła transformata Fouriera okna prostokątnego jest funkcją sinc.
Aby zminimalizować przeciek widma spowodowany przez te
listki boczne musimy zmniejszyć ich amplitudy używając
funkcji okna innych niż okno prostokątne.
Wyobraźmy sobie, że przemnożyliśmy nasz sygnał wejściowy z rys. 9(a) przez
okno trójkątne pokazane na rys. 9(d), aby otrzymać okienkowany sygnał
wejściowy pokazany na rys. 9(e). Zauważmy na rys. 9(e), że wartości tego
wynikowego sygnału wejściowego stają się takie same na początku i końcu
przedziału próbkowania. Zredukowana nieciągłość zmniejsza poziom względnie
wysokich składowych częstotliwościowych w całym zbiorze wartości całej DFT;
to znaczy. że poziomy prążków DFT listków bocznych mają zmniejszoną
amplitudę, dzięki użyciu okna trójkątnego.
Istnieją inne funkcje okien, które zmniejszają przeciek nawet bardziej, niż
okno trójkątne, takie jak okno Hanninga z rys. 9(f). Iloczyn okna z rys. 9(f) i ciągu
wejściowego daje sygnał pokazany na rys. 9(g), stanowiący sygnał wejściowy
DFT.
Inną powszechnie używaną funkcją okna jest okno Hamminga, pokazane na
rys. 9(h). Jest ono podobne do okna Hanninga, ale jest podniesione przy podstawie.
-14-
Typy okien
Zakładając, że N oryginalnych próbek sygnału wejściowego jest
indeksowanych przez n, gdzie 0 ≤ n ≤ N − 1 oznaczmy N współczynników okna jako
w(n); to znaczy, że ciąg wejściowy x(n) jest mnożony przez odpowiadające
współczynniki okna w(n), zanim jest wyznaczona DFT. Zatem DFT Xw(m)
okienkowanego ciągu wejściowego x(n) przyjmuje postać
N −1
XW ( m ) = ∑ w ( n ) ⋅ x ( n ) e
j 2π m n
N
(7)
n =0
Okno prostokątne
w ( n ) = 1, dla n = 0,1,2,..., N − 1
(zwane także oknem jednostajnym lub — w języku angielskim — boxcar)
Okno trójkątne
⎧
n
; n = 0,1,2,..., N / 2
⎪⎪
N
/
2
w(n) = ⎨
⎪2 − n ; n = N / 2 + 1, N / 2 + 2,..., N − 1
⎪⎩
N /2
(bardzo podobne do okien Bartletta i Parzena )
⎛
1 1
n⎞
w ( n ) = − cos ⎜ 2π ⎟ , n = 0,1, 2,..., N − 1
2 2
N⎠
⎝
(zwane także oknem podniesionego cosinusa. Hanna lub von Hanna)
Okno Hanninga:
⎛
Okno Hamminga: w ( n ) = 0,54 − 0,46cos ⎜ 2π
⎝
n⎞
; n = 0,1,2,..., N − 1
N ⎟⎠
-15-
Widmo amplitudowe okna prostokątnego stanowi miarę, jakiej zazwyczaj
używamy aby porównać inne okna.
Definiuje
się
logarytmiczną
odpowiedź
amplitudową
jako
WdB ( m )
pozwalającą unormować widma różnych okien zgodnie z:
⎛ W ( m) ⎞
⎟
WdB ( m ) = 20 ⋅ log10 ⎜
⎜ W ( 0) ⎟
⎝
⎠
(8)
gdzie W(0) jest wartością maksymalną listka głównego dla m=0.
Szerokości listków głównych różnych okien nie prostokątnych degradują
rozdzielczość częstotliwościową okienkowanych DFT prawie dwukrotnie. Jednak
istotne korzyści zmniejszenia przecieku zazwyczaj przeważają nad stratą w
częstotliwościowej rozdzielczości DFT.
Rysunek 10. Moduły odpowiedzi okien w unormowanej skali logarytmicznej
-16-
Zauważmy zmniejszenie się poziomu pierwszego listka bocznego i gwałtowny
spadek listków bocznych okna Hanninga. Okno Hamminga ma nawet mniejsze
poziomy pierwszego listka, lecz listki boczne tego okna opadają wolniej w
porównaniu z oknem Hanninga.
Oznacza to. że przeciek w odległości trzech lub czterech prążków od prążka
środkowego jest mniejszy dla okna Hamminga, niż dla okna Hanninga, ale
przeciek dla kilkunastu prążków od prążka środkowego jest mniejszy dla okna
Hanninga, niż dla okna Hamminga.
Przykład:
Jeśli zastosujemy okno Hanninga do przykładu 3,4 okresu w przedziale
próbkowania, otrzymamy wartości wyjściowe DFT dla tego okienkowanego
przebiegu na rys. 11 wraz z wynikami DFT bez okienkowania, tj. przy oknie
prostokątnym.
Rysunek 11. Porównanie DFT dla okna prostokątnego i Hanninga
-17-
Jak oczekiwaliśmy, widmo amplitudowe dla okna Hanninga jest szersze i ma
mniejszą wartość maksymalną, lecz przeciek listków bocznych jest zauważalnie
zmniejszony w porównaniu z przeciekiem dla okna prostokątnego.
Możemy zatem stwierdzić, iż wybór okna stanowi kompromis pomiędzy
rozszerzeniem listka głównego, poziomami pierwszego listka bocznego, oraz tego,
jak szybko maleją listki boczne wraz ze wzrostem częstotliwości.
Użycie każdego szczególnego okna zależy od zastosowań.
Rozdzielczość DFT, uzupełnianie zerami i próbkowanie w dziedzinie
częstotliwości
Jedną z popularnych metod poprawy rozdzielczości częstotliwościowej DFT,
jest metoda znana jako uzupełnianie zerami.
Proces ten wymaga dodania do oryginalnego ciągu wejściowego DFT próbek o
zerowej wartości w celu zwiększenia całkowitej liczby próbek danych
wejściowych.
Kiedy próbkujemy funkcję ciągłą w dziedzinie czasu, mającą ciągłą
transformatę Fouriera i wyznaczamy DFT tych próbek, wówczas DFT daje w
wyniku próbkowaną aproksymację transformaty ciągłej w dziedzinie
częstotliwości.
Można się spodziewać, że im więcej jest punktów w DFT, tym lepiej wartości
wyjściowe tej DFT aproksymują transformatę ciągłą.
-18-
Rysunek 12. Ciągła transformata Fouriera
Chcemy aproksymować transformatę Fouriera funkcji ciągłej f(t) z rys. 12(a).
Ten przebieg f(t) rozciąga się w obydwu kierunkach do nieskończoności, lecz
przyjmuje wartości niezerowe jedynie w przedziale czasu T sekund.
Jeśli niezerowa część tej funkcji czasu jest przebiegiem sinusoidalnym o trzech
okresach w sekundach, to moduł jego transformaty Fouriera jest pokazany na rys.
12(b).
Jest to funkcja, którą będziemy aproksymować za pomocą DFT.
-19-
Rys 13. Próbkowanie DFT w dziedzinie częstotliwości: (a) 16 próbek danych
wejściowych i N = 16; (b) 16 próbek danych wejściowych, 16 dołączonych zer i N
= 32; (c) 16 próbek danych wejściowych, 48 dołączonych zer i N = 64, (d) 16
próbek danych wejściowych, 112 dołączonych zer i N= 128
Jeśli dołączymy 16 próbek zerowych do tego ciągu wejściowego i
wyznaczymy 32-punktową DFT, to otrzymamy wynik wyjściowy pokazany po
prawej stronie rys. 13(b), gdzie zwiększyliśmy rozdzielczość częstotliwościową
DFT dwukrotnie. Ta DFT próbkuje teraz częściej transformatę ciągłą. Dodając
kolejne 32 zera i wyznaczając 64-punktową DFT, otrzymujemy wynik pokazany
po prawej stronie rys. 13(c). Dodając kolejne 64 zera i wyznaczając 128-punktową
DFT, otrzymujemy wynik pokazany po prawej stronie rys. 13(d).
-20-
Dodawanie zer do ciągu wejściowego poprawia rozdzielczość wyniku DFT, ale
istnieje praktyczna granica określająca, jak wiele możemy zyskać przez dodanie
większej liczby zer. W rozważanym przykładzie 128-punktowa DFT pokazuje
wystarczająco szczegółową zawartość widma sygnału wejściowego.
W praktyce, jeśli chcemy przeprowadzić zarówno uzupełnienie zerami, jak i
okienkowanie ciągu próbek danych wejściowych, musimy uważać, aby nie
zastosować okna do całego sygnału wejściowego, po dołączeniu próbek o
wartościach zerowych. Funkcja okna musi być zastosowana tylko do oryginalnych
niezerowych próbek czasowych, w przeciwnym wypadku uzupełnione zera
wyzerują się i zniekształcą część funkcji okna, prowadząc do błędnych wyników.
Przykład
DFT funkcji prostokątej
Jednym z najbardziej powszechnych i najważniejszych wyliczeń rozważanych
w cyfrowym przetwarzaniu sygnałów jest DFT funkcji prostokątnej.
Funkcja prostokątna x[n] w postaci ogólnej może być zdefiniowana jako N
próbek zawierających K próbek o jednostkowej wartości, jak to pokazano na rys.
14.
Rysunek 14. Funkcja prostokątna x(n) w postaci ogólnej
-21-
Funkcje prostokątną, którą chcemy transformować, stanowi pełny N- punktowy
ciąg x[n]. Ciąg ten nazywamy funkcją prostokątną w postaci ogólnej, ponieważ K
jednostkowych próbek zaczyna się przy dowolnej wartości indeksu –n0. Npunktowa DFT ma postać:
X ( m) =
N /2
∑
n =−( N / 2) +1
x ( n ) e− j 2π nm / N
Przy n niezerowym tylko w zakresie −n0 ≤ n ≤ −n0 + ( K − 1)
X ( m) =
− n0 + ( K −1)
∑
n =− n
1⋅ e− j 2π nm / N
0
dla pomocniczej zmiennej q = 2π
X (q) =
− n0 + ( K −1)
∑
n =− n
⋅e− jqn = e
− jq( − n0 )
m
N
+e
− jq( − n0 +1)
+e
− jq ( − n0 + 2)
+ ... + e
− jq ( − n0 + K −1)
0
=e
− jq( n0 )
K −1
jq n
− jq K −1
⎡ − j 0q
+ e− j1q + e− j 2q + ... + e ( ) ⎤⎥ = e ( 0 ) e− jpq
⎢e
⎣
⎦
p =0
=
(9)
∑
Równanie (9) zawiera szereg geometryczny i może być zapisane jako:
K −1
e
∑
p =0
− jpq
1 − e− jqK
=
1 − e− jq
( 10 )
-22-
Równanie (10) można przekształcić do postaci:
K −1
∑e
(e
⋅
(e
jqK / 2
− jpq
=e
− jq ( K −1)/ N
p =0
jq / 2
− e− jqK / 2
− e− jq / 2
Z równania Eulera mamy: sin(φ ) =
)
)
( 11 )
e jφ − e− jφ
. zatem równanie (11) przyjmie
j2
postać:
K −1
e− jpq = e− jq ( K −1)/ 2 ⋅
∑
p =0
2 j sin ( qK / 2 )
2 j sin ( q / 2 )
= e− jq ( K −1)/ 2 ⋅
sin ( qK / 2 )
sin ( q / 2 )
( 12 )
Przywracając naszej pomocniczej zmiennej q jej oryginalną wartość 2π m / N ,
otrzymujemy postać ogólną tzw. jądra Dirichleta:
X ( m) = e
(
− j ( 2π m / N ) n0 −( K −1) / 2
) ⋅ sin (π mK / N )
sin (π m / N )
( 13 )
Równanie (13) stanowi ogólne wyrażenie dla DFT funkcji prostokątnej.
Opracowano na podstawie:
R. G. Lyons „Wprowadzenie do cyfrowego przetwarzania sygnałów” 1999
-1-
Filtry cyfrowe – cz.1
Wprowadzenie
Filtracja jest procesem przetwarzania sygnału w dziedzinie czasu. Polega
na redukowaniu ( odfiltrowaniu ) niepożądanych składowych zawartych w
sygnale wejściowym.
x[n]
y[n]
FILTR
CYFROW Y
Ze względu na typ przetwarzanych sygnałów filtrację dzieli się na:
• Analogową
(filtr analogowy działa na sygnale ciągłym, filtr = układ elektroniczny,
np. RLC )
• Cyfrową
(przetwarzanie ciągu wartości próbek, filtr = program komputerowy,
np. w procesorze sygnałowym )
Ze względu na sposób przetwarzania sygnału, filtry cyfrowe dzieli się na:
ƒ Nierekursywne ( o skończonej odpowiedzi impulsowej SOI )
ƒ Rekursywne ( o nieskończonej odpowiedzi impulsowej NOI )
-2-
Ograniczając się do systemów LTI filtry cyfrowe można opisać za pomocą
liniowego równania różnicowego:
M
N −1
k =0
k =0
∑ bk yn−k = ∑ ak xn−k
przy czym
o dla M=0 równanie opisuje filtr nierekursywny ( SOI )
o dla M>0 równanie opisuje filtr rekursywny ( NOI )
Charakterystyki widmowe filtrów cyfrowych:
Transmitancję filtru cyfrowego definiuje się jako stosunek transformaty zet
sygnału wyjściowego do transformaty zet sygnału wejściowego.
H (z ) =
gdzie:
Y (z ) =
X (z ) =
∞
∑ y[n]z − n
n = −∞
∞
∑ x[n]z − n
n = −∞
Z {y[n]} Y ( z )
=
Z {x[n]} X ( z )
-3-
Transmitancja filtru nierekursywnego ( SOI, M=0 ):
N −1
ak z − k
∑
Z {y[n]} k = 0
H (z ) =
=
Z {x[n]}
b0
=
N −1
∑ hk z − k
k =0
gdzie współczynniki
hk =
ak
b0
stanowią reakcję impulsową filtru, tj. odpowiedź na wymuszenie δ [n]
Transmitancja filtru rekursywnego ( NOI, M > 0 oraz M ≤ N − 1):
N −1
ak z − k
∑
∞
Z {y[n]} k = 0
H (z ) =
= M
= ∑ hk z − k
Z {x[n]}
∑ bk z − k k = 0
k =0
gdzie współczynniki oblicza się z wykorzystaniem transformaty odwrotnej zet.
Wprowadzając podstawienie
z=e
jωT p
określamy przekształcenie Fouriera dla sygnałów dyskretnych (obszar
zbieżności transformaty musi zawierać okrąg jednostkowy).
-4-
Odnosząc się do transmitancji filtru, otrzymujemy dla obu rodzajów filtrów
odpowiednie charakterystyki widmowe:
H ( jω ) = H ( z )
H ( jω ) = H ( z )
z =e
z =e
jωT p
j ωT p
=
N −1
∑ hk e
− jkωT p
k =0
=
∞
∑ hk e
− jkωT p
k =0
które umożliwiają bardzo efektywną analizę filtrów cyfrowych w dziedzinie
częstotliwości.
Charakterystyka widmowa
H ( jω ) = H (ω )e jφ (ω )
określa jednocześnie charakterystykę amplitudową
H (ω ) = H ( jω )
oraz charakterystykę fazową
φ (ω ) = arg H ( jω )
-5-
Cyfrowe filtry nierekursywne
Filtry typu SOI (ang. FIR – Finite Impulse Response ) są najprostszym w
analizie typem filtrów cyfrowych. Do uzyskania próbki sygnału wyjściowego
wykorzystuje bieżącą i przeszłe próbki sygnału wejściowego.
Przykład
Rozparzymy bardzo prosty algorytm, którego zadaniem jest wygładzanie
przebiegu (np. zawierającego szum przypadkowy). Jednym ze sposobów
wygładzania jest uśrednianie sąsiednich próbek. Operację filtrowania (?!) można
zapisać jako:
y[k ] =
x[k ] + x[k − 1]
2
Równanie to opisuje system LTI.
W tabeli pokazano przykładowe próbki sygnału podanego na wejście filtru x[k]
oraz próbki wyjściowe y[k]:
k
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
x[k]
0.38
0.46
0.76
0.82
0.92
0.85
0.96
0.98
0.97
1.12
1.13
1.06
1.17
1.01
1.16
y[k]
0.42
0.61
0.79
0.87
0.89
0.91
0.97
0.98
1.04
1.12
1.10
1.12
1.09
1.09
-6-
16
17
18
19
20
1.15
1.08
1.12
1.19
1.13
1.15
1.11
1.10
1.15
1.16
Z tabeli oraz wykresu możemy zauważyć, że sygnał wyjściowy jest
bardziej gładki niż wejściowy, a to oznacza wolniejsze zmiany w sygnału
wyjściowego. Możemy przypuszczać, że po przejściu sygnału przez układ ( filtr
), zostały wytłumione składniki o wyższych częstotliwościach.
x[k]
k
0
2
4
6
8
10
12
14
16
18
20
Czy rzeczywiście mamy do czynienia z filtrem, i z jakim filtrem przekonamy się
określając jego charakterystykę widmową:
y[k ] = 0.5 ⋅ x[k ] + 0.5 ⋅ x[k − 1]
-7-
Transformata zet obu stron równania różnicowego:
Y ( z ) = 0.5 ⋅ X ( z ) + 0.5 ⋅ z −1 X ( z )
Y ( z ) = 0.5 ⋅ (1 + z −1 )X ( z )
Transmitancja filtru wynosi:
H ( z) =
Y (z )
= 0.5 ⋅ (1 + z −1 )
X (z )
Charakterystyka widmowa
Stosując podstawienie (dla okresu próbkowania Tp=1)
z=e
jωT p
= e jω
(
H ( j ω ) = H ( z ) z = e j ω = 0. 5 ⋅ 1 + e − j ω
H ( jω ) = e
− j 1ω
2
)
j 1ω
− j 1ω
⋅ 0.5⎛⎜ e 2 + e 2 ⎞⎟
⎝
⎠
H ( jω ) = e
− j 1ω
2
⋅ cos(ω2 )
Jeżeli założony okres próbkowania wynosi 1, to zgodnie z twierdzeniem o
próbkowaniu maksymalna częstotliwość charakterystyki ( odpowiedzi
impulsowej ) ze względu na zjawisko powielania widma wyniesie:
ω max = 12 ⋅ ω p = 12 ⋅ 2πf p =
π
Tp
=π
-8-
Charakterystyka amplitudowa
H (ω ) = H ( jω ) = e
− j 1ω
2
cos(ω2 )
H (ω ) = cos(ω2 )
H (ω )
1
H (ω k )
ω
0
0
1
2
ωk
3
π
ω max
Charakterystyka fazowa
− jω
⎛
arg H (ω ) = arg⎜ e 2 cos(ω2 )⎞⎟
⎝
⎠
arg H (ω ) = −
ω
2
4
5
6
2π
ω
p
-9-
arg H ( j ω )
0
ωk
ω max
π
ω
p
2π
ω
φ (ω k )
−
π
2
Charakterystyki amplitudową oraz fazową filtru nierekursywnego można
wyznaczyć w sposób graficzny, znając położenie wszystkich zer transmitancji
filtru za płaszczyźnie zet. Zakres częstotliwości charakterystyk jak pokazano
wcześniej dla okresu próbkowania Tp=1 wynosi od zera od π .
Poruszając się po półokręgu o promieniu jednostkowym, możemy dla
dowolnego punktu odpowiadającemu częstotliwości ω k wyznaczyć wartości
widma:
• amplitudowego (jako iloczyn długości odcinków łączących punkt ω k z
wszystkimi zerami transmitancji filtru)
• fazowego (jako sumę kątów jakie tworzą odcinki łączące punkt ω k z
zerami i osią rzeczywistych )
Należy zatem zauważyć, że istnieje ścisły, jednoznaczny związek między
położeniem zer transmitancji i kształtem charakterystyk amplitudowej i fazowej.
W literaturze poświęcono sporo uwagi zagadnieniom doboru zer filtru
cyfrowego ze skończoną pamięcią ( SOI ), pozwalającego osiągnąć zadane
charakterystyki amplitudowe i fazowe.
-10-
Im ( z )
ωk
ω
H (ω k )
Re ( z )
ω max = π
− φ (ω k )
0
1 ω =0
zero
transmitancji
Przykład:
Na wykresach przedstawiony jest sygnał na wejściu oraz na wyjściu filtru.
Należy obliczyć charakterystyki widmowe:
x[k]
1
k
X ( z ) = 1 + z −1
-11-
x[k]
2
1
k
(
Y ( z ) = 1 + 2 z −1 + z − 2 = 1 + z −1
)
2
Transmitancja
(
)
Y ( z ) 1 + z −1
H (z ) =
=
= 1 + z −1
−1
X (z ) 1 + z
2
Równanie różnicowe:
Y ( z ) = H ( z ) X ( z ) → y[k ] = x[k ] + x[k − 1]
Otrzymaliśmy równanie jak w poprzednim przykładzie.
Przykład:
Dla danych dwóch wcześniejszych położeń obiektu x[k-2], x[k-1],
przewidywane położenie obiektu y[k] znajduje się na linii prostej przecinającej
punkty x[k-2], x[k-1]. Należy znaleźć cyfrowy filtr predykcji sygnału (
przewidującego położenie obiektu ).
-12-
y[k]
x[k-1]
x[k-2]
k
k-2
k-1
k
Równanie prostej przechodzącej przez dwa punkty
x[k − 1] − x[k − 2]
(k − (k − 1)) = y[k ] − x[k − 1]
(k − 1) − (k − 2)
x[k − 1] − x[k − 2] = y[k ] − x[k − 1]
2 ⋅ x[k − 1] − x[k − 2] = y[k ]
Transmitancja
H ( z ) = 2 ⋅ z −1 − z −2
Charakterystyka widmowa
H ( jω ) = 2 ⋅ e − jω − e −2 jω
-13-
Projektowanie dolnoprzepustowych filtrów nierekursywnych
Procedura projektowania rozpoczyna się od założenia wymaganej
charakterystyki filtru ( funkcji transmitancji ). Następnie oblicza się
współczynniki filtru.
Najczęściej stosowane metody projektowania filtrów SOI to:
• metoda okien
( polega na obliczaniu odpowiedzi impulsowej filtru poprzez
wyznaczanie odwrotnej DFT oraz zastosowanie funkcji okien
wygładzających )
• metody optymalizacyjne (np. metoda Remeza)
(wykorzystują algorytmy wyznaczania współczynników filtru, na
podstawie zadanych warunków w dziedzinie częstotliwości, tj. dla
charakterystyki widmowej)
• metody ewolucyjne (algorytmy genetyczne)
( nowe metody wykorzystujące algorytmy wyszukiwania
współczynników metodami losowań i wyboru statystycznego )
Metoda okien:
Projektowanie rozpoczyna się od przyjęcia funkcji transmitancji filtru,
który będziemy konstruować. Zdefiniujemy idealną charakterystykę
analogowego filtru dolnoprzepustowego.
H(f)
funkcja transmitancji filtru
o zerowej fazie
1
częstotliwość
graniczna
f
-f p
-f p /2
0
f p /2
fp
-14-
Przyjmujemy wartość jednostkową w paśmie dolnych częstotliwości, oraz zero
w paśmie powyżej częstotliwości granicznej, czyli w paśmie zaporowym.
Dyskretny odpowiednik funkcji transmitancji jest funkcją periodyczną z
okresem równym częstotliwości próbkowania. Zagadnienia związane z
powielaniem widma w wyniku dyskretyzacji funkcji czasu, omawiano na
wykładzie dotyczącym metod próbkowania sygnałów analogowych.
Rysunek przedstawia
dolnoprzepustowego.
dyskretną
funkcję
transmitancji
idealnego
filtra
H[m]
m
m=-N
m=-N/2
m=0
m=N/2
-f p /2
m=N
f p /2
fp
0
Po wybraniu funkcji transmitancji realizowanego filtru, należy
zdefiniować H[m] w pojedynczym okresie od 0 do fp. Na rysunku pokazano
dyskretną postać funkcji transmitancji, gdzie przyjęto przykładowo N=32
punkty reprezentacji w dziedzinie częstotliwości.
H[m]
1
0
4
f p /2
8
12
16
m
20
24
28
31
fp
-15-
Stosując 32 punktowe odwrotne DFT ( lub odwrotne FFT ) otrzymujemy 32
wartości h[n], jak na rysunku indeksowane od n=-15 do n=16.
0.219
odwrotna DFT H[m]
n
-15
0
16
Współczynniki filtru wynikowego powinny być
symetrycznie z maksymalną wartością w środku okna filtru.
rozmieszczone
Opuszczamy zatem próbkę dla n=16 i przesuwamy wszystkie
współczynniki tak aby były numerowane od wartości zero. Zgodnie z
twierdzeniem o przesunięciu ciągu w dziedzinie czasu, charakterystyka
amplitudowa nie zmienia swojego kształtu, następuje jedynie zmiana
charakterystyki fazowej.
Przedstawione na rysunku wartości realizują dolnoprzepustowy filtr
nierekursywny 31 rzędu.
h[n]= przesunięta
odwrotna DFT H[m]
n
0
15
30
-16-
Pokażemy jak zależy dokładność aproksymacji funkcji transmitancji od
liczby współczynników filtru.
Zdefiniujemy funkcję okna prostokątnego o zmiennej szerokości i jednostkowej
wysokości w[n]. Mnożenie odpowiedzi impulsowej filtru idealnego przez
funkcje w[n], pozwala za zmianę liczby współczynników filtru.
h[n] = h ∞ [n]⋅ w[n]
Użycie filtru 9 rzędu daje w wyniku filtr dolnoprzepustowy, ale jeżeli
porównamy jego charakterystykę amplitudową jest ona daleka od ideału.
h[k]
n=9
Sytuację poprawia zastosowanie filtru 19 rzędu. Charakterystyka
amplitudowa zbliża się kształtem do zakładanej, prostokątnej. Zauważmy
wyraźne nierównomierności w paśmie przepustowym.
h[k]
n=19
15
-17-
Zastosowanie filtru 31 rzędu daje jeszcze lepszą charakterystykę znacznie zmniejszyliśmy pasmo przejściowe. Jednak nierównomierności
charakterystyki w paśmie przepustowym nadal są wyraźnie widoczne.
h[k]
n=31
0
15
30
Wnioski:
• Dalsze zwiększanie liczby współczynników powoduje zawężenie
obszaru przejściowego, ale nie likwiduje nierównomierności
charakterystyki amplitudowej w paśmie przepustowym.
• Efekt ten jest nazywany efektem Gibsa i występuje gdy nieciągłość
funkcji prostokątnej w[n] wyrażona jest w postaci szeregu Fouriera.
Inaczej można stwierdzić, że zbiór przebiegów sinusoidalnych nie
jest w stanie odwzorować nieciągłości.
• Nierównomierności w paśmie przepustowym można jednak
minimalizować stosując tzw. funkcje okien wygładzających.
-1-
Filtry cyfrowe – cz.2
Zastosowanie funkcji okien do projektowania filtrów SOI
Nierównomierności charakterystyki amplitudowej filtru cyfrowego typu
SOI można zredukować stosując funkcje okien wyznaczające rząd filtru, inne
niż o kształcie prostokąta.
Na rysunku niżej
przedstawiono przypadek stosowania okna
prostokątnego w[n]. Z ciągu nieskończonego odpowiedzi impulsowej filtru
h∞[n] wybierana jest żądana liczba współczynników filtru. Operacja ta polega na
mnożeniu funkcji w[n] oraz h∞[n].
h[n] = w[n]⋅ h ∞ [n]
-2-
W dziedzinie częstotliwości odpowiada to operacji splatania transformat
Fouriera funkcji w[n] oraz h∞[n].
H [m] = W [m]∗ H ∞ [m]
Rysunek poniżej przedstawia w sposób graficzny, splot w dziedzinie
częstotliwości. Jeżeli będziemy interpretować splot jako sumę iloczynów |W[m]|
oraz |H∞[m]| dla kolejnych przesunięć W[m] względem H∞[m] to łatwo
zauważyć przyczynę powstawania zafalowań charakterystyki amplitudowej
filtru.
Możemy także zauważyć, że największe wartości zafalować w paśmie
przepustowym charakterystyka osiąga w punkcie, w którym kończy się pasmo
przepustowe charakterystyki filtru idealnego, o charakterystyce prostokątnej.
-3-
Rysunek poniżej przedstawia obszar nierównomierności oraz obszar
przejściowy filtru dolnoprzepustowego, wyznaczanego dla okna prostokątnego,
dla dwóch różnych rzędów
Zredukowanie nieciągłości okna w[n]
Projektowanie metodą okna polega na zredukowaniu nieciągłości w[n]
przez zastosowanie okna o innego niż prostokątne.
Zastąpimy okno prostokątne oknem, którego dyskretne wartości wyznacza
zależność:
⎛ 4πn ⎞
⎛ 2πn ⎞
w[n] = 0,42 − 0,5 cos⎜
⎟ dla n = 0,1,2,..., N − 1
⎟ + 0,08 cos⎜
⎝ N ⎠
⎝ N ⎠
-4-
Rysunek poniżej przedstawia zastosowanie okna Blackamana do
projektowania filtru SOI, oraz charakterystyki filtrów 31 i 63 rzędu.
Dzięki zastosowaniu okna Blackmana znacznie zmniejszono zafalowania w
paśmie przepustowym.
Oczywiście dla rozpatrywanego dolnoprzepustowego filtru SOI możemy użyć
innej, dowolnej funkcji okna. Na tym właśnie polega istota projektowania
filtrów SOI tą metodą, tj. metodą okna.
-5-
Przykłady i porównanie innych okien wygładzających w[n]
Rysunek poniżej przedstawia porównanie charakterystyk filtru o oknie
prostokątnym i oknie Blackmana. Dzięki zastosowaniu odpowiedniego okna
można zatem poprawić własności filtru, poprzez zmniejszenie poziomu listków
bocznych.
Należy być jednak świadomym tego, że to polepszenie uzyskuje się dzięki
poszerzeniu listka głównego, i projektowanie zwykle polega na znalezieniu
odpowiedniego kompromisu między szerokością listka głównego i poziomem
listków bocznych
-6-
Okno Czebyszewa
⎧
⎡
⎛ m ⎞⎤ ⎫
cos⎨ N ⋅ cos −1 ⎢α ⋅ cos⎜ π ⎟⎥ ⎬
⎝ N ⎠⎦ ⎭
⎣
⎩
w[n] =
cosh N ⋅ cosh −1 (α )
[
]
gdzie
⎛1
⎞
cosh −1 (10γ )⎟
⎝N
⎠
m = 0,1,2,..., N − 1
α = cosh⎜
Funkcja została wyprowadzona, na podstawie analizy macierzowej anten.
Parametr gamma umożliwia sterowanie szerokością listka bocznego oraz
poziomem listków bocznych.
-7-
Okno Kaisera
2
⎡
⎛n− p⎞ ⎤
I 0 ⎢ β 1 − ⎜⎜
⎟⎟ ⎥
⎢
⎝ p ⎠ ⎥⎦
⎣
w[n] =
I 0 (β )
gdzie
n = 0,1,2,..., N − 1
N −1
p=
2
Równanie pochodzi z badań Kaisera nad funkcjami sferycznymi z użyciem
funkcji Bessela zerowego rzędu. Parametr beta umożliwia sterowanie
szerokością listka bocznego oraz poziomem listków bocznych.
-8-
Projektowanie środkowoprzepustowych filtrów SOI
Projektowanie filtru środkowoprzepustowego polega na przesunięciu
charakterystyki filtru dolnoprzepustowego. Można tego dokonać przez
pomnożenie współczynników filtru dolnoprzepustowego hlp[n] przez funkcję
sinusoidalną o częstotliwości fs/4. W wyniku otrzymuje się współczynniki filtru
środkowoprzepustowego hbp[n]. Sinusoidę reprezentuje na rysunku ciąg sshift[n],
są to próbki sinusoidy pobierane 4 razy w okresie.
hhp [n] = hlp [n]⋅ sshift [n] = hlp [n]⋅ [0,1,0,−1,0,1,0,−1,0,1...]
Przy projektowaniu filtru pasmowego SOI o częstotliwości środkowej fs/4
musimy dokonać jedynie połowę mnożeń, ponieważ co drugi współczynnik jest
zerem. Jeżeli jednak środkowa częstotliwość jest różna od fs/4 to musimy
wykonać wszystkie mnożenia.
-9-
Projektowanie górnoprzepustowych filtrów SOI
Aby wyznaczyć współczynniki filtru górnoprzepustowego hhp[n], należy
jedynie zmodyfikować ciąg przesuwający. Ciąg sshift[n] powinien reprezentować
sinusoidę o częstotliwości fs/2.
hhp [n] = hlp [n]⋅ sshift [n] = hlp [n]⋅ [1,−1,1,−1,1,−1,1,−1...]
-10-
Charakterystyka fazowa filtrów SOI
Jedną z podstawowych właściwości filtrów SOI jest liniowość
charakterystyki fazowej. Przykład wyznaczania charakterystyki przedstawia
rysunek niżej.
-11-
Zauważymy, że charakterystyka fazowa jest liniowa w paśmie przepustowym.
Oznacza to jednakowe opóźnienie wszystkich składników częstotliwościowych,
a to oznacza że sygnał wejściowy nie jest zniekształcany. Ta cecha dotyczy
wszystkich filtrów SOI o symetrycznych współczynnikach.
-12-
Filtry o nieskończonej odpowiedzi impulsowej NOI
Filtry tego typu zawsze wymagają sprzężenia zwrotnego. Inaczej, każda
próbka sygnału wyjściowego zależy od poprzednich próbek sygnału
wejściowego i wyjściowego.
Filtry NOI w porównaniu z filtrami SOI, są bardziej skomplikowane w
projektowaniu i analizie i nie mają liniowej charakterystyki fazowej, są jednak
bardziej efektywne. NOI wymagają znacznie mniejszej liczby mnożeń do
obliczenia próbki sygnału wyjściowego niż SOI przy zapewnieniu odpowiedniej
charakterystyki filtru.
Na rysunku porównano charakterystyki amplitudowe dolnoprzepustowego filtru
NOI 4 rzędu oraz filtru SOI 19 rzędu.
• SOI 19 rzędu wymaga 19 operacji mnożenia
• NOI 4 rzędu wymaga 9 operacji mnożenia
Filtr NOI ma mniejsze nierówności w paśmie przepustowym, mniejsze
pasmo przejściowe i jest bardziej efektywny ze względu na liczbę operacji
matematycznych.
-13-
Struktura filtru SOI
Na rysunku przedstawiono schemat blokowy przedstawiający strukturę filtru
SOI opisanego równaniem różnicowym w dziedzinie czasu:
y[n] = h[0]x[n] + h[1]x[n − 1] + h[2]x[n − 2] + h[3]x[n − 3]
-14-
Struktura filtru NOI
Na rysunku przedstawiono schemat blokowy przedstawiający strukturę filtru
NOI opisanego równaniem różnicowym w dziedzinie czasu:
y[n] = b[0]x[n] + b[1]x[n − 1] + b[2]x[n − 2] + b[3]x[n − 3] +
+ a[1]y[n − 1] + a[2]y[n − 2] + a[3]y[n − 3]
Ciąg d[n] w strukturze filtru NOI jest równy ciągowi y[n] w strukturze filtru
SOI
-15-
Przykład dolnoprzepustowego filtru NOI drugiego rzędu
y[n] = 0,0605 x[n] + 0,121x[n − 1] + 0,0605 x[n − 2] +
+ 1,194 y[n − 1] − 0,436 y[n − 2]
Transformata ZET
Y ( z ) = 0,0605 X ( z ) + 0,121X ( z )z −1 + 0,0605 X ( z )z −2 +
+ 1,194Y ( z )z −1 − 0,436Y ( z )z − 2
Transmitancja
0,0605 + 0,121z −1 + 0,0605 z −2
H (z ) =
1 − 1,194 z −1 + 0,436 z − 2
Charakterystyka częstotliwościowa
0,0605e − j 0ω + 0,121e − j1ω + 0,0605e − j 2ω
H ( jω ) =
1 − 1,194e − j1ω + 0,436e − j 2ω
-16-
Rysunek przedstawia charakterystykę amplitudową i fazową obliczonego filtru:
Dla porównania wykreślono charakterystyki filtru SOI 5 rzędu
Charakterystyka fazowa filtru NOI jest nieliniowa.
Przy tym samym nakładzie obliczeń filtrów charakterystyka amplitudowa filtru
NOI ma mniejsze nierówności i jest bardziej stroma w paśmie przejściowym niż
SOI.
-17-
Projektowanie filtrów NOI metodą niezmienniczości odpowiedzi
impulsowej
Metoda polega na projektowaniu filtru cyfrowego, którego odpowiedź
impulsowa jest spróbkowaną wersją odpowiedzi filtru analogowego. Jeżeli
prototypowy filtr analogowy ma żądaną charakterystykę częstotliwościową, to
projektowany filtr cyfrowy NOI będzie aproksymował tę charakterystykę
Na podstawie tego co wiemy o zjawisku powielania widma na skutek
próbkowania sygnału, możemy stwierdzić, widmo ciągłej odpowiedzi
impulsowej ulegnie powieleniu i otrzymamy widmo okresowe.
Podczas projektowania filtrów NOI należy uwzględniać efekt nakładania widma
(aliasingu) Z tego powodu w praktyce wybiera się duże częstotliwości
próbkowania.
-18-
Efekt powielania widma sygnału dyskretnego.
-19-
Przykład projektowania filtru NOI
Zaprojektujemy filtr NOI, którego nierówność charakterystyki w paśmie
przepustowym wynosi 1dB.
Częstotliwość próbkowania 100Hz. (ts=0.01).
Częstotliwość graniczna przy spadku o 1dB wynosi 20Hz.
Analogowy filtr
transmitancję:
Czebyszewa
H c (s ) =
odpowiadający
tym
wymaganiom
17410,145
s + 137,94536 s + 17410,145
2
Obliczymy odwrotną transformatę Laplace’a wykorzystując zależność:
Aω
(s + α ) + ω 2
2
L
⎯
⎯→
Ae −αt sin (ωt )
hc (t ) = 154,77724e −68,972680t sin (112,485173t )
ma
-20-
Obliczymy transformatę ZET wykorzystując zależność
Ce
−αnt s
Ce −αt s sin (ωt s )z −1
sin (ωnt s ) ⎯
⎯→
1 − 2 e −αt s cos(ωt s ) z −1 + e − 2αt s z − 2
Z
[
]
154,77724e −68,972680t s sin (112,485173t s )z −1
H (z ) =
1 − 2 e − 68,972680t s cos(112,485173t s ) z −1 + e − 2⋅68,972680t s z − 2
[
]
70,059517 z −1
H (z ) =
1 − 0,43278805 z −1 + 0,25171605 z − 2
Stąd można wyznaczyć równanie różnicowe realizujące filtr NOI
[
X ( z )70,059517 z −1 = Y ( z ) 1 − 0,43278805 z −1 + 0,25171605 z −2
]
Y ( z ) = X ( z )70,059517 z −1 + Y ( z )0,43278805 z −1 − Y ( z )0,25171605 z −2
Ostatecznie:
y[n] = 70,059517 x[n − 1] + 0,43278805 y[n − 1] − 0,25171605 y[n − 2]
Na podstawie:
R. G. Lyons „Wprowadzenie do cyfrowego przetwarzania sygnałów” 1999
J. Izydorczyk, G. Płonka, G. Tyma „Teoria sygnałów” 1999
-1-
Filtry cyfrowe – cz.3
Filtry cyfrowe NOI (projektowanie)
Metoda standardowa transformaty ZET
Metoda polega na podziale analogowego filtru prototypowego, na wiele
filtrów analogowych o pojedynczym biegunie.
Następnie każdy taki cząstkowy filtr aproksymuje się filtrem cyfrowym o
pojedynczym biegunie.
W ten sposób utworzone filtry cyfrowe łączy się w jeden filtr NOI
wyższego rzędu.
Metodę można podzielić na etapy:
1. Wyznacza się transmitancję (transformata Laplace’a) analogowego filtru
prototypowego w postaci:
H (s) =
bN s N + bN −1s N −1 + L + b1s + b0
=
aM s M + aM −1s M −1 + L + a1s + a0
N
=
bk s k
∑
k =0
M
ak s k
∑
k =0
(1)
-2-
2. Określa się częstotliwość próbkowania fp i oblicza odstęp między
próbkami
Tp =
1
fp
(2)
3. Wyraża się funkcję transmitancji H(s) filtru analogowego jako sumę
transmitancji filtrów o pojedynczych biegunach – metoda rozkładu na
ułamki proste.
Ak
A
A
A
= 1 + 2 +L + M
s − s1 s − s2
s − sM
k =1 s − sk
M
H (s) = ∑
(3)
Oznaczymy transmitancję k-tego filtru analogowego przez:
Hk ( s) =
Ak
s − sk
4. Dokonuje się podstawienia
:
sT
s − sk → 1 − e k p z −1
w wyrażeniu (3).
Takie odwzorowanie bieguna sk na płaszczyźnie s w punkt z = e s T na
płaszczyźnie z jest aproksymacją odpowiedzi impulsowej jednobiegunowego
filtru analogowego przez jednobiegunowy filtr cyfrowy o transmitancji:
k
Hk ( z ) =
Ak
1 − e skT p z −1
p
(4)
-3-
5. Oblicza się funkcję transmitancji sumy M filtrów cyfrowych o jednym
biegunie
Ak
M
M
k =1
k =1 1 − e
H ( z ) = ∑ Hk ( z ) = ∑
sk T p −1
z
(5)
Przekształcając do postaci ilorazu wielomianów:
N
bk z − k
∑
Y ( z ) k =0
H ( z) =
=
X ( z) M
ak z − k
∑
k =0
(6)
6. W dziedzinie czasu równanie różnicowe opisujące filtr ma postać:
a0 y ⎡⎣ n ⎤⎦ + a1 y ⎣⎡ n −1⎦⎤ + L aM y ⎡⎣ n − M ⎤⎦ =
= b0 x ⎡⎣ n ⎤⎦ + b1 x ⎣⎡ n − 1⎦⎤ + LbN x ⎡⎣ n − N ⎤⎦
Przykład:
Przykład projektowania filtru NOI metodą standardową transformaty ZET
Wyznaczono prototyp filtru analogowego, jako dolnoprzepustowy filtr
Czebyszewa drugiego rzędu. Nierównomierność w paśmie przepustowym
wynosi 1dB
H (s) =
17410
s + 137,9s + 17410
2
(7)
-4-
Częstotliwość próbkowania wynosi 100 Hz.
Oznaczymy b=137,9
oraz c=17410
H (s) =
c
s + bs + c
2
Zapiszemy transmitancję w postaci
H (s) =
c
( s − s1 )( s − s2 )
gdzie
b
4c − b2
s1 = − − j
2
4
4c − b2
4
b
2
s1 = − + j
lub
s1,2 = −b / 2 m jω
Rozkładamy funkcję H(s) na ułamki proste:
H (s) =
c
( s + b / 2 + jω )( s + b / 2 − jω )
=
A1
A2
+
s + b / 2 + jω s + b / 2 − jω
Stąd
A1 = H ( s ) ( s + b / 2 − jω )
A2 = H ( s )( s + b / 2 + jω )
s = −b / 2 − jω
s = −b / 2 + jω
=
=
c
c
=j
s + b / 2 − jω
2ω
c
c
=−j
s + b / 2 + jω
2ω
-5-
H (s) =
jc / 2ω
− jc / 2ω
+
s + b / 2 + jω s + b / 2 − jω
Filtr analogowy ma dwa bieguny zlokalizowane w punktach s1 i s2 na
płaszczyźnie s.
Dokonując podstawienia
sT
s − sk → 1 − e k p z −1
odwzorujemy bieguny na płaszczyźnie z
Płaszczyzna s
Płaszczyzna z
Im(s)
Im(z)
jω
Obszar
stabilności
-1
-b/2
Re(s)
1
Obszar
stabilności
-jω
H ( z) =
jc / 2ω
− jc / 2ω
+
− b / 2+ jω )T p −1
− b / 2− jω )T p −1
z
z
1− e (
1− e (
Re(z)
-6-
Przekształcamy wyrażenie do postaci
( jc / 2ω ) ebT / 2 ( e− jωT
p
H ( z) =
1− e
H ( z) =
−bT p / 2
(e
jωT p
−e
p
− jωT p
)
− e jωT p z −1
)z
−1
+e
− bT p −2
z
( c / ω ) e−bT / 2 (sin ωTp ) z −1
p
1− e
−bT p / 2
( 2cosωTp ) z −1 + e−bT z −2
p
Podstawiając wartości liczbowe:
H ( z) =
70,059 z −1
1 − 0,43278 z −1 + 0, 2517 z −2
W postaci równania różnicowego:
y ⎡⎣ n ⎤⎦ − 0,43278 y ⎡⎣ n −1⎤⎦ + 0,25171y ⎡⎣ n − 2⎤⎦ = 70,059 x ⎡⎣ n − 1⎤⎦
Schemat blokowy filtru:
-7-
x[n]
+
y[n]
+
z-1
x[n-1]
z-1
70,0595
+
+
0,432788
y[n-1]
z-1
-0,251716
y[n-2]
MATLAB:
%
% Filtr cyfrowy NOI projektowany "Metoda standardowa
transformaty ZET"
% niezmienniczosci odpowiedzi impulsowej
%
clear
B=[0 0 17410.145];
A=[1 137.94536 1.7410e+004];
fp=100;
%
[BZ,AZ] = IMPINVAR(B,A,fp);
%
%help
%
%IMPINVAR Impulse invariance method for analog to digital
filter conversion.
%
[BZ,AZ] = IMPINVAR(B,A,fp) creates a digital filter with
numerator
%
and denominator coefficients BZ and AZ respectively whose
impulse
%
response is equal to the impulse response of the analog
filter with
%
coefficients B and A sampled at a frequency of Fs Hertz.
The B and A
%
coefficients will be scaled by 1/fp.
%
BZ=BZ*fp;
disp (BZ);
disp(AZ);
-8-
Metoda transformacji biliniowej.
Metoda polega na przejściu od prototypu analogowego filtru H(s) do jego
odpowiednika dyskretnego H(z) poprzez zastosowanie podstawienia:
s=
2 ⎛ 1 − z −1 ⎞
⎜
⎟
Tp ⎜⎝ 1 + z −1 ⎟⎠
(8)
Tp – okres próbkowania
Podstawowe cechy metody transformacji biliniowej:
‰
‰
‰
uproszczenie matematycznego przejścia od H(s) do H(z).(Nie trzeba
stosować przekształcenia Laplace’a oraz ZET, oraz rozkładu na ułamki
proste)
odwzorowanie całej płaszczyzny s na płaszczyznę z. ( brak problemu
aliasingu)
nieliniowe zniekształcenia osi częstotliwości funkcji H(z) względem H(s)
(krótsze pasmo przejściowe filtru cyfrowego niż prototypu analogowego)
Każdy biegun leżący w lewej półpłaszczyźnie zmiennej s jest odwzorowany
w biegun położony wewnątrz koła jednostkowego na płaszczyźnie zmiennej z.
-9-
Przekształcając równanie (8) do postaci
sT p
2
z=
sTp
1−
2
1+
(9)
oraz oznaczając s = σ _ jω a , gdzie ω a - częstotliwość charakterystyki analogowej
Równanie (9) przyjmuje postać:
(1+ σ ) + jω
z=
(1− σ ) − jω
Tp
Tp
2
2
a
a
Tp
Tp
2
(10)
2
Moduł
z=
(
) (
(1− σ ) − (ω
1 + σ Tp 2
Tp
2
+ ωa Tp 2
2
2
a
Tp
2
)
)
2
2
(11)
Zatem
dla σ < 0 z < 1 bieguny lewostronne
dla σ > 0 z > 1 bieguny prawostronne
Oznacza to, że bieguny zlokalizowane w lewej półpłaszczyźnie zmiennej s przy
zastosowaniu transformacji biliniowej zostaną odwzorowane do wnętrza okręgu
jednostkowego zmiennej z.
-10-
Gwarantuje to, że stabilne bieguny filtru prototypowego analogowego będą
odwzorowane na stabilne bieguny filtru cyfrowego NOI.
dla σ = 0 z = 1
Oś jω a na płaszczyźnie s odwzorowana jest w okrąg jednostkowy na
płaszczyźnie z, jednak odwzorowanie to nie jest liniowe.
Płaszczyzna s
Im(s)
Płaszczyzna z
ωa = ∞
Obszar
stabilności
Im(z)
ωd = π
ωa = ∞
Re(s)
ωd = 0
ωa = 0
Obszar
stabilności
Re(z)
ω a = −∞
Liczba zespolona położona na okręgu jednostkowym zmiennej z
z = e jωd
(12)
gdzie ω d - częstotliwość charakterystyki dyskretnej
Podstawiając (12) do (8)
2 ⎛ 1 − e− jωd
s= ⎜
T p ⎜⎝ 1 + e− jωd
⎞
⎟
⎟
⎠
-11-
s = σ + jω a =
2 e− jωd / 2 ⎛ e jωd / 2 − e− jωd / 2 ⎞
⎜
⎟
Tp e− jωd / 2 ⎜⎝ e jωd / 2 + e− jωd / 2 ⎟⎠
− jω / 2
2 e d j sin (ω d / 2 )
s = σ + jω a =
Tp e− jωd / 2 cos (ω d / 2 )
ωa =
2 ⎛ ωd ⎞
tg ⎜ ⎟
Tp ⎝ 2 ⎠
⎛ ω aT p ⎞
⎟⎟
⎝ 2 ⎠
ω d = 2arctg ⎜⎜
Nieliniowa zależność między częstotliwościami fd i fa.
fd =
1
π
arctg (π f a / f p )
fd
(13)
fd
fa
Hd
Ha
fa
-12-
Metodę można podzielić na etapy:
1. Wyznacza się transmitancję (transformata Laplace’a) analogowego filtru
prototypowego w postaci:
N
H (s) =
bk s k
∑
k =0
M
∑ ak s
(14)
k
k =0
2. Określa się częstotliwość próbkowania fp i oblicza odstęp między
próbkami
Tp =
1
fp
(15)
3. Za zmienną s w funkcji transmitancji H(s) podstawia się wyrażenie:
2 ⎛ 1 − z −1 ⎞
⎜
⎟
Tp ⎜⎝ 1 + z −1 ⎟⎠
(16)
4. Przekształca się H(z) do postaci ilorazu wielomianów:
N
H ( z) =
bk z − k
∑
k =0
M
∑ ak z
k =0
−k
(17)
-13-
5. W dziedzinie czasu równanie różnicowe opisujące filtr NOI ma postać:
a0 y ⎡⎣ n ⎤⎦ + a1 y ⎣⎡ n − 1⎦⎤ + L aM y ⎡⎣ n − M ⎤⎦ =
= b0 x ⎡⎣ n ⎤⎦ + b1 x ⎣⎡ n − 1⎦⎤ + LbN x ⎡⎣ n − N ⎤⎦
Przykład
Przykład projektowania filtru NOI metodą transformacji biliniowej
Wyznaczono prototyp filtru analogowego, jako dolnoprzepustowy filtr
Czebyszewa drugiego rzędu. Nierównomierność w paśmie przepustowym
wynosi 1dB
H (s) =
17410
s + 137,94s + 17410
2
Częstotliwość próbkowania wynosi 100 Hz.
Oznaczymy b=137,94 oraz c=17410
H (s) =
c
s + bs + c
2
Podstawiając
s=
2 ⎛ 1 − z −1 ⎞
⎜
⎟
Tp ⎜⎝ 1 + z −1 ⎟⎠
(18)
-14-
Transmitancja filtru cyfrowego wynosi
H (z) =
c
2
2 ⎛ 1 − z −1 ⎞
2 ⎛ 1 − z −1 ⎞
⎜
⎟ + b ⎜⎜
⎟+c
Tp ⎜⎝ 1 + z −1 ⎟⎠
Tp ⎝ 1 + z −1 ⎟⎠
Oznaczymy a=2/Tp
H (z) =
c
2
⎛ 1 − z −1 ⎞
⎛ 1 − z −1 ⎞
a ⎜⎜
+ ab ⎜⎜
+c
−1 ⎟
−1 ⎟
⎟
⎟
⎝ 1+ z ⎠
⎝ 1+ z ⎠
(
Mnożymy licznik i mianownik przez 1 + z −1
H (z) =
H ( z) =
(
)
2
c 1 + z −1
(
)
2
(
)(
)
2
) (
a 1 − z −1 + ab 1 + z −1 1 − z −1 + c 1 + z −1
(
)
( a + ab + c ) + ( 2c − 2a ) z + ( a
)
2
c 1 + 2 z −1 + z −2
−1
2
2
)
+ c − ab z −2
Podstawiając wartości liczbowe:
H (z) =
0,20482 + 0, 40965 z −1 + 0, 20482 z −2
1 − 0,53153z −1 + 0,350839 z −2
Równanie różnicowe:
y[n ] − 0,53153 y[n − 1] + 0,350839 y[n − 2] = 0,20482 x[n] + 0,40965 x[n − 1] + 0,20482 x[n − 2]
-15-
x[n]
0,20482
+
w[n]
y[n]
+
z-1
x[n-1]
z-1
0,40965
+
+
0,53153
z-1
z-1
x[n-2]
x[n]
y[n-1]
0,20482
-0,350839
0,20482
+
+
z-1
+
0,53153
0,40965
z-1
-0,350839
0,20482
Schemat filtru typu NOI
+
y[n-2]
y[n]
-16-
MATLAB:
%
% Filtr cyfrowy NOI projektowany "Metoda transformacji
biliniowej"
%
%
clear
B=[0 0 17410.145];
A=[1 137.94536 1.7410e+004];
fp=100;
%
[BZ,AZ] = bilinear(B,A,fp);
%
%help
%BILINEAR Bilinear transformation with optional frequency
prewarping.
%
[BZ,AZ] = BILINEAR(B,A,fp) converts the s-domain transfer
%
function specified by B, A, to a z-transform discrete
%
equivalent obtained from the bilinear transformation:
%
H(z) = H(s) |
%
| s = 2*Fs*(z-1)/(z+1)
%
where B and A are row vectors containing numerator and
denominator
%
transfer function coefficients, B(s)/A(s), in descending
powers of
%
s, transforms to z-transform coefficients BZ(z)/AZ(z).
%
disp (BZ);
disp(AZ);
Porównanie filtrów NOI projektowanych metodą biliniową i metodą
niezmienniczości odpowiedzi impulsowej.
-17-
Porównanie filtrów SOI i NOI
Własność
NOI
SOI
Liczba wymaganych mnożeń
Mała
Duża
Wrażliwość na kwantyzację współczynników
Duża *
Bardzo mała
Prawdopod. wystąpienia błędów przepełnienia
Duże *
Bardzo małe
Stabilność
Musi być
projektowana
Zapewniona
Liniowość fazy
Nie
Zapewniona
**
Możliwość symulowania filtru analogowego
Tak
Nie
Sprzętowe wymagania dla pamięci
Małe
Duże
Łatwość projektowania
Średnia
Prosta
Stopień trudności analizy szumu kwantowania Bardzo trudne
Możliwość filtracji adaptacyjnej
Tak
*) Można uniknąć stosując struktury kaskadowe
**) Zagwarantowana tylko dla symetrycznych współczynników SOI
Łatwe
Tak
1
Szybkie przekształcenie Fouriera
(FFT – ang. Fast Fourier Transform)
Rozpatrzymy sygnał o długości N
x ⎡⎣0⎤⎦ , x ⎡⎣1⎤⎦ ,K, x ⎡⎣ N − 1⎤⎦
(1)
dla którego chcemy obliczyć dyskretną transformatę Fouriera (DFT).
Rozłożymy ten sygnał na dwa sygnały w ten sposób, g[n] będzie zawierał
kolejne próbki parzyste x[n], a sygnał h[n] będzie równy nieparzystym próbkom
x[n].
g ⎡⎣ n ⎤⎦ = x ⎡⎣ 2n ⎤⎦ , n = 0,1,K, N2 − 1
(2)
h ⎡⎣ n ⎤⎦ = x ⎡⎣ 2n + 1⎤⎦ , n = 0,1,K, N2 − 1
(3)
Dyskretna transformata Fouriera sygnału g[n] (N/2 punktowa ) jest określona
wzorem:
G (k ) =
N −1
2
∑ g ⎡⎣n⎤⎦ e
n =0
− jnk 2π / ⎛⎜ N /2 ⎞⎟
⎝
⎠
, k = 0,1,K, N2 − 1
Należy zwrócić uwagę, że w wyrażeniu (4) pojawia się N/2 zamiast N
(definicja DFT), ponieważ sygnał ma długość N/2.
(4)
2
Jeżeli zastąpimy k przez (k+N/2), to wyrażenie (4) pozostanie nie
zmienione, ponieważ powoduje to dodanie wielokrotności 2πj do wykładnika.
Stąd można zapisać:
G ( k + N2 ) =
G (k +
G (k +
N
2
N
2
N −1
2
∑
n =0
g ⎡⎣ n ⎤⎦ e
N −1
2
) = ∑ g ⎡⎣n⎤⎦ e
− jn( k + N /2)2π / ⎛⎜ N /2 ⎞⎟
⎝
⎠
− jnk 2π / ⎛⎜ N /2 ⎞⎟ − jn 2π
⎝
⎠
e
n =0
N −1
2
) = ∑ g ⎡⎣n⎤⎦ e
− jnk 2π / ⎛⎜ N /2 ⎞⎟
⎝
⎠
⋅1
n =0
G ( k + N2 ) = G ( k )
(5)
W analogiczny sposób możemy obliczyć transformatę sygnału h[n]:
N −1
2
H ( k ) = ∑ h ⎡⎣ n ⎤⎦ e
− jnk 2π / ( N / 2 )
n =0
, k = 0,1,K, N2 − 1
(6)
oraz zgodnie z wyrażeniem okresowości
H (k +
N
2
N −1
2
) = ∑ h ⎡⎣n⎤⎦ e
− jn( k + N /2)2π / ⎛⎜ N /2 ⎞⎟
⎝
⎠
n =0
stąd:
H ( k + N2 ) = H ( k )
(7)
3
Obliczenie wyrażenia (4), tak jak (6) wymaga (N/2)2 mnożeń, a więc
razem potrzeba 2(N/2)2 mnożeń aby otrzymać:
G ( k ) , k = 0,1,K N − 1
(8)
H ( k ) , k = 0,1,K N − 1
Transformatę sygnału x[n] można otrzymać jako kombinację G(k) oraz H(k).
Rozważymy wyrażenie
G ( k ) + e− jk 2π / N H ( k ) =
N −1
2
∑ g ⎡⎣n⎤⎦ e
n =0
− jnk 2π / ⎛⎜ N /2 ⎞⎟
⎝
⎠
+e
− jk 2π / N
N −1
2
∑ h ⎡⎣n⎤⎦ e
n =0
− jnk 2π / ⎛⎜ N /2⎞⎟
⎝
⎠
(9)
dla k = 0,1,K, N − 1
Zastępując zgodnie z definicją:
g ⎡⎣ n ⎤⎦ ← x ⎡⎣ 2n ⎤⎦
(10)
h ⎡⎣ n ⎤⎦ ← x ⎡⎣ 2n + 1⎤⎦
i przenosząc czynnik wykładniczy pod znak sumowania otrzymamy:
N −1
2
∑ x ⎡⎣2n ⎤⎦ e
− j ( 2 n )k 2π / N
n =0
1444
424444
3
parzyste
N −1
2
+ ∑ x ⎡⎣ 2n + 1⎤⎦ e
− j ( 2n+1)k 2π / N
n =0
14444
4244444
3
nieparzyste
N −1
= ∑ x ⎡⎣ n ⎤⎦ e− jnk 2π / N
n =0
(11)
4
Tak więc:
X ( k ) = G ( k ) + WNk H ( k )
gdzie:
(12)
− j 2π / N )
WN = e (
Zależność (12) pokazuje, jak można otrzymać transformatę sygnału x[n]
jako kombinację dwóch „subtransformat”.
G[0]
x[0]
N/2 punktowa
DFT
x[2]
x[4]
x[6]
x[1]
x[3]
N/2 punktowa
DFT
x[5]
x[7]
‰
‰
X[0]
G[1]
W0N
G[2]
W1N
G[3]
W2N
H[0]
W3N
H[1]
W4N
H[2]
W5N
H[3]
W6N
W7N
X[1]
X[2]
X[3]
X[4]
X[5]
X[6]
X[7]
Proces łączenia G(k) i H(k) wymaga dodatkowo N mnożeń, zatem razem
wykonuje się 2(N/2)2+N mnożeń,
Natomiast obliczanie DFT na podstawie definicji wymaga N2 mnożeń
Oszczędza się zatem:
(
)
N2 − N2 /2+ N = N2 /2− N
(13)
5
Przykład liczbowy:
N
1000
2(N/2)2+N
501000
N2
1000000
Oszczędzamy
499000
Nie ma przeszkód aby „subtransformaty” G(k) oraz H(k) obliczać
posługując się tą samą metodą, to znaczy:
‰
‰
podzielić teraz sygnał g[n] na dwie części: parzystą g[2n] i nieparzystą
g[2n+1]
Obliczyć DFT każdej części i połączyć je w celu otrzymania G(k).
x[0]
x[4]
x[2]
x[6]
N/4 punktowa
DFT
0
WN/2
1
WN/2
N/4 punktowa
DFT
2
WN/2
3
WN/2
G[0]
G[1]
G[2]
G[3]
Wtedy obliczenie G(k) wymaga 2(N/4)2+N/2 mnożeń tak jak i H(k).
Obliczenie F(k) wymaga wtedy 4 ( N / 4 ) + 2 N mnożeń.
2
Przykład liczbowy:
N
1000
N2
4 ( N / 4) + 2 N
1000000
252000
2
Oszczędzmy
748000
6
Jeżeli N jest potęgą liczby 2, proces ten możemy powtarzać log2N razy.
x[0]
0
WN/4
=WN0
x[4]
1
WN/4
=WN4
W ostatnim kroku DFT dla N=1 nie wymaga mnożeń i znika składnik N2
w wyrażeniu na liczbę mnożeń. Za każdym razem dzielenia sygnału na dwie
części wprowadzamy N mnożeń, a ponieważ robimy to log2N razy to
potrzebujemy razem Nlog2N mnożeń.
Jest to jedna z postaci FFT (algorytm dziesiątkowania w czasie), wymaga
aby N było całkowitą potęgą liczby 2.
Dla N=210=1024 oszczędność operacji mnożenia jest ponad 100 krotna.
Programowanie FFT (struktury motylkowe)
Obliczymy 8 punktową DFT, sygnału f[n].
x[0]
x[2]
x[4]
x[6]
x[1]
x[3]
x[5]
x[7]
− j 2π / N )
gdzie: WN = e (
X[0]
W0N
W0N
W0N
W4N
W2N
W1N
W0N
W4N
W2N
W4N
W3N
W0N
W0N
W4N
W4N
W2N
W5N
W0N
W4N
W6N
W4N
W6N
W7N
X[1]
X[2]
X[3]
X[4]
X[5]
X[6]
X[7]
7
Można zauważyć, że proces „tasowania” próbek polega na odwróceniu bitów
wskaźników tablicy próbek sygnału.
Operacja zmiany porządku jest wykonana na wstępie
000
000
001
001
010
010
011
011
100
100
101
101
110
110
111
111
Ważną zaletą algorytmu jest możliwość odwracania bitów i łączenia w
ramach jednej tablicy bez przepisywania jej w czasie obliczeń, zatem algorytm
potrzebuje względnie mało pamięci.
Przetwarzanie danych czasowych przed wyznaczeniem FFT
‰
‰
Możemy odrzucić tyle próbek danych, aby długość pozostałego ciągu
wejściowego FFT była całkowitą potęgą dwójki. (zmniejsza się
rozdzielczość)
Lepszym podejściem jest dodanie wymaganej liczby próbek o
wartościach zerowych do części końcowej ciągu danych czasowych, aby
dopasować liczbę jego punktów do kolejnego rozmiaru FFT o podstawie
2.
8
Na przykład, jeśli mamy do przetransformowania 1000 próbek
czasowych, wówczas zamiast analizować jedynie 512 spośród nich za
pomocą 512-punktowej FFT, powinniśmy dodać 24 kolejne próbki o
wartościach zerowych do ciągu oryginalnego i użyć 1024-punktowej FFT.
‰
FFT obarczone jest negatywnymi skutkami przecieku widmowego (tak
jak DFT). Możemy przemnażać dane czasowe przez funkcje okien, aby
złagodzić problem przecieku.
Bądźmy jednak przygotowani na degradację rozdzielczości
częstotliwościowej, nieuchronnie występującą, jeśli są używane okna. Przy
okazji, jeśli dołączenie zer jest niezbędne do rozszerzenia zbioru danych
ciągu czasowego, musimy być pewni, że dołączamy zera po przemnożeniu
oryginalnego ciągu danych czasowych przez funkcję okna.
Zastosowanie funkcji okna do ciągu próbek uzupełnionego próbkami o
zerowych wartościach zniekształci wynikowe okno i powiększy przeciek
FFT.
Próbkowanie wystarczająco szybkie i wystarczająco długie
‰
Powinniśmy podejrzewać powstanie aliasingu, jeśli istnieją jakiekolwiek
składowe widmowe, których częstotliwości okazują się zależnymi od
szybkości próbkowania.
Jeśli podejrzewamy, że pojawia się aliasing, lub że sygnał ciągły zawiera
szum szerokopasmowy będziemy musieli użyć analogowego filtru
dolnoprzepustowego przed przetworzeniem A/C. Częstotliwość graniczna
filtru dolnoprzepustowego musi być większa, niż zakres częstotliwości, jaki
nas interesuje, ale mniejsza od połowy szybkości próbkowania.
9
‰
Przedział czasu, w którym zbieramy dane, musi być wystarczająco długi,
aby spełnić wymagania dotyczące rozdzielczości częstotliwościowej FFT
przy zadanej szybkości próbkowania.
Przedział czasu, w którym zbieramy dane, jest odwrotnością wymaganej
rozdzielczości FFT i im dłużej próbkujemy z ustaloną szybkością
próbkowania fp, tym lepsza będzie rozdzielczość częstotliwościowa.
Na przykład, jeśli wymagana jest rozdzielczość widmowa wynosi 5 Hz, to
liczba niezbędnych próbek wynosi:
N=
fp
f
= p = 0,2 ⋅ f p
wymagana rozdz. 5
(15)
10
MATLAB
Przykład 1
x = [4 3 7 -9 1 0 0 0]'
y = fft(x)
%
% Wektor x jest rzeczywisty natomiast y jest
zespolony.
% W przykładzie pierwszy wyraz reprezentuje składową
stałą,
% a piąty wyraz odpowiada częstotliwości Nyquista.
% Ostatnie trzy wyrazy odpowiadają częstotliwościom
ujemnym
% i są odpowiednio sprzężone z 2, 3 i 4 wyrazem.
x =
4
3
7
-9
1
0
0
0
y =
6.0000
11.4853
-2.0000
-5.4853
18.0000
-5.4853
-2.0000
11.4853
- 2.7574i
-12.0000i
+11.2426i
-11.2426i
+12.0000i
+ 2.7574i
11
Przykład 2
%Tworzymy przebieg składający się z jednej składowej
sinusoidalnej
%
t=0:1/100:10-1/100;%jaka jest częstotliwość
próbkowania?
%x=sin(2*pi*40*t);
x=sin(2*pi*20*t)+0.5*sin(2*pi*30*t+pi/3);
y=fft(x); %obliczanie DFT ciągu x
m=abs(y); %amplituda
p=unwrap(angle(y)); %faza;
%
%Funkcja unwrap służy do usunięcia skoków fazy
większych niż
% "pi" pomiędzy kolejnymi próbkami.
%
%Tworzymy oś częstotliwości i rysujemy wykres
amplitudy i fazy
%
f=(0:length(y)-1)'*100/length(y); %oś czestotliwości
subplot(2,1,1), stem(f,m,'k.'); %wykres amplitudy
ylabel('modul amplitudy'), grid on
subplot(2,1,2), plot(f,p*180/pi); %faza
ylabel('faza [stopnie]'), grid on
xlabel('Czestotliwosc [Hz]')
12
modul amplitudy
600
400
200
0
0
10
20
30
10
20
30
40
50
60
70
80
90
100
40
50
60
Czestotliwosc [Hz]
70
80
90
100
4
faza [stopnie]
3
x 10
2
1
0
0
13
Przykład 3
t=0:0.001:0.6;
x=sin(2*pi*50*t)+sin(2*pi*120*t);
y=x+2*randn(size(t));
figure(1)
plot(y(1:50))
title('sygnal z szumem');grid on
xlabel('czas [s]')
Y=fft(y,512);
Pyy=Y.*conj(Y)/512;
% Rysujemy wykres pierwszych 257 punktów na osi
częstotliwości:
f=1000*(0:256)/512;
figure(2)
plot(f,Pyy(1:257)),grid on
title('Widmo mocy y')
xlabel('f (Hz)')
sygnal z szumem
5
4
3
2
1
0
-1
-2
-3
-4
-5
0
5
10
15
20
25
czas [s]
30
35
40
45
50
14
Widmo mocy y
80
70
60
50
40
30
20
10
0
0
50
100
150
200
250
f (Hz)
300
350
400
450
Opracowano na podstawie:
R. G. Lyons „Wprowadzenie do cyfrowego przetwarzania sygnałów” 1999
K. Steiglitz „Wstęp do systemów dyskretnych” 1977
500

Podobne dokumenty