This shows you the differences between two versions of the page.
ps:laboratoare:03 [2019/10/20 16:40] andrei.nicolicioiu |
ps:laboratoare:03 [2020/10/07 17:42] (current) ionut.gorgos |
||
---|---|---|---|
Line 27: | Line 27: | ||
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|}$. | 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|}$. | ||
- | |||
- | /* <hidden> */ | ||
- | <note tip> | ||
- | Puteţi să găsiţi funcţia de transfer prin înlocuirea elementelor din circuit cu impedanţele complexe, unde $Z_R=R$ şi $Z_C = \frac{1}{j2 \pi f C}$ . Atunci $V_{out} = \frac{Z_R}{Z_R + Z_C}V_{in}$ . După ce introducem valorile $Z_R$ şi $Z_C$ în formulă obţinem funcţia de transfer $H(f) = \frac{j2 \pi fRC}{1 + j2 \pi fRC}$. | ||
- | |||
- | 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: | ||
- | <code> | ||
- | *RC Filter Transient example | ||
- | | ||
- | V1 in 0 sin(0 1 1e4) | ||
- | C1 in out 10n | ||
- | R1 out 0 3.2k | ||
- | | ||
- | .TRAN 10u 2m | ||
- | .end | ||
- | </code> | ||
- | |||
- | În căsuţa de plot puneţi asta: | ||
- | <code> | ||
- | v(in) v(out) | ||
- | </code> | ||
- | |||
- | 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". | ||
- | </note> | ||
- | /* </hidden> */ | ||
=== Exercițiul 2 [4p] === | === Exercițiul 2 [4p] === | ||
Line 111: | Line 80: | ||
<note> Semnalele reale au următoarea proprietate: coeficienții Fourier negativi sunt conjugații complexi ai celor pozitivi $c_{-k} = c_{k}^*$. Puteți verifica pentru semnalul nostru dreptunghiular. De asemenea, semnalele pare s(-t) = s(t), au coeficienții complet reali, obținând $c_{−k}=c_{k}$ iar semnalele impare s(-t) = -s(t), au coeficienții complet imaginari, obținând $c_{−k}=−c_{k}$.</note> | <note> Semnalele reale au următoarea proprietate: coeficienții Fourier negativi sunt conjugații complexi ai celor pozitivi $c_{-k} = c_{k}^*$. Puteți verifica pentru semnalul nostru dreptunghiular. De asemenea, semnalele pare s(-t) = s(t), au coeficienții complet reali, obținând $c_{−k}=c_{k}$ iar semnalele impare s(-t) = -s(t), au coeficienții complet imaginari, obținând $c_{−k}=−c_{k}$.</note> | ||
- | /* <hidden> */ | ||
- | <note tip> | ||
- | Acest cod ar trebui să rezolve exerciţiul: | ||
- | <code matlab> | ||
- | 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'); | ||
- | </code> | ||
- | </note> | ||
- | /* </hidden> */ | ||