Documente Academic
Documente Profesional
Documente Cultură
1. Considerații teoretice
1.1. Serii Fourier
Orice semnal periodic poate fi scris ca o sumă infinită de semnale armonice (sinus și cosinus).
Frecvența oricărui termen din seria trigonometrică este un multiplu întreg (armonică) a frecvenței
fundamentale a semnalului periodic. Fiind dat un semnal periodic f(t), el poate fi reprezentat:
¥
f (t ) = a0 + å [ak cos(kw 0 t ) + bk sin(kw 0 t )]
k =1
k = -¥
T
1
în care ck = ò f (t )e - jkwt dt
T 0
Luând în considerare formulele de mai sus, putem folosi transformata Fourier și inversa ei
pentru a avea reprezentarea unui semnal atât în domeniul timp, cât și în domeniul frecvență.
Prelucrarea timp frecvenţă a semnalelor _______________________________ Laborator nr. 1
Ambele domenii de reprezentare (timp și frecvență) pot fi continui sau discrete cu referire la
variabila timp sau frecvență. Rezultă patru variante diferite de transformată Fourier.
DTFT (pe care o notăm cu X ( e jΩ ) ) este o funcție periodică, de perioadă egală cu fe , unde fe
este frecvența de eșantionare a semnalului. Astfel reprezentarea DFT se va face numai în intervalul
de la 0 la fe .
Dacă ne interesează energia fiecărei frecvențe din semnal, trebuie să determinăm valoarea
absolută a transformatei Fourier. Pentru a putea analiza spectrul Fourier obținut, trebuie să avem o
reprezentare grafică în funcție de frecvență. Fiecare valoare din FFT corespunde unei anumite
frecvențe. Rezoluția în frecvență este:
𝑓$ 1
Δ𝑓 = =
𝑁 Δ𝑡$ ⋅ 𝑁
unde N este numărul de eșantioane din semnal, iar Δ𝑡$ este intervalul de eșantionare.
Simetria transformatei Fourier. Dacă examinăm regiunea cuprinsă între 0 și 𝑓$ se observă că
există o simetrie pară față de un punct central situat la 0.5𝑓$ , frecvența Nyquist. Această simetrie
adaugă informații redundante. Dacă se analizează reprezentarea grafică a spectrului se constată că
reprezentarea dintre 0.5𝑓$ și 𝑓$ este o imagine în oglindă a datelor dintre 0 si 0.5𝑓$ .
Tema
1. Fie semnalul:
() ( ) ( ( ) ) ( ( )
f t = 2cos 2π ft + 2cos 2π Af t + θ + D cos 2π Bf t + ϕ )
a) Trasați graficul semnalului de la t=0 la t=2 sec, considerând f = 10Hz și
(i) A = B = 1, D = 1, q = f = 0
(ii) A = 1, B = 0, D = 3, q = p / 2 și f = p / 4
(iii) A = 2, B = 3, D = 3, q = p / 2 și f = p / 4
b) Generați un semnal sinusoidal, un semnal dreptunghiular și un semnal dinți de fierăstrău.
Desenați semnalele cu o frecvență de 25,5 Hz, un offset egal cu 0,2 și amplitudinea egală cu 1.
c) Trasați graficul semnalului dreptunghiular pentru 3 – 5 perioade.
Vom considera trei valori în care se calculează transformata N1 = 64, N2 = 128, N3 = 256.
Astfel se va genera semnalul X1 rezultat prin concatenarea semnalului x cu un semnal format din 34
Prelucrarea timp frecvenţă a semnalelor _______________________________ Laborator nr. 1
de zerouri (astfel încât semnalul să aibă în total 64 de eșantioane) s.a.m.d. Funcția abs calculează
magnitudinea transformatei.
X1 = np.fft.fft(x, N1);
X2 = np.fft.fft(x, N2);
X3 = np.fft.fft(x, N3);
Frecvența începe de la 0 și se termină la N-1 pentru transformata Fourier calculată în N puncte.
Vom normaliza scala și vom considera doar prima jumătate:
F1 = np.arange(0,N1//2, 1)/N1;
F2 = np.arange(0,N2//2, 1)/N2;
F3 = np.arange(0,N3//2, 1)/N3;
4. Centrarea spectrului în 0.
Transformata Fourier calculată cu fft conține informații referitoare la frecvențele cuprinse între
0 și fe . Totuși, știm că frecvența de eșantionare trebuie să fie de cel puțin două ori mai mare decât
cea mai înaltă frecvență din semnal. Astfel, spectrul semnalului trebuie să aibă frecvențe mai mici
decât fe /2, frecvența Nyquist. De asemenea, știm că un semnal real trebuie să aibă valorile spectrului
simetrice pentru frecvențe pozitive și negative. În loc să avem un spectru de la 0 la fe este mult mai
corect să desenăm spectrul de la - fe /2 la fe /2. Acest lucru se poate face folosind funcția fftshift.
n = [0:149];
x1 = cos(2*np.pi*n/10);
N = 2048;
X = abs(np.fft.fft(x1,N));
X = np.fft.fftshift(X);
F = [-N/2:N/2-1]/N;
Bibliografie
1. https://www.ritchievink.com/blog/2017/04/23/understanding-the-fourier-transform-by-
example/
2. https://matplotlib.org/index.html
3. http://www.numpy.org
4. https://docs.scipy.org/doc/