Ćwiczenie 5 Analiza DFT i FFT sygnałów. Właściwości DFT i FFT.

Transkrypt

Ćwiczenie 5 Analiza DFT i FFT sygnałów. Właściwości DFT i FFT.
Ćwiczenie 5
Analiza DFT i FFT sygnałów. Właściwości DFT i FFT.
Wstęp
Zapoznać się funkcjami fft, abs, angle, fftshift , chirp, sinc, rectpuls, tripuls
sum, sound, wavread, wavwrite
1. Dla zadanych parametrów przeprowadzić analizę DFT lub FFT sygnałów:
a) x(t) = 0.4sin(2πf1t + φ1) + 0.8cos(2πf2t + φ2) + 0.5cos(2πf3t + φ3) , (dla t>0),
f1 = 1kHz, f2 = 2.2kHz, f3 = 3.3kHz , fs = 10kHz, N=100
b) liniowo modulowany sygnał chirp o czasie trwania 5s.
- b.1) fmin= 1 fmax = 3kHz . Liczbę próbek N obliczyć na podstawie długości sygnału.
- b.2) Ustawić fmax na 6kHz i odsłuchać sygnał. Zmieniać częstotliwość (zwiększać i
zmniejszać) i porównać z widmem amplitudowym z pkt. b.1 . Jakie zjawisko ilustruje
ten przykład?
do generowania wykorzystać funkcję chirp() , odsłuchać sygnał poleceniem sound()
pamiętając o wpisaniu odpowiednich parametrów (cz. próbkowania) ,
c) sygnał sinc (Sa) o czasie trwania 5s, wykorzystać funkcję sinc()
𝑥(𝑡) =
𝑠𝑖𝑛(2 ∙ 𝑓𝑜 ∙ 𝑡)
2 ∙ 𝑓0 ∙ 𝑡
przyjąć f0 = 2kHz
c.1) aperiodyczny sygnał prostokątny – zmieniać czas trwania sygnału – jak
zmienia się widmo amplitudowe?
c2) aperiodyczny sygnał trójkątny – zmieniać czas trwania sygnału – jak
zmienia się widmo amplitudowe?
Jaką właściwość (właściwośći) transformaty Fouriera ilustruje ten przykład?
d) sygnał modulowany amplitudowo:
𝑠𝑖𝑛(2 ∙ 𝑓𝑜 ∙ 𝑡)
𝑥(𝑡) =
∙ sin(2𝜋𝑓𝑚𝑜𝑑 𝑡)
2 ∙ 𝑓0 ∙ 𝑡
przyjąć fmod 100Hz, 500Hz, 1000Hz,
Jaką właściwość transformaty Fouriera ilustruje ten przykład?
e) sygnał prostokątny o częstotliwości podstawowej 1kHz aproksymowany szeregiem
Fouriera i ten sam sygnał wygenerowany funkcją sawtooth(). Czy zmienia się
widmo amplitudowe tego sygnału w zależności od częstotliwości próbkowania
(poniżej częstotliwości Nyquista)? Jeśli tak to w jaki sposób i dlaczego?
Jaką podstawową właściwość wykazują wszystkie widma amplitudowe sygnałów o prążkach
od 0 – (N-1)
2. Zmieniać wartość fs i N obserwować widmo amplitudowe i fazowe zadanych w pkt 1
sygnałów. Co się stanie jeśli niespełnione zostanie kryterium Nyquista? Zmieniać tak
wartości f1, f2 i f3 sygnału a) aby zaobserwować przeciek DFT. Jak go minimalizować?
Zapoznać się i wykorzystać funkcję wybranych okien. Wykaz podstawowych funkcji
okien uzyskać można po wpisaniu w wiersz poleceń komendy help window
- poddać analizie FFT okresowy sygnał prostokątny o współczynniku
wypełnienia 10%. Jak zmieni się widmo amplitudowe gdy podana częstotliwość
nie będzie całkowitą wielokrotnością (fs/N) ? Jak funkcja okna wpływa na
widmo amplitudowe tego sygnału?
3. Zmieniając parametry sygnału c) (fo) zaobserwować własnościowości widma
amplitudowego i fazowego idealnego sygnału dolnopasmowego dyskretnego.
4. Zmieniając parametry sygnału d) fo i fmod zaobserwować własnościowości widma
amplitudowego i fazowego idealnego sygnału dolnopasmowego zmodulowanego
amplitudowo.
5. *** NIEOBOWIĄZKOWE
5.1 Za pomocą polecenia wavread() wczytać plik sound1.wav
- wykreślić widmo amplitudowe tego sygnału.
- napisać funkcję , zmieniającą częstotliwość próbkowania tego sygnału.
- wyświetlić widmo amplitudowe sygnału spróbkowanego z niższą częstotliwością. Jak
zmieniło się widmo amplitudowe i jakie są wrażenia akustycznie po zmniejszeniu
częstotliwości próbkowania?
5.2 Powtórzyć kroki z pkt. 5.2 dla pliku sound2.wav
- jakie zjawisko zaobserwowano ?
---------m – plik do przykładu 1.a
clc
clear
fs = 10000; %probkowanie sygnalu!!!!!!!!!!!!
dt = 1/fs; %dt
f1 = 1000; a1 = pi/2; %czestotliwosc i faza
f2 = 2200; a2 = pi/2;
f3 = 3300; a3 = pi/2;
N
n
t
x
=
=
=
=
100; %liczba próbek wejsciowych!!!!!!!!!!!
0:N-1;
0:dt:(dt*(N-1));
sin(2*pi*f1*t+a1)+ 0.7*sin(2*pi*f2*t+a2)+0.4*sin(2*pi*f3*t+a3);
subplot(3,1,1),plot(t,x),grid on, title('Sygnal');
Y=0;
for k=0: N-1 ,
Y= x.*exp(-j*2*pi*n*k/N ) ; % w tym miejscu obliczana jest suma dla n=0, n=1, n =
%N-1 ...
X(k+1)= round (sum(Y) * 10000 ) / 10000 ; % w tym miejscu obliczana jest wartosc k%tego prazka dft (sumowanie po wszystkich k )
end
k=0:N-1;
w = k * fs / N;
subplot(3,1,2), stem(w(1:N/2),abs(X(1:N/2))), grid on, title('Widmo Ampl');
subplot(3,1,3), stem(w(1:N/2),angle(X(1:N/2))), grid on,title('Widmo Faz');

Podobne dokumenty