This shows you the differences between two versions of the page.
ps:labs_python:03 [2023/10/16 11:00] ionut.gorgos |
ps:labs_python:03 [2023/10/22 17:55] (current) ionut.gorgos |
||
---|---|---|---|
Line 2: | Line 2: | ||
/* <hidden> */ | /* <hidden> */ | ||
==== Semnale în domeniul frecvență ==== | ==== Semnale în domeniul frecvență ==== | ||
- | Prezentarea PowerPoint pentru acest laborator poate fi găsită aici: [[https://docs.google.com/presentation/d/1cbNT4X6ZHE3rTQZ1Y5ZNJytpakJHXCmd/edit?usp=share_link&ouid=110538702824281541719&rtpof=true&sd=true|aici]] | ||
Materiale ajutătoare: | Materiale ajutătoare: | ||
Line 22: | Line 21: | ||
Având un semnal dat $s(t)$ putem calcula coeficienții Fourier după formula: | Având un semnal dat $s(t)$ putem calcula coeficienții Fourier după formula: | ||
\begin{equation} | \begin{equation} | ||
- | c_k = \frac{1}{T} \int_{t=0 }^{T}{s(t)e^{-j\frac{2 \pi kt}{T}}} | + | c_k = \frac{1}{T} \int_{t=0 }^{T}{s(t)e^{-j\frac{2 \pi kt}{T}}}dt |
\end{equation} | \end{equation} | ||
Line 39: | Line 38: | ||
Principalii paşi pentru asta sunt: | Principalii paşi pentru asta sunt: | ||
- | - Creaţi semnalul original. Utilizaţi, de exemplu $T = 100$ şi $A = 3$ şi generaţi un semnal cu amplitudinea $3$ peste primele 50 de eşantioane şi $-3$ peste ultimele 50. Reprezentaţi grafic semnalul ca funcţie de timp (unde timpul începe de la 1 până la 100). Ajustaţi limita verticală a plot-ului, folosind funcţia //ylim// (e.g. $[-A-1, A+1]$). [<color red>1p</color>] | + | - Creaţi semnalul original. Utilizaţi, de exemplu $T = 100$ şi $A = 3$ şi generaţi un semnal cu amplitudinea $3$ peste primele 50 de eşantioane şi $-3$ peste ultimele 50. Reprezentaţi grafic semnalul ca funcţie de timp (unde timpul începe de la 1 până la 100). Ajustaţi limita verticală a plot-ului, folosind funcţia //plt.ylim// (e.g. $[-A-1, A+1]$). [<color red>1p</color>] |
- | - Calculaţi coeficienţii Fourier $c_{k}$ pentru $k = [-k_{max}, k_{max}]$. De exemplu pentru $k_{max} = 3$, avem $k = {-3,-2,-1,0,1,2,3}$. Reprezentaţi grafic coeficienţii $c_k$ şi observaţi simetria lor în jurul lui $k = 0$. Pentru a îi reprezenta va trebui să folosiţi funcţia //np.stem// (nu mai folosim //np.plot//). De asemenea, va trebui să reprezentaţi doar magnitudinea, folosind funcţia //np.abs//. [<color red>1p</color>] | + | - Calculaţi coeficienţii Fourier $c_{k}$ pentru $k = [-k_{max}, k_{max}]$. De exemplu pentru $k_{max} = 3$, avem $k = {-3,-2,-1,0,1,2,3}$. Reprezentaţi grafic coeficienţii $c_k$ şi observaţi simetria lor în jurul lui $k = 0$. Pentru a îi reprezenta va trebui să folosiţi funcţia //plt.stem// (nu mai folosim //plt.plot//). De asemenea, va trebui să reprezentaţi doar magnitudinea, folosind funcţia //np.abs//. [<color red>1p</color>] |
- Reconstruiţi semnalul doar cu ajutorul acestor coeficienţi, folosind formula: $s(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}}$. [<color red>1p</color>] | - Reconstruiţi semnalul doar cu ajutorul acestor coeficienţi, folosind formula: $s(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}}$. [<color red>1p</color>] | ||
- Reprezentaţi grafic noul semnal reconstruit și comparați-l cu originalul. [<color red>1p</color>] | - Reprezentaţi grafic noul semnal reconstruit și comparați-l cu originalul. [<color red>1p</color>] | ||
Line 114: | Line 113: | ||
=== Exercițiul 3 - BONUS - comunicație digitală === | === Exercițiul 3 - BONUS - comunicație digitală === | ||
- | [<color red>2p</color>] | + | [<color red>1p</color>] |
Pentru a transmite 2 biți simultan putem folosi două frecvențe diferite (f1, f2) pentru a coda o valoare de 2 biți: | Pentru a transmite 2 biți simultan putem folosi două frecvențe diferite (f1, f2) pentru a coda o valoare de 2 biți: | ||
Line 123: | Line 122: | ||
Task-ul vostru e să creați o secvență random de 10 valori între 0 și 3 (pentru a folosi toate valorile de mai sus) și apoi să o codificați folosind 2 sinusoide așa cum este descris mai sus. Pentru asta ar trebui să: | Task-ul vostru e să creați o secvență random de 10 valori între 0 și 3 (pentru a folosi toate valorile de mai sus) și apoi să o codificați folosind 2 sinusoide așa cum este descris mai sus. Pentru asta ar trebui să: | ||
- | - selectați frecvențele $f_1$ și $f_2$ astfel încât ele să folosească aceeași frecvență fundamentală (de ex.: $f_1 = 1 \cdot f_t$, $f_2 = 2 \cdot f_t$); | + | - selectați frecvențele $f_1$ și $f_2$ astfel încât ele să folosească aceeași frecvență fundamentală (de ex.: $f_1 = 1 \cdot f_t$, $f_2 = 2 \cdot f_t$, iar $f_t = 1$); |
- plotați semnalul rezultat folosind perioada ($1/f_t$) pentru fiecare valoare transmisă; | - plotați semnalul rezultat folosind perioada ($1/f_t$) pentru fiecare valoare transmisă; | ||
- verificați că semnalul rezultat codează secvența voastră random; | - verificați că semnalul rezultat codează secvența voastră random; |