Materiale ajutătoare:
Orice semnal este format dintr-o sumă a o infinitate de sinusoide complexe. Ce se întâmplă dacă facem suma doar peste un număr finit de astfel de termeni, ingorănd termenii de ordin superior? În acest caz vom forma un semnal care aproximează semanlul original, iar aproximarea este cu atât mai bună cu cât folosim mai mulți termeni.
În acest exercițiu vom vedea cât de bine este aproximat un semnal, prin observarea erorii $\epsilon_{K}$ dintre semnalul original $s(t)$ și aproximarea $s_{K}(t)$ folosind doar termeni de ordin $\le K$ din seria Fourier (termenii corespunzatori $k \in \{-K, \ldots, K\} $ )
Vom calcula rădăcina pătratică medie (eng. root mean square - RMS) a semnalului de eroare $\epsilon_{K}$ dat de:
\begin{equation} \epsilon_{K}(t) = s(t) - s_{K}(t), \end{equation}
Aproximarea $s_{K}(t)$ este data de primii termeni din Seria Fourier. \begin{equation} s_K(t) = \sum_{k=-K}^K c_k e^\frac{j 2 \pi k t}{T} \end{equation}
iar RMS-ul lui $\epsilon_K$ este dat de: \begin{equation} \text{rms}(\epsilon_K) = \sqrt{\sum_{k=-\infty}^{-{K+1}} |c_k|^2 + \sum_{k=K+1}^\infty |c_k|^2} = \sqrt{2\cdot \sum_{k=K+1}^\infty |c_k|^2} \end{equation}
Task-ul vostru este să determinați valoarea lui K astfel încât $\text{rms}(\epsilon_K)$ este aproape 0 și după aceea să vedeți că într-adevăr semnalul reconstruit aproximează bine semnalul original.
O să folosim din nou semnalul dreptunghiular, de amplitudine 'A' în intervalul [0, T/2] și '-A' în intervalul [T/2, T] care are coeficienții Fourier dați de formula:
\begin{equation} c_{k} = \left\lbrace \begin{array}{} \frac{2}{j \pi k}A \qquad k \quad impar \\0 \qquad \quad k \quad par \end{array} \right. \end{equation}
Pentru asta ar trebui să urmăriți următorii pași:
A = 1; T = 100; x = 1:T; s = -A*ones(1, T); s(1:(T/2)) = A;
\begin{equation} \frac{1}{T}\int_0^T{s^2(t)dt} = \sum_{-\infty}^{\infty}{|c_k|^2} \end{equation}
Folosind cele descrise mai sus puteți calcula exact rms-ul erorii:
Vom vedea în continuare ce efect are un filtru trece-jos asupra unui semnal. În special ne intereseaza care sunt termenii din seria Fourier a semnalului rezultat în urma filtrării.
Dacă știm funcția de transfer unui filtru trece-jos (sau alt tip de sistem liniar), care primeste la intrare un semnal (pentru care putem găsi coeficienții Fourier $c_k$) la curs am arătat la curs că putem găsi coeficienții Fourier ($c_k^y$) ai semnalului rezultat ca:
\begin{equation} c_k^y = H(\frac{k}{T}) \cdot c_k \end{equation}
Astfel putem reconstrui semnalul de ieșire folosind coeficienții Fourier $c_k^y$.
În acest exercițiu trebuie să calculăm coeficienții Fourier ai output-ului unui filtru trece-jos, dat fiind un semnal de intrare de tip puls cu amplitudine $A=1$ și pulsul de durată $\Delta=\frac{T}{5}$. Știm că coeficienții Fourier ai semnalului sunt dați de:
\begin{equation} c_k = A \cdot e^{-j\frac{\pi k \Delta}{T}} \cdot \frac{\text{sin}(\frac{\pi k \Delta}{T})}{\pi k} = A \cdot e^{-j\frac{\pi k \Delta}{T}} \cdot \frac{\Delta}{T} \cdot \text{sinc}(\frac{\pi k \Delta}{T}). \end{equation}
Funcția de transfer a circuitului (pe care am determinat-o la curs și la laboratoarele anterioare) este următoarea:
\begin{equation} H(f=\frac{k}{T}) = \frac{1}{1+j 2 \pi R C \frac{k}{T}} \end{equation}
unde R și C sunt rezistența și respectiv capacitatea.
Task-ul vostru este să determinați coeficienții output-ului și să reconstruiți semnalul de ieșire pentru diferite frecvențe de tăiere.
Pentru aceasta urmăriți următorii pași:
Puteți încerca următoarele valori pentru $f_c$:
Am văzut la curs că pentru a transmite 2 biți simultan putem folosi două frecvențe diferite (f1, f2) pentru a coda o valoare de 2 biți:
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ă:
Notă: pentru a genera o secvență random de valori întregi inspectați funcția 'randi' din MATLAB.