This is an old revision of the document!
Laboratorul 06.
Semnale digitale - procesarea simplă şi eşantionarea
În acest laborator vom începe să experimentăm efectele semnalelor eşantionate şi procesarea semnalelor digitale.
Materiale ajutătoare:
-
Secţiunile 5.1-5.3
Exerciuţiul 1 -- Procesarea simplă [5p]
Vom încerca să implementăm un sistem de procesare digitală simplă, care funcţionează după cum urmează:
luaţi 5 eşantioane (samples) din semnalul de intrare, $d_1, d_2, \ldots, d_5$.
faceţi o medie a celor 5 eşantioane (samples), $a = 0.2 \cdot (d_1 + d_2 + d_3 + d_4 + d_5)$
puneţi la ieşire valoarea curentă $y(n) = a$
Urmăriţi aceşti paşi:
Creaţi câteva secvenţe digitale care reprezintă sinusoide de diferite frecvenţe (1, 2, 10, 20, 100 Hz), la aceeaşi frecvenţă de eşantionare (folosiţi acelaşi număr de eşantioane, e.g. $N=128$).
Implementaţi sistemul de procesare menţionat mai sus
Creaţi secvenţele corespunzătoare de ieşire.
Plotaţi toate secvenţele de intrare/ieşire
Ce fel de sistem de procesare este acesta ?
Pentru fiecare eşantion de intrare ($x(n)$) trebuie să produceţi o valoare de ieşire ($y(n)$). Pentru primele patru eşantioane nu aveţi suficiente valori de intrare diferite de zero, şi pentru simplitate ori setaţi ieşirea pe zero, ori faceţi media dintre 1, 2, 3, 4 eşantioane, în timp ce consideraţi ca celelalte să fie zero. Dar de la al 5-lea eşantion veţi avea câte 5 eşantioane la îndemână (actualul $x(n)$ şi anterioarele patru eşantioane).
Exercițiul 2 -- Subeşantionare (Bandpass sampling) [5p]
În acest exercițiu vom experimenta subeșantionarea, metodă care reduce frecvența de eșantionare, necesară pentru a obține întreg spectru al semnalului.
Un semnal real cu o frecvență purtătoare (centrată) la 3kHz este eşantionată la 8 kHz. Lăţimea de bandă a semnalului este 1 kHz, cum puteţi vedea mai jos:
Task-uri/întrebări:
De ce avem energie în ambele frecvenţe $f_c$ şi $-f_c$ ?
Folosiţi MATLAB pentru a calcula transformata Fourier Discretă (folosiţi comanda “fft”, aşa cum aţi folosit în laboratorul precedent) a unei sinusoide de $3kHz$ eşantionată la $8kHz$.
Plotaţi rezultatele şi observaţi frecvenţele. Acum folosiţi “fftshift” pe rezultatul obţinut de la “fft” şi plotaţi din nou rezultatele.
De ce într-un caz avem semnal la $3 kHz$ şi $5 kHz$ în timp ce, în celălalt caz pare să avem la $-3 kHz$ şi $3 kHz$ ?
Care este semnificaţia semnalului de $5 kHz$ ? Când plotaţi rezultatele de la “fft” luaţi în considerare că, în mod implicit output-ul transformatei Discrete Fourier, deci şi “fft”, arată frecvenţele de la $0$ la $f_s$ (frecvenţa de eşantionare).
Putem să reducem frecvenţa de eşantionare în timp ce încă detectăm spectrul dorit de frecvenţe ? (vedeţi bandpass sampling). Cât de mult putem reduce frecvenţa de eşantionare? Ce se întâmplă dacă reducem frecvenţa de eşantionare sub 2B?
Exercițiul 3 (bonus) -- Reconstruire de semnal [3p]
Pentru reconstruirea unui semnal idee este:
- dacă se face sampling pe un semnal cu $f_s > 2 \cdot W$ (unde $W$ este frecvenţa maximă a semnalului, i.e. respectiv Nyquist), atunci puteţi să reconstruiţi din semnalul digital semnalul analog (exceptând o eroare de cuantizare) pe baza unui low pass filter (cu un sinc).
Pentru asta ar trebui să faceţi următorii paşi:
să construiţi semnalul digital, adică varianta eşantionată a semnalului
să faceţi din semnalul digital un semnal continuu (analog), în care pentru eşantioanele din semnalul digital se pune valorile (analog) din semnal, iar între eşantioane se pune 0 la ieşire.
să faceţi convoluţie între un sinc (de frecvenţă fs, dar centrat pe zero, adică un semnal simetric) şi semnalul continuu.
Semnalul va avea un număr mare de eșantioane ($N_{analog} = 5000$) pentru a simula pe cel analog, și un număr de eșantioane (respectiv $f_s$) mic în comparație cu ($N_{analog} = 5000$), e.g. $f_s = 10$.
Trebuie să folosiţi funcţia stem, nu plot pentru reprezentare !