Podstawy informatyki – laboratorium



Pobieranie 11,65 Kb.
Data18.06.2018
Rozmiar11,65 Kb.

Ćwiczenie 3
Temat:
Analiza widmowa sygnałów okresowych dyskretnych

(dyskretna transformata Fouriera, DTF – ang. DFT)


Ćwiczenie obejmuje:

  1. Dla zadanego sygnału dźwiękowego wykonać wykres tego sygnału w czasie oraz wykres jego widma (zastosować wszystkie możliwe skalowania osi odciętych – cztery).

  2. Wykonać zadane operacje filtrowania na widmie powyższego sygnału dźwiękowego (przyjąć częstotliwość odcięcia fc):

    • dokonać filtracji przez filtr dolnoprzepustowy: wyzerowanie składowych harmonicznych z przedziału [fc fs-fc];

    • dokonać filtracji przez filtr górnoprzepustowy: wyzerowanie składowych harmonicznych z przedziału [0 fc] v [fs-fc fs];

Porównać przebieg w czasie dźwięków: oryginalnego, po filtracji przez filtr dolnoprzepustowy, po filtracji przez filtr górnoprzepustowy (wykres i brzmienie).

  1. Zmienić częstotliwość próbkowania fs sygnału dźwiękowego z wykorzystaniem widma (zmiana rozdzielczości):

    • zwiększenie: odsunięcie drugiej połowy widma tak, aby ostatni prążek znalazł się na pozycji nowej fs. Powstałą lukę wypełnij zerami. Wykonaj transformatę odwrotną. Zweryfikuj otrzymane wyniki (np. poprzez wyświetlenie sygnałów sprzed i po operacji na jednym wykresie).

    • zmniejszenie: usunięcie co drugiej składowej, dołożenie zerowych składowych (co drugiej; w innych miejscach widma) – uwaga na częstotliwość odtwarzania sygnału po operacjach;

    • odtworzyć sygnał sprzed i po operacji (porównać – wnioski).

Wszystkie zadania zrealizować w formie skryptu Matlabu (m-plik z komentarzami).


Wykonanie wszystkich kolejnych zadań dokumentować odpowiednimi wykresami (z tytułami wykresów oraz dokładnymi opisami osi współrzędnych) i opatrywać wnioskami.
Czas wykonania: 3 godz.

Niektóre instrukcje Matlaba do przetwarzania plików dźwiękowych:
SOUND – zamienia wektor na plik dźwiękowy
sound (y) wysyła sygnał w wektorze y do karty dźwiękowej

Dźwięk jest odgrywany z domyślną częstotliwością (8192 Hz).


sound (y, Fs) odtwarza dźwięk z częstotliwością Fs.
sound(y,Fs,bits)
WAVWRITE – zapisuje plik dźwiękowy .WAV w formacie Microsoft Windows 3.1
wavwrite(y,'filename')

Fs=8000 Hz bit/próbka=16



wavwrite(y,Fs,'filename')

bit/próbka=16



wavwrite(y,Fs,N,'filename')

N – 8, 16, 24, 32


WAVREAD – ładuje plik dźwiękowy .WAV w formacie Microsoft Windows 3.1

y = wavread('filename') ładuje plik .WAV o nazwie "wavefile" do tablicy y
[y,Fs,bits] = wavread('filename') dodatkowo zwraca w zmiennej Fs częstotliwość próbkowania i dokładność zapisu próbek ładowanego pliku.


clear Remove items from workspace, freeing up system memory

clc Clear Command Window

close all Delete all figures



©operacji.org 2017
wyślij wiadomość

    Strona główna