This is an old revision of the document!
Materiale ajutătoare:
În acest exerciţiu va trebui să analizaţi următorul circuit:
similar cu ce-am făcut la curs.
Pentru asta va trebui să:
Frecvenţa de tăiere este frecvența pentru care avem egalitatea: $|{H(f)}| = \frac{max(|{H(f)}|)}{\sqrt2}$. Pentru a o găsi vom folosi definiția modulului unui număr complex $|a+jb|=\sqrt{a^2+b^2}$ și proprietatea $|\frac{a}{b}| = \frac{|a|}{|b|}$.
Circuitul este un filtru trece sus: dacă frecvenţa tinde la zero, $H(f \rightarrow 0) = 0$. Dacă $f$ este foarte mare, atunci $H(f \rightarrow \infty) = 1$. Deci avem un filtru trece sus.
Din calcul rezultă: $f_c = \frac{1}{2 \pi RC}$ satisface condiţia. Verificaţi că studenţii au înţeles toate derivările şi că au verificat că aceasta este frecvenţa.
Găsiţi că $RC = \frac{1}{2 \pi f_c}$, undeva la $32\cdot10^{-6}$ în cazul nostru. Deci putem folosi valorile $R = 3.2 k \Omega$ şi $C = 10 nF$, de exemplu.
Exemplu de circuit în Ngspice:
*RC Filter Transient example V1 in 0 sin(0 1 1e4) C1 in out 10n R1 out 0 3.2k .TRAN 10u 2m .end
În căsuţa de plot puneţi asta:
v(in) v(out)
Jucaţi-vă cu valoarea lui $V_1$(de exemplu 5e3 este la frecvenţa de tăiere, 1e2 ar trebui să fie mai redus, în timp ce la 1e4 ar trebui să treacă). Notaţi că pentru diferite frecvenţe, s-ar putea să fiţi nevoiţi să ajustaţi intervalul de simulare, adică ultima valoare din linia cu ”.TRAN”.
În acest exercițiu vom începe să lucrăm cu seria Fourier, unul dintre cele mai importante instrumente în procesarea digitală a semnalelor. Va trebui să vă familiarizați cu acesta.
La curs am vorbit despre faptul că orice semnal periodic de perioada $T$ se poate descompune într-o sumă de semnale de bază. Această descompunere poarta numele de seria Fourier și ne arată cum se descompune orice semnal periodic într-o sumă de sinusoide.
Forma clasica a seriei Fourier:
\begin{equation} s(t) = a_0 + \sum_{k=1}^{\infty}{a_k \cos( \frac{2 \pi kt}{T} ) } + \sum_{k=1}^{\infty}{b_k \sin( \frac{2 \pi kt}{T} ) } \end{equation}
Folosind formula lui Euler: $e^{jt} = \cos(t) + j \sin(t)$ și folosind coeficienții complexi $c_k \in \mathbb{C}$ , unde $c_k = \frac{a_k - b_k}{2}$ pentru $k > 0$, $c_k = \frac{a_k + b_k}{2}$ pentru $k < 0$ și $c_k = \frac{a_k}{2}$ pentru $k = 0$ obținem formularea echivalentă:
\begin{equation} s(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}} \end{equation}
Având un semnal dat $s(t)$ putem calcula coeficienții Fourier după formula: \begin{equation} c_k = \frac{1}{T} \int_{t=0 }^{T}{s(t)e^{-j\frac{2 \pi kt}{T}}} \end{equation}
Folosind formula precedenta, la curs am demonstrat că un semnal dreptunghiular, de amplitudine “A” pe intervalul $[0, \frac{T}{2}]$ și de amplitudine ”-A” pe intervalul $[\frac{T}{2}, T]$ are coeficienții Fourier daţi de formula următoare:
\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}
În acest exerciţiu va trebui să încercaţi să reconstruiţi semnalul dreptunghiular folosind un număr limitat de coeficienţi pentru a vedea diferenţa dintre semnalul original şi cel reconstruit.
Principalii paşi pentru asta sunt:
Graficele voastre trebuie să arate similar cu acestea:
A = 3; T = 100; x = 1:T; s = -A*ones(1, T); s(1:(T/2)) = A; h = figure; plot(x,s); ylabel('Amplitude'); xlabel('Time'); ylim([-A-0.5, A+0.5]); title('Original signal s(t)'); print(h, '-dpng', 'original_signal.png'); cmax = 20; kv = -cmax:cmax; N = length(kv); coef = zeros(N,1); for i=1:N k = kv(i); if mod(k,2) ~= 0 coef(i) = (2*A) / (j*pi*k); end end h = figure; stem(kv, abs(coef)); xlabel('Frequency component (k)'); ylabel('Magnitude of component'); title('Fourier coefficients'); print(h, '-dpng', 'coefficients.png'); sr = zeros(1, T); for t=1:T for i=1:N sr(t) = sr(t) + coef(i)*exp(j*2*pi*kv(i)*t/T); end end h=figure; plot(1:T, sr); ylim([-A-1, A+1]); title('Reconstructed signal s(t)'); ylabel('Amplitude'); xlabel('Time'); print(h, '-dpng', 'reconstructed_signal.png');