Grupa |
|
|
Prow: dr inż. Przemysław Janik |
Wtorek 17:05 |
Nr ćwiczenia |
Data oddania spawozdania |
Ocena |
Nr 4 |
8 |
(wpisuje prowadzący) |
|
Temat Ćwiczenia
Jakub WILK
149500
Maciej BOROWSKI
137034
Streszczenie - Sprawozdanie zawiera algorytmy generacji oraz wykreślania podstawowych sygnałów dyskretnych w MATLABie oraz opis badań zjawiska aliasingu.
1.GENEROWANIE SYGNAŁÓW DYSKRETNYCH
1.1. Impuls Kroneckera
Impuls Kroneckera jest najprostszym sygnałem. Opisujemy go wzorem:
Przykładowy Impuls Kroneckera:
Generacja tego impulsu w MATLABie oraz jego wykreślenie przy zastosowaniu funkcji stem:
nn=(-10:0);
x4=zeros(1,11);
x4(8)=4.5;
stem(nn,x4);
Rys1. Impuls Kroneckera wygenerowany w MATLABie
Impuls Kroneckera można wykorzystywać do generacji funkcji „grzebieniowej” (ang. impulse train), przebiegu złożonego z zer i jedynek. Wzór określający taką funkcję to:
Dla P = 4 oraz M = 5 generacja funkcji wygląda następująco:
nn=(0:19);
x=[1;0;0;0]*ones(1,5);
x=x(:);
stem(x);
Rys2. Funkcja Grzebieniowa wygenerowana w MATLABie
1.2. Przebieg sinusoidalny
Kolejnym analizowanym sygnałem jest fala sinusoidalna. Określa się ją wzorem:
Przykładowa fala sinusoidalna, sposób jej generacji i wykreślenia:
nn=(-15:25);
sinus=sin((pi/17)*nn);
stem(nn,sinus);
Rys3. Funkcja sinus wygenerowana w MATLABie
MATLAB umożliwia pisanie własnych funkcji, toteż łatwo jest stworzyć narzędzie do generowania dyskretnych sygnałów o postaci fal sinusoidalnych.
Funkcja o nazwie „moja” generuje sygnał na podstawie podanej w wywołaniu fazy, amplitudy, pulsacji oraz indeksu początka i końca przedziału.
Postać funkcji:
function [x] = moja(amp,omega,faza,pocz,kon)
nn=(pocz:kon);
x=amp*sin(omega*nn+faza);
Dla określonych parametrów wywołania uzyskujemy:
Rys4. Sygnał wygenerowany przez wywołanie funkcji „moja(2,pi/17,pi/2,0,100)”
1.3. Sygnały okresowe
Do sygnałów okresowych należą między innymi sygnał prostokątny oraz piłokształtny. Ich generacja i wykreślenie w MATLABie są dość proste, ze względu na istniejące funkcje MATLABa square oraz sawtooth.
Rys5. Wykreślenie sygnału prostokątnego za pomocą instrukcji stem.
Generacja sygnału piłokształtnego za pomocą funkcji MATLABa sawtooth
Rys6. Sygnał sawtooth w MATLABie
1.4. Sygnały wykładnicze
Istnieją dwa sposoby generowania sygnałów wykładniczych: prosty oraz za pomocą algorytmu rekursywnego. Prosty sposób generacji w MATLABie został podany w instrukcji.
Rys7. Wykreślenie przebiegu wykładniczego wygenerowanego metodą prostą za pomocą komendy plot(genexp(0.8,0,20))
Wykorzystanie algorytmu rekursywnego przedstawia się w nastepujący sposób:
Rys8. Sygnał wykładniczy wygenerowany za pomocą algorytmu rekursywnego.
Oba sposoby generacji dają bardzo podobne rezultaty.
2. PODSTAWY TEORII PRÓBKOWANIA
2.1. Przebieg sinusoidalny - aliasing
Przy stałej częstotliwości próbkowania równej 8kHz, wykreślono kilkanaście przebiegów fal sinusoidalnych o różnych częstotliwościach.
Rys9. Sinusoida o częstotliwości 300Hz
Rys10. Efekty próbkowania sinusoid o częstotliwości: a)100Hz,32100Hz b)225Hz,32225Hz c)350Hz,32350Hz d) 475Hz,32475Hz
Rys11. Efekt próbkowania sinusoid o częstotliwości: a)7525Hz b)7650Hz c)7775Hz d)7900Hz
2.2. Sygnał „chip” - aliasing
Sygnał typu „chirp” to sinusoida, której częstotliwośc zmienia się liniowo. Doskonale obrazuje on zjawisko aliasingu.
Rys12. Sygnał typu „chirp” próbkowany z częstotliwością 8kHz
4. Wnioski
4.1. Generowanie sygnałów dyskretnych
Środowisko Matlaba umożliwia generowanie bardzo rożnorodnych sygnałów, zarówno za pomocą wykorzystania wektorów, jak i wbudowanych funkcji. Zależnie od zastosowania można też dobierać częstotliwość próbkowania tych sygnałów.
4.2. Aliasing
Aliasing jest niejednoznacznością sygnału cyfrowego przy próbkowaniu go poniżej dwukrotności częstotliwości Nyquista (graniczna częstotliwość widma sygnału). Zjawisko to wprowadza tzw. częstotliwość pozorną, której zmiany możemy obserwować na wykonanych w trakcie ćwiczenia wykresach. Gdy zmieniająca się częstotliwość sinusoidy zbliża się do częstotliwości 8kHz (Rys11) od wartości mniejszych (7525Hz-7900Hz) następuje pozorne zmniejszenie częstotliwości sygnału. Odwrotnie gdy częstotliwość oddala się od wielokrotności połowy częstotliwości próbkowania (32100Hz - 32475Hz) (Rys10), częstotliwość pozorna rośnie oraz uzyskujemy przebiegi podobne do częstotliwości niskich, przy których nie wystepuje zjawisko aliasingu (100Hz-475Hz).
Najlepiej widać to na wykresie sygnału typu „chirp”. Wyrażnie widać, że w pewnych przedziałach sygnał ma bardzo niską częstotliwość, podczas gdy częstotliwość sygnału rośnie liniowo dla całej długości sygnału. Zakresy niskiej częstotliwości sygnału spróbkowanego obrazują zbliżanie się do i oddalenie od wielokrotności częstotliwości Nyquista.
Aliasing jest jednym biegunem problemu analizy sygnałów, których częstotliwości nie znamy. Próbkowanie zbyt małą częstotliwością owocuje aliasingiem, zbyt dużą - szumami. Za skuteczniejszy sposób uznaje się dużą częstotliwość i filtrowanie sygnału.
Bibliografia
Ćwiczenie 8: sygnały dyskretne w czasie, aliasing, Zakład Elektrotechniki Teoretycznej, Wydział Elektryczny, Politechnika Wrocławska
http://www.dsptutor.freeuk.com/aliasing/AliasingDemo.html
1