Cwiczenia z analizy sygnałów

Transkrypt

Cwiczenia z analizy sygnałów
Transformata Fouriera
Widmo mocy
Ćwiczenia z analizy sygnałów
Jarosław Żygierewicz
IFD UW
Jarosław Żygierewicz
transformata Fouriera
Transformata Fouriera
Widmo mocy
Wzory
F
s(t) k
,
S(ω)
F −1
Ciągły sygnał okresowy
∞
X
s(t) =
cn e −i
2πt
n
T
(1)
n=−∞
gdzie:
cn =
1
T
Z
Jarosław Żygierewicz
T
s(t)e i
2πt
n
T
dt
0
transformata Fouriera
(2)
Transformata Fouriera
Widmo mocy
Nieskończony sygnał ciągły
s(t) =
∞
1 X
S (fn ) e −i2πtfn ∆f
T n=−∞
Formalnie bierzemy granicę T → ∞ i dostajemy:
Z ∞
s(t) =
S(f )e 2πift df
(3)
(4)
−∞
Z
∞
S(f ) =
s(t)e −2πift dt
−∞
Jarosław Żygierewicz
transformata Fouriera
(5)
Transformata Fouriera
Widmo mocy
Sygnał skończony dyskretny
S[k] =
=
1
T
1
N
RT
s(t)δ(t − nTs )e i
PN−1
i 2π
kn
N
n=0 s[n]e
0
2πt
k
T
dt =
1
NTs
PN−1
n=0
s[n]e i
2πknTs
T
Ts
(6)
Z tego wzorku widać, że k może być tylko k = 0, . . . , N − 1.
Mamy więc tylko N wyrażeń. Ze wzorów Eulera wiemy, że dla
sygnałów rzeczywistych musimy mieć pary sprzężonych exp.
zespolonych więc efektywnie dostajemy tylko N/2 różnych
częstośći. Transformata odwrotna (IDFT):
s[n] =
N−1
X
S[k]e −i
2π
kn
N
n = 0, . . . , N − 1.
k=0
Jarosław Żygierewicz
transformata Fouriera
(7)
Transformata Fouriera
Widmo mocy
Moc
Moc sygnału
przez analogię do układów elektrycznych jest w analizie sygnałów
przyjęta jako kwadraty próbek.
P Niech sygnał x[n], wówczas moc
P[n] = x[n]2 , a energia E = n x[n]2
przykładowy kod matlabowy
f=1; fi=0; T=1; Fs=100;
[s, t]=m_sin(f,fi,T,Fs);
P=s.^2
E=sum(s.^2)
Jarosław Żygierewicz
transformata Fouriera
Transformata Fouriera
Widmo mocy
Widmo mocy: tw. Plancherel’a i tw. Parseval’a
Twierdzenie Plancherel
Jeśli X [k] i Y [k] są transformatami x[n] i y [n] odpowiednio to:
N−1
X
x[n]y ∗ [n] =
n=0
N−1
1 X
X [k]Y ∗ [k]
N
(8)
k=0
gwiazdka oznacza sorzężenie zespolone.
Twierdzenie Parseval’a jest specjalnym przypadkiem twierdzenia
Plancherel’a :
N−1
X
n=0
N−1
1 X
|x[n]| =
|X [k]|2 .
N
2
(9)
k=0
Twierdzenie to upoważnia nas do utożsamiania kwadratów wartości bezwzględnej składowych transformaty fouriera
z mocą niesioną przez odpowiadające im składowe.
Jarosław Żygierewicz
transformata Fouriera
Transformata Fouriera
Widmo mocy
Przykład liczenia widma
funkcja zwracająca widmo plik moc.m
function [P, F, P_re, F_re]=moc(s,Fs)
S=fft(s);
N=length(s);
if mod(N,2)==0
f=linspace(0,Fs/2,N/2);
F=[f fliplr(-f)];
P=S.*conj(S)/length(S);
P_re=P(1:end/2);
P_re(2:end)=2*P(2:end/2);
F_re=f;
else
f=linspace(0,Fs/2,(N+1)/2);
F=[f fliplr(-f(1:end-1))];
P=S.*conj(S)/length(S);
P_re=P(1:(end+1)/2);
P_re(2:end)=2*P(2:(end+1)/2);
F_re=f;
end
skrypt testujący test moc.m
f=10; fi=0; T=1; Fs=100;
[s, t]=m_sin(f,fi,T,Fs);
P=s.^2;
E=sum(s.^2)
[P, F, P_re, F_re]=moc(s,Fs);
disp(’moc sumowana po całym widmie’); sum(P)
disp(’moc sumowana po widmie sygnalu rzeczywistego’); sum(P_re)
subplot(211);plot(F,P); axis tight
subplot(224);plot(F_re, P_re); axis tight
Jarosław Żygierewicz
transformata Fouriera
Transformata Fouriera
Widmo mocy
Rozdzielczość widma
Proszę zbadać rozdzielczość częstotliwościową widma w zależności
od długości sygnału. Używamy funkcji m_sin. Zwrócić uwagę na
to co dzieje się na końcach odcinka.
Jarosław Żygierewicz
transformata Fouriera
Transformata Fouriera
Widmo mocy
Podstawowe właściwości:
Przy użyciu sygnałów testowych s(t), g (t) i h(t) oraz ich transformat
Fouriera S(f ), G (f ) i H(f ). Proszę sprawdzić:
Liniowość dla liczb zespolonych a i b:
⇒
h(t) = as(t)+bg (t)
H(f ) = a·S(f )+b ·G (f )
Translacja dla dowolnego rzeczywistego t0 :
h(t) = s(t − t0 )
⇒
H(f ) = e −2πit0 f S(f )
Modulacja dla dowolnego rzeczywistego f0 :
h(t) = e 2πf0 s(t)
⇒
H(f ) = S(f − f0 )
Skalowanie Dla niezerowych liczb rzeczywistych a:
⇒
h(t) = s(at)
1
S
H(f ) =
|a|
f
a
a = −1 prowadzi do własności odrócenia czasowego:
h(t) = f (−t)
Jarosław Żygierewicz
⇒
H(f ) = S(−f )
transformata Fouriera
Transformata Fouriera
Widmo mocy
Twierdzenie o splocie
g (t) = (s ∗ h) (t)
⇒
G (f ) = S(f ) · H(f )
(10)
To twierdzenie działa też w drugą stronę:
G (f ) = (S ∗ H) (f )
⇒
g (t) = s(t) · h(t)
Zastosowania:
zamiana splotu na mnożenie
daje wgląd w okienkowanie
łatwo zrozumieć działanie flitrów
Jarosław Żygierewicz
transformata Fouriera
(11)
Transformata Fouriera
Widmo mocy
Okienkowana transformata Fouriera: Polecenia 1
obejrzyj przykładowe okna hanning, kaaiser itp
zrob okno prostokatne (na sygnale o dlugosci 128 wytworz
same zera i elementy od 50 do 70 poloz =1) jakie jest widmo
takiego sygnalu, jakie jest widmo tego sygnalu w skali pol
logarytmicznej?
zrob sygnał następującej postaci zera, fragment sinusa, zera
(sinus okienkowany prostokątem, to jest właśnie to co mamy
gdy nie stosujemy okienkowania do zwykłego fft)
narysuj widmo
oryginalny sygnał zokienkuj oknem cosinusowym i obejrzyj
widmo
zbadaj co się dzieje wraz ze zmianą długości niezerowego
fragmentu sugnału
Jarosław Żygierewicz
transformata Fouriera
Transformata Fouriera
Widmo mocy
Okienkowana transformata Fouriera: Polecenia 2
splec w dziedzinie czasu okno prostokatne o dlugosci 0.5 s z
sinusem o czestosci 20 Hz i dlugosci 3s obejrzyj sygnal i widmo
wytworz sygnal 2s Fs=128 Hz zlozony z bialego szumu,
przetransformuj go do dziedziny czestosci, przytnij widmo tak,
aby zastalo tylko cos w okolicy 10 Hz i przetransformuj z
powrotem do dziedziny czasu obejrzyj sygnal. Operacje ta
wykonaj jprzy pomocy okna prostokatnego i gausowskiego.
Jarosław Żygierewicz
transformata Fouriera