Ćwiczenie laboratoryjne 1 Widmo sygnału, aliasing, DFT i FFT Cel ćwiczenia: Obserwacja wpływu parametrów analizy na wynik obliczania widma sygnału, zapoznanie się z pojęciem rozdzielczości analizy widmowej, obserwacja zjawiska przecieku widma, porównanie algorytmów DFT i FFT, sprawdzenie techniki uzupełniania zerami, obserwacja spektrogramów sygnału modelowego i sygnału mowy. Czas realizacji: 1 dwugodzinne zajęcia Zagadnienia do powtórzenia przed realizacją ćwiczenia: Próbkowanie sygnału, ciągłe i dyskretne przekształcenie Fouriera, widmo zespolone, widmo amplitudowe i fazowe, algorytm FFT. 1) Zjawisko aliasingu Skrypt aliasing1.m generuje sumę sygnału sinusoidalnego i szumu gaussowskiego, oblicza jego widmo a następnie przeprowadza jego decymację rzędu dr. Do przeprowadzenia decymacji nie zastosowano funkcji decimate, gdyż funkcja ta przed decymacją przeprowadza filtrację antyaliasingową. a) Zaobserwować / przedyskutować jaka jest reguła zmiany częstotliwości sygnału w sytuacji wystąpienia aliasingu. b) Zaobserwować wpływ rzędu decymacji na wynik obliczania widma amplitudowego. c) Zaobserwować zmiany częstotliwości w sytuacji sygnału będącego sumą 2 sygnałów sinusoidalnych (uzupełnić skrypt). d) Sprawdzić zastosowanie funkcji decimate. 2) Widmo zespolone, część rzeczywista i urojona, moduł i faza, rozdzielczość widma Rozdzielczością widma nazywamy (choć nie wszyscy się z taką definicją rozdzielczości zgadzają) odległość między prążkami widma dyskretnego uzyskanego w wyniku transformacji Fouriera. Jeśli częstotliwość próbkowania wynosi fp [Hz], a długość transformacji Fouriera wynosi Nf [próbek], to odległość między punktami transformaty wynosi Δf = fp / Nf [Hz]. Im mniejsza jest ta odległość, tym większa jest rozdzielczość widma. Przy ustalonej wartości fp rozdzielczość zależy więc od długości transformaty Fouriera. Z właściwości transformacji Fouriera wynika, że jeśli sygnał jest sygnałem rzeczywistym (bez części urojonej) to część rzeczywista i moduł widma są funkcjami parzystymi a część urojona i faza widma są funkcjami nieparzystymi. Dlatego wykresy widm kreślone są zwykle do połowy częstotliwości próbkowania. Skrypt widmo1a.m oblicza i wykreśla widma sygnału będącego sumą dwóch sinusoid. Jako parametry podaje się amplitudy, częstotliwości i fazy początkowe sinusoid, częstotliwość próbkowania, długość sygnału i długość transformacji Fouriera. Wykonać następujące eksperymenty numeryczne: 1 a) Zmieniać częstotliwość próbkowania, częstotliwości sygnałów, długość sygnału i długość transformacji Fouriera ale w taki sposób, aby uzyskać widmo amplitudowe (moduł widma) złożone wyłącznie z 2 niezerowych prążków. b) Zmieniając fazy sygnałów sinusoidalnych obserwować zmiany w widmach sygnału. Rozdzielczości analizy widmowej definiowana jest częściej jako zdolność uwidaczniania składowych sygnału o zbliżonych częstotliwościach. Czyli rozdzielczość analizy widma wynosi np. 0.5Hz, jeśli parametry analizy są takie, że dwa sygnały sinusoidalne różniące się częstotliwością 0.5Hz są obserwowalne w widmie amplitudowym (lub innym). Do takich eksperymentów przygotowany został skrypt widmo1b.m. Należy: a) Wyznaczyć długość sygnału od której możliwe jest zaobserwowanie, że sygnał złożony jest z 2 sygnałów sinusoidalnych. b) To samo zadanie wykonać dla innych wybranych częstotliwości składowych sinusoidalnych. 3) Przeciek widma spowodowany niezgodnością pomiędzy odległością między prążkami widma a częstotliwością sinusoidy Jeśli analizujemy sygnał sinusoidalny o niecałkowitej liczbie okresów we fragmencie o długości N, to jego widmo amplitudowe zawiera nie jeden prążek, lecz jest „rozmyte”. Zjawisko to nosi nazwę przecieku widma. Można tłumaczyć je tym, że sygnał na początku lub/i końcu okna analizy jest „urwany”, a taka nieciągłość objawia się w widmie występowaniem wiele dodatkowych składowych harmonicznych. Skrypt widmo2.m oblicza i wykreśla moduł widma sygnału sinusoidalnego. Jako parametry sygnału podaje się amplitudę, częstotliwość i fazę początkową sinusoidy oraz częstotliwość próbkowania. Jako parametry analizy - długość sygnału i długość transformacji Fouriera. c) Zmieniając częstotliwość sinusoidy uzyskać widmo amplitudowe złożone wyłącznie z 1 niezerowego prążka. d) Zmieniając częstotliwość próbkowania fp lub/i długość sygnału N uzyskać widmo amplitudowe złożone wyłącznie z 1 niezerowego prążka. 4) DTF a FFT Podstawowe wywołanie funkcji fft ma postać fft(x,Nf). Funkcja fft realizuje algorytm FFT, jeśli Nf jest potęgą dwójki. W innych przypadkach realizowany jest algorytm DFT. 5) Przeciek widma spowodowany uzupełnianiem sygnału zerowymi próbkami Jeśli Nf jest większe niż długość N sygnału, to sygnał uzupełniany jest zerowymi próbkami (liczba tych zerowych próbek wynosi Nf – N) i dla takiego uzupełnionego zerowymi próbkami wykonywana jest funkcja fft. W związku z tym, że fft oblicza widmo sygnału okresowego o okresie Nf uzupełnianie zerowymi próbkami wprowadza zmiany do wyznaczonego widma sygnału. Aby się o tym przekonać, przeprowadzić następujący eksperyment z zastosowaniem skryptu widmo3.m: 2 a) Zmieniając Nf obserwować zmiany widma, b) Zmieniając N obserwować zmiany widma, c) Zmieniając częstotliwość sygnału sinusoidalnego obserwować zmiany widma. 6) Obserwacja spektrogramów sygnału modelowego i sygnału mowy W przypadku gdy nie wystarcza tylko znajomość struktury czasowej sygnału (wykres czasowy) lub częstotliwościowej (widmo policzone z całego sygnału), należy przeprowadzić analizę czasowo-częstotliwościową. Sytuacja taka występuje dla przykładu przy analizie sygnału mowy. Wynik takiej analizy ma postać trójwymiarowego wykresu, w którym zmiennymi niezależnymi są czas i częstotliwość, a zmienną zależną jest wartością funkcji (moc/energia sygnału) dla danego punktu czasu i częstotliwości. Częściej wykres taki przedstawia się w postaci obrazu, w którym na osi poziomej znajduje się czas, na pionowej częstotliwość, a moc sygnału zobrazowana jest przy pomocy odcieni szarości lub kolorów. Obraz taki nosi nazwę spektrogramu. Okazuje się, że nie można uzyskać dowolnie wysokiej rozdzielczości w obu dziedzinach: czasu i częstotliwości. Dziedziny te powiązane są ze sobą w taki sposób, że gdy w jednej zwiększamy rozdzielczość, w drugiej następuje jej spadek. Wynika to z zasady nieoznaczoności, której odmiana znana jest w fizyce kwantowej. Skrypt spektrogram.m jest przykładem zastosowania analizy czasowo-częstoliwościowej. Generowanym sygnałem jest sygnał sinusoidalny o nieliniowo zmiennej częstotliwości w granicach 100-900Hz (przy częstotliwości próbkowania 2000Hz). Należy: a) Zaobserwować spektrogram sygnału modelowego. b) Korzystając z helpa programu MATLAB zapoznać się z parametrami funkcji spectrogram. c) Zaobserwować wpływ parametrów funkcji spectrogram na spektrogram sygnału modelowego. d) Uzupełnić skrypt spektrogram.m o wczytywanie sygnału mowy, jego 4-krotną decymację i obliczanie spektrogramu tego sygnału. e) Zaobserwować wpływ parametrów funkcji spectrogram na spektrogram sygnału mowy. 3