Extras din proiect
PROBLEMA 8
a) Generati un semnal sinusoidal de frecventa F=900Hz, amplitudine 3, redresat dublu
alternanta, | s(t) |, cu durata de generare 0.05 s, esantionat cu frecventa de esantionare Fs=16
kHz.
o Reprezentati grafic cu functia plot semnalul in timp absolut (axa timp in milisecunde).
o Reprezentati grafic cu functia stem semnalul esantionat (axa timp in functie de n).
b) Calculati TFD in N=256 puncte puncte a semnalului generat.
o Reprezentati spectrul de amplitudini in frecvente normate.
o Reprezentati spectrul de amplitudini in frecvente nenormate [Hz].
Se vor preciza in grafice titlul si marimile reprezentate pe axele x si y.
c) Reluati punctul b) pentru N=320. Explicati diferentele intre spectrele obtinute la punctele
b) si c).
d) Realizati o functie de calcul a componentei continue a semnalului si reprezentati grafic, in
timp absolut, componenta continua pe acelasi grafic cu semnalul.
Cod Complet problema
clc;
clear all;
% subpunctul a)
Fs=16000;
F=900;
t_max=5*10^(-2);% durata semnalului in 0.05ms
N=t_max*Fs;
n=0:N-1;
f=F/Fs;
T=1/f;
t = 0:T:t_max-T;
w=2*pi*f;
s=abs(3*sin(2*pi*f*n));
figure(1),plot(n,s), title('Semnalul in timp absolut'),xlabel('Timp[ms]'),grid;
figure(2),stem(n,s), title('Semnalul esantionat'), xlabel('Timpul in functie de n'),grid;
% subpunctul b)
N_fft=256;
S=fft(s,N_fft);
w=-pi:2*pi/N_fft:pi-2*pi/N_fft;
figure(3),plot(w/(2*pi),fftshift(abs(S))),title('Spectrul de amplitudini in frecvente normate'),ylabel('amplitudine[V]'), xlabel('F/Fs[adimensional]'),grid;
figure(4),plot(w/(2*pi)*Fs,fftshift(abs(S))),title('Spectrul de amplitudini in frecvente nenormate'),ylabel('amplitudine[V]'), xlabel('F[HZ]'),grid;
% subpunctul c)
N_fft=320;
S=fft(s,N_fft);
w=-pi:2*pi/N_fft:pi-2*pi/N_fft;
figure(5),plot(w/(2*pi),fftshift(abs(S))),title('Spectrul de amplitudini in frecvente normate'),ylabel('amplitudine[V]'), xlabel('F/Fs [adimensional]'),grid;
figure(6),plot(w/(2*pi)*Fs,fftshift(abs(S))),title('Spectrul de amplitudini in frecvente nenormate'),ylabel('amplitudine[V]'), xlabel('F[HZ]'),grid;
% subpunctul d)
A0=sum(s)/N;
A0=ones(1,N)
figure(7), plot(n,s,n,A0),title('Componenta continua'),grid;
a) Generati un semnal sinusoidal de frecventa F=900Hz, amplitudine 3, redresat dublu
alternanta, | s(t) |, cu durata de generare 0.05 s, esantionat cu frecventa de esantionare Fs=16
kHz.
clc;
clear all;
% subpunctul a)
Fs=16000;
F=900;
t_max=5*10^(-2);% durata semnalului in 0.05ms
N=t_max*Fs;
n=0:N-1;
f=F/Fs;
w=2*pi*f;
s=abs(3*sin(2*pi*f*n));
Reprezentati grafic cu functia plot semnalul in timp absolut (axa timp in milisecunde).
figure(1),plot(n,s), title('Semnalul in timp absolut'), xlabel('Timp[ms]'),grid;
Preview document
Conținut arhivă zip
- Prelucrarea digitala a semnalelor.docx