Transformacje częstotliwościowe
Transformacja Fouriera
Z rozkładu funkcji okresowej na nieskończony szereg Fouriera otrzymujemy:
X =
∫
− ∞
∞
x t e
−
j t
dt
gdzie
=
2 f
tr. odwrotna
x t =
1
2
∫
−∞
∞
X e
j t
d
Przypadek dyskretny:
X k =
∑
n=0
N −1
x ne
−
j 2 n k
N
gdzie
0≤k ≤ N −1
(dyskretne częstotliwości)
z zależności Eulera
e
j
=
cos− j sin
otrzymujemy równanie równoważne:
X k =
∑
n=0
N −1
x n
[
cos 2 n
k
N
−
j sin 2 n
k
N
]
Oba powyższe wzory stanowią definicję DFT
tr. odwrotna:
x n=
1
N
∑
k =0
N −1
X k e
j 2 n k
N
gdzie
0≤n≤N −1
Funkcja X k =A k
j k
nazywana jest dyskretnym widmem lub dyskretną transformatą
Fouriera ( DFT ) sygnału x n gdzie:
●
∣
X k ∣= Ak widmo amplitudowe (moduł)
●
arg X k =k widmo fazowe (argument)
- 1 -
Własności tr. Fouriera
1) Okresowa
X k N = X k =
∑
k=0
N− 1
x n e
−
j 2
N
kN n
2) odwracalna
N=1024;n=(0:N-1);x=randn(1,N);X=fft(x);y=ifft(X);
plot(n,x,';x;',n,real(y),';y;');
3) liniowa
dla x n=a y nb z n mamy
X k =a Y k b Z k
4) przesunięcie w czasie
dla
x n= y nn
0
mamy
X k =
∑
n=0
N −1
y ne
−
j 2 nn
0
k
N
5) przesunięcie w częstotliwości (modulacja częstotliwości)
dla
X k =Y k k
0
=
1
N
∑
k=0
N −1
Y k k
0
e
−
j 2 n
k k
0
N
mamy
x n=e
j 2 n
k
0
N
y n
6) splot (w dziedzinie czasu)
dla x n= y n∗zn mamy
X k =Y k Z k
(operacja splotu pokazać wzór; dalsze wyjaśnienia przy okazji filtrów)
7) splot w częstotliwości
dla x n= y n z n mamy
X k =Y k ∗Z k
- 2 -
Interpretacja geometryczna DFT
X k =
∑
n=0
N −1
x ne
−
j 2 n k
N
wiemy, że F
s
=
2 oraz f =
2 k
N
stąd
f =
2 k
N
=
F
s
k
N
Kombinacja liniowa elementów bazy
w=
∑
n
nv n
Zatem
=
x n=[ x 0 , x 1 , ... , x N −1] oraz
v n=e
−
j 2 n k
N
to w k =? ??
Pytania:
1) Czy wektory
v n=e
−
j 2 n k
N
tworzą bazę przestrzeni
ℂ
N
?
2) Jaką bazę (ortonormalną czy ortogonalną) ?
N=512; n=(0:N-1);
v0=cos(2*pi*0/N*n);
v1=cos(2*pi*1/N*n);
v2=cos(2*pi*2/N*n);
v3=cos(2*pi*3/N*n);
plot(n,v0,';k=0;',n,v1,';k=1;',n,v2,';k=2;',n,v3,';k=3;');
v0*v0', v1*v1', v1*v2'
N=4;n=(0:N-1);k=(0:N-1)';
E = e^(-j*2*pi*k*n/N);
E*E'
- 3 -
Przykłady
Impuls Kroneckera
x n= n
X k =
∑
n=0
N −1
ne
−
j 2 n k
N
=
1 e
−
j 0
=
1
N=256; x = zeros(N,1); x(1) = 1;
X=fft(x);f=(0:N-1)./N;
plot(f,abs(X),';abs(X);',f,real(X),'*;real(X);',f,imag(X),'o;imag(X);');
axis([0,1,-1,2]);
Funkcja grzebieniowa
T
n =
∑
k=−∞
∞
n−kT
X k =
∑
n=0
N −1
T
ne
−
j 2 n k
N
=
∑
n=0
N −1
e
−
j 2 n k
N
=
{
N , k =0
0,
k ≠0
N=256; x = ones(N,1); x(1) = 1;
X = fft(x); f=(0:N-1)./N;
plot(f,abs(X),';abs(X);',f,real(X),'*;real(X);',f,imag(X),'o;imag(X);');
axis([0,1,-1,2]);
(w obu przypadkach X(k) jest rzeczywiste !!!, ale to wyjątek)
Dla sygnałów rzeczywistych x ∈R
N
(wszystkie próbki sygnału rzeczywiste) widmo
X k =A k
j k
posiada dodatkowo własności:
=========================================================
●
A k = A−k - widmo amplitudowe jest parzyste
●
k =− − k - widmo fazowe nieparzyste
=========================================================
N=512; Fs=1000; n=(0:N-1)./Fs;
x=2*sin(2*pi*113*n)+sin(2*pi*218*n)+0.01*randn(1,N); plot(x);
X=fft(x);
f=((0:N-1)./N)*Fs;plot(f,abs(X));plot(f,10*log10(abs(X)));
plot(f,unwrap(arg(X)));
Y=[X,X];
fy=((-N:N-1)./N)*Fs;
plot(fy,abs(Y));
plot(fy,unwrap(arg(Y)));
f=((-N/2:N/2-1)/N)*Fs;plot(f,10*log10(abs(fftshift(X))));
- 4 -
Przekształcenie Hilberta
x
H
n=h n∗x n
gdzie
h n=
1
n
FT {hn}=
∑
n=0
N −1
1
n
e
−
j 2 n k / N
=
∑
n=0
N −1
1
n
e
−
j 2 n f
=
H f =
{
j , f 0
0, f =0
−
j , f 0
sygnał analityczny
x
a
n= x n jx
H
n
(wyjaśnić o sygnale kwadraturowym) IQ
FT {x
a
n}=?
N=200;n=(0:N-1)./N;x=sin(2*pi*1*n);plot(x);
y=hilbert(x);
plot(n,x,';x;',n,real(y),';real(y);',n,imag(y),';imag(y);');
N=512; Fs=1000; n=(0:N-1)./Fs;
x=2*sin(2*pi*113*n)+sin(2*pi*218*n)+0.5*randn(1,N);
y=hilbert(x);
X=fftshift(fft(x));Y=fftshift(fft(y));
f=((-N/2+1:N/2)./N)*Fs;
plot(f,abs(X),';X;',f,abs(Y),';Y;');
x
a
n= An e
j n
gdzie
A n to amplituda chwilowa sygnału
n to faza chwilowa sygnału
Ponadto definiuje się częstotliwość (pulsację) chwilową sygnału (w przypadku ciągłym)
t=
d
dt
t=' t
1. przypadek sygnału szerokopasmowego
trudno zinterpretować amplitudę chwilową i fazę chwilową
2. przypadek sygnału wąskopasmowego
x
a
n=[ An e
j n
e
−
j
0
n
]
e
j
0
n
=
ne
j
0
n
gdzie
n=A ne
j n−
0
n
nazywamy obwiednią zespoloną sygnału (ang. complex envelope)
problem wyboru
0
- 5 -