Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ps:laboratoare:03 [2017/10/29 16:39]
andrei.nicolicioiu
ps:laboratoare:03 [2020/10/07 17:42] (current)
ionut.gorgos
Line 1: Line 1:
 ===== Laboratorul 03. ===== ===== Laboratorul 03. =====
  
-/* Make it hidden before lab, unhide (e.g. note) afterwards ​*/ +/* Make it hidden before lab, unhide (e.g. note) afterwards  
-/*<​hidden>​*/​+<​hidden>​ */
 ==== Circuite liniare şi funcţia de transfer ==== ==== Circuite liniare şi funcţia de transfer ====
  
Line 26: Line 26:
   - Schimbaţi valoarea frecvenței semnalului de intrare astfel încât să fie mai apropiată, mai mică sau mai mare decât frecvența de tăiere $f_{c}$ și verificați rezultatele [1p]   - Schimbaţi valoarea frecvenței semnalului de intrare astfel încât să fie mai apropiată, mai mică sau mai mare decât frecvența de tăiere $f_{c}$ și verificați rezultatele [1p]
  
-/​*<​hidden>​*/​ +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|}$.
-<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.+=== Exercițiul 2 [4p] ===
  
-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ţiaVerificaţi că studenţii au înţeles toate derivările şcă au verificat că aceasta este frecvenţa.+În acest exercițiu vom începe ​să lucrăm cu seria Fourier, unul dintre cele mai importante instrumente în procesarea digitală a semnalelorVa trebui să vă familiarizațcu acesta.
  
-Găsiţi ​că $RC = \frac{1}{2 \pi f_c}$, undeva la $32\cdot10^{-6}$ în cazul nostruDeci putem folosi valorile $R = 3.2 k \Omega$ ş$C = 10 nF$, de exemplu.+La curs am vorbit despre faptul ​că orice semnal periodic de perioada ​$Tse poate descompune într-o sumă de semnale de bazăAceastă descompunere poarta numele de seria Fourier șne arată cum se descompune orice semnal periodic într-o sumă de sinusoide
  
-Exemplu de circuit în Ngspice: +Forma clasica a seriei Fourier:
-<​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: +\begin{equation} 
-<​code>​ +  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} ​} 
-v(inv(out+\end{equation}
-</​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ţcă pentru diferite frecvenţes-ar putea să fiţi nevoiţi să ajustaţi intervalul de simulareadică ultima valoare din linia cu "​.TRAN"​. +Folosind formula ​lui Euler: ​$e^{jt} = \cos(t) + j \sin(t)$ șfolosind coeficienții complexi $c_k \in \mathbb{C}$  
-</note> +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ă:​
-/​*</​hidden>​*/​+
  
-=== Exercițiul ​[4p] ===+\begin{equation} 
 +  s(t) \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{\pi kt}{T}}} 
 +\end{equation}
  
-Î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.+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}
  
-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:+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} \begin{equation}
Line 76: Line 67:
 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). [1p]   - 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). [1p]
-  - Calculaţi coeficienţii Fourier $c_{k}$ pentru $k = [-c_{max}, ​c_{max}]$. De exemplu pentru $c_{max} = 3$, avem $k = {-3,​-2,​-1,​0,​1,​2,​3}$. Reprezentaţi grafic coeficienţii şi observaţi simetria lor în jurul lui $k = 0$. Pentru a îi reprezenta va trebui să folosiţi funcţia '​stem'​. De asemenea, va trebui să reprezentaţi doar magnitudinea,​ folosind funcţia '​abs'​. [1p]+  - 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 '​stem'​. De asemenea, va trebui să reprezentaţi doar magnitudinea,​ folosind funcţia '​abs'​. [1p]
   - Reconstruiţi semnalul doar cu ajutorul acestor coeficienţi,​ folosind formula din curs: $s(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}}$. [1p]   - Reconstruiţi semnalul doar cu ajutorul acestor coeficienţi,​ folosind formula din curs: $s(t) = \sum_{k=-\infty}^{\infty}{c_{k}e^{j\frac{2 \pi kt}{T}}}$. [1p]
   - Reprezentaţi grafic noul semnal reconstruit şi comparaţi-l cu originalul. Pentru a plota semnalul va trebui să ajustaţi limita verticală a plot-ului, folosind funcţia '​ylim'​. Ajustaţi limita la ceva de genul $[-A-1, A+1]$. [1p]   - Reprezentaţi grafic noul semnal reconstruit şi comparaţi-l cu originalul. Pentru a plota semnalul va trebui să ajustaţi limita verticală a plot-ului, folosind funcţia '​ylim'​. Ajustaţi limita la ceva de genul $[-A-1, A+1]$. [1p]
-  - Folosiţi diferite valori pentru $c_{max}$ (de exemplu, 1, 5, 11, 49) şi observaţi diferenţa. Vedeţi cum, folosind din ce în ce mai mulţi coeficienţi,​ ne permitem să construim mai bine semnalul original. ​[Bonus 1p]+  - Folosiţi diferite valori pentru $k_{max}$ (de exemplu, 1, 5, 11, 49) şi observaţi diferenţa. Vedeţi cum, folosind din ce în ce mai mulţi coeficienţi,​ ne permitem să construim mai bine semnalul original.
  
 Graficele voastre trebuie să arate similar cu acestea: Graficele voastre trebuie să arate similar cu acestea:
Line 87: Line 78:
 {{:​ps:​laboratoare:​reconstructed_signal.png?​200|}} {{:​ps:​laboratoare:​reconstructed_signal.png?​200|}}
  
-/​*<​hidden>​*/​ +<​note> ​Semnalele reale au următoarea proprietatecoeficienții Fourier negativi sunt conjugații complexi ai celor pozitivi $c_{-k} ​c_{k}^*$. Puteți verifica pentru semnalul nostru dreptunghiular. De asemeneasemnalele pare s(-t) = s(t), au coeficienții complet realiobținând $c_{−k}=c_{k}$ iar semnalele impare s(-t) = -s(t), ​au coeficienții complet imaginariobținând $c_{−k}=−c_{k}$.</​note>​
-<​note ​tip> +
-Acest cod ar trebui să rezolve exerciţiul: +
-<code matlab>​ +
-3; +
-T = 100; +
-x = 1:T; +
-s = -A*ones(1T); +
-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>​*/​+
  
-  * Responsabil:​ [[ionutgorgos@gmail.com|Ionuţ Gorgos]] 
  
-  * Data publicării:​ 15.10.2017 
  
  
  
ps/laboratoare/03.1509287974.txt.gz · Last modified: 2017/10/29 16:39 by andrei.nicolicioiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0