This shows you the differences between two versions of the page.
ps:labs_python:04 [2023/10/22 19:42] ionut.gorgos |
ps:labs_python:04 [2024/10/23 09:50] (current) ionut.gorgos |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Laboratorul 04. ===== | ===== Laboratorul 04. ===== | ||
- | <hidden> | + | /*<hidden>*/ |
- | ==== Shiftarea în fază/timp, filtrarea semnalelor periodice și modularea în amplitudine ==== | + | ==== Shiftarea în fază/timp și filtrarea semnalelor periodice ==== |
- | În acest laborator vom încerca să experimentăm câteva dintre proprietăţile Seriei Fourier, care ne permite să shiftăm/întârziem într-un domeniu şi să observăm un anumit efect în alt domeniu. De exemplu, la curs, am arătat că o întârziere în domeniul "Timp" înseamnă o shiftare de frecvenţă în domeniul "Frecvenţă". | + | Prezentarea PowerPoint pentru acest laborator poate fi găsită aici: [[https://docs.google.com/presentation/d/16lKfZUhSyECL2PWkuTa_bF45SjYd-wF6/edit?usp=sharing&ouid=110538702824281541719&rtpof=true&sd=true|aici]] |
+ | |||
+ | În acest laborator vom încerca să experimentăm câteva dintre proprietăţile Transformatei Fourier, care ne permite să shiftăm/întârziem într-un domeniu şi să observăm un anumit efect în alt domeniu. De exemplu, la curs, am arătat că o întârziere în domeniul "Timp" înseamnă o shiftare de frecvenţă în domeniul "Frecvenţă". | ||
Materiale ajutătoare: | Materiale ajutătoare: | ||
Line 12: | Line 14: | ||
[<color red>5p</color>] | [<color red>5p</color>] | ||
- | În acest exerciţiu vrem să întârziem un semnal în timp, prin modificarea spectrului său (vezi proprietăţile Seriei Fourier). Vom folosi un semnal pe care l-am mai folosit şi anume, semnalul dreptunghiular cu amplitudinea $A$ pe intervalul $[0, \frac{T}{2}]$ şi cu amplitudinea $-A$ pe intervalul $[\frac{T}{2}, T]$ care are binecunoscutul spectru dat de: | + | În acest exerciţiu vrem să întârziem un semnal în timp, prin modificarea spectrului său (vezi proprietăţile Transformatei Fourier). Vom folosi un semnal pe care l-am mai folosit şi anume, semnalul dreptunghiular cu amplitudinea $A$ pe intervalul $[0, \frac{T}{2}]$ şi cu amplitudinea $-A$ pe intervalul $[\frac{T}{2}, T]$ care are binecunoscutul spectru dat de: |
\begin{equation} | \begin{equation} | ||
c_{k} = \left\lbrace | c_{k} = \left\lbrace | ||
\begin{array}{} | \begin{array}{} | ||
- | \frac{2}{j \pi k}A \qquad k \quad impar \\0 \qquad \quad k \quad par | + | \frac{2 \cdot A}{j \pi k} \qquad k \quad impar \\0 \qquad \quad k \quad par |
\end{array} | \end{array} | ||
\right. | \right. | ||
Line 25: | Line 27: | ||
* Reprezentaţi grafic semnalul original (considerați A = 1 și T = 100). [<color red>1p</color>] | * Reprezentaţi grafic semnalul original (considerați A = 1 și T = 100). [<color red>1p</color>] | ||
* Calculaţi câţiva coeficienţi Fourier $c_k$. Faceţi asta, similar cu ce am făcut în laboratoarele precedente, folosind $k\in\{-81,\ldots,81\}$. [<color red>1p</color>] | * Calculaţi câţiva coeficienţi Fourier $c_k$. Faceţi asta, similar cu ce am făcut în laboratoarele precedente, folosind $k\in\{-81,\ldots,81\}$. [<color red>1p</color>] | ||
- | * Plotaţi modulul coeficienţilor (folosind //stem// și //abs//). | + | * Plotaţi modulul coeficienţilor (folosind //plt.stem// și //np.abs//). |
* Modificaţi spectrul pentru a obţine un semnal în timp întârziat cu $\tau = \frac{T}{4}$, folosind formula: $c_{k}^{'} = c_{k}\cdot e^{-j\frac{2\pi k \tau}{T}}$, unde $c_k$ sunt coeficienții Fourier aflați mai devreme. (vezi tabelul 4.2 din carte). [<color red>1p</color>] | * Modificaţi spectrul pentru a obţine un semnal în timp întârziat cu $\tau = \frac{T}{4}$, folosind formula: $c_{k}^{'} = c_{k}\cdot e^{-j\frac{2\pi k \tau}{T}}$, unde $c_k$ sunt coeficienții Fourier aflați mai devreme. (vezi tabelul 4.2 din carte). [<color red>1p</color>] | ||
* Plotaţi coeficienţii după modificare. Vedeţi vreo diferenţă? De ce? | * Plotaţi coeficienţii după modificare. Vedeţi vreo diferenţă? De ce? | ||
- | * Ce se întâmplă cu faza? Verificați cu următorul cod: | + | * Ce se întâmplă cu faza? Plotaţi coeficienții înainte și după modificare. Puteți afla faza coeficienților cu următorul cod: [<color red>1p</color>] |
<code python> | <code python> | ||
coefficients_phase = np.angle(ck, deg=True) | coefficients_phase = np.angle(ck, deg=True) | ||
</code> | </code> | ||
- | * Reconstruiți semnalul din spectrul modificat, folosind formula $s_{r}(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}}$ (similar cu ce-am făcut în laboratorul 3). Ar trebui să vedeți semnalul shiftat cu $\tau$, față de cel original (dacă totul a mers cum trebuie). [<color red>2p</color>] | + | * Reconstruiți semnalul din spectrul modificat, folosind formula $s_{r}(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}}$ (similar cu ce-am făcut în laboratorul 3). Ar trebui să vedeți semnalul shiftat cu $\tau$, față de cel original (dacă totul a mers cum trebuie). [<color red>1p</color>] |
Line 74: | Line 76: | ||
- Calculați primii //N=31// coeficienți Fourier pozitivi $c_k$ ai semnalului și plotați-i ($k\in\{0,\ldots,30\}$). Pentru a îi reprezenta va trebui să folosiţi funcţia //plt.stem//. De asemenea, va trebui să reprezentaţi doar magnitudinea, folosind funcţia //np.abs//. [<color red>1p</color>] | - Calculați primii //N=31// coeficienți Fourier pozitivi $c_k$ ai semnalului și plotați-i ($k\in\{0,\ldots,30\}$). Pentru a îi reprezenta va trebui să folosiţi funcţia //plt.stem//. De asemenea, va trebui să reprezentaţi doar magnitudinea, folosind funcţia //np.abs//. [<color red>1p</color>] | ||
- Calculați coeficienții Fourier asociați semnalului de ieșire, $c_k^y$, folosind formula de mai sus și plotați-i ca mai sus. Pentru asta va trebui să alegeți o frecvență de cut-off $f_c$ care va determina valorile //R// și //C// ( $RC = \frac{1}{2\pi f_c}$ ). [<color red>1p</color>] | - Calculați coeficienții Fourier asociați semnalului de ieșire, $c_k^y$, folosind formula de mai sus și plotați-i ca mai sus. Pentru asta va trebui să alegeți o frecvență de cut-off $f_c$ care va determina valorile //R// și //C// ( $RC = \frac{1}{2\pi f_c}$ ). [<color red>1p</color>] | ||
- | - Reconstruiți semnalul de output cu ajutorul seriei Fourier (folosind formula de la exercițiul 1) [<color red>2p</color>] | + | - Reconstruiți semnalul de ieșire cu ajutorul seriei Fourier (folosind formula de la exercițiul 1) [<color red>2p</color>] |
Puteți încerca următoarele valori pentru $f_c$: | Puteți încerca următoarele valori pentru $f_c$: | ||
- $f_c = 0.1/T$ (frecvența de cut-off e mult mai mică decât frecvența fundamentală a semnalului => filtrare puternică) | - $f_c = 0.1/T$ (frecvența de cut-off e mult mai mică decât frecvența fundamentală a semnalului => filtrare puternică) | ||
Line 84: | Line 86: | ||
</note> | </note> | ||
- | </hidden> | + | /*</hidden>*/ |