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ă:
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.
Frecvenţa de tăiere o puteţi găsi din condiţia $|{H(f)}| = \frac{max(|{H(f)}|)}{\sqrt2}$. În acest caz, $f_c = \frac{1}{2 \pi RC}$ pare să satisfacă 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 Transformata Fourier, unul dintre cele mai importante instrumente în procesarea digitală a semnalelor. Va trebui să vă familiarizați cu acesta.
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');