Professional Documents
Culture Documents
Reenje
(a) Niz od 512 odbiraka kontinualnog signala x(t) moe se generisati na sledei nain:
t=(0:T:(Ns-1)*T)';
x=cos(2*pi*fc*t)+sqrt(P)*randn(size(t));
(b) fir1 je opti program za projektovanje FIR filtara propusnika niskih, visokih ili opsega frekvencija.
Sintaksa naredbe za propusnik opsega frekvencija projektovanog Hamingovim prozorom je
h=fir1(Nf, [wc1 wc2]);
gde je h impulsni odziv projektovanog filtra, dok wc1 i wc2 predstavljaju granine frekvencije filtra,
normalizovane na polovinu uestanosti odabiranja.
(c) Iz oblika impulsnog odziva filtra teko je zakljuiti neto o osobinama projektovanog filtra. Stoga se
raunaju i crtaju drugi parametri filtra, pre svega raspored nula i polova njegove funkcije prenosa. nule
se dobijaju kao korenovi funkcije prenosa, dok su svi polovi u koordinatnom poetku.
figure (2)
z=roots(h);
p=zeros(size(z));
zplane(z,p);
Sa karakteristike slabljenja je mnogo lake uoiti ponaanje filtra u nepropusnom opsegu, pa se ona i
ee koristi u prikazivanju frekvencijskog odziva filtra od amplitudske karakteristike.
FIR filtri se obino tako projektuju da imaju linearnu fazu, to je uz garantovanu stabilnost njihova
glavna prednost. I ovaj filtar ima linearnu fazu, u ta se moemo i uveriti:
fi= unwrap(angle(H));
tau=grpdelay(h,1,100);
figure (4)
subplot(211), plot(f,fi), xlabel('frekvencija [Hz]'),...
ylabel('Fazna karakteristika'), axis([0 fs/2 -40 10]);
subplot(212), plot(f,tau), xlabel('frekvencija [Hz]'),...
ylabel('Kasnjenje'), axis([0 fs/2 10 20]);
(e) Spektre emo raunati primenom DFT, a prikazaemo ih kao da se radi o spektrima kontinualnih
signala ije odbirke obraujemo:
X=fft(x);
Y=fft(y);
df=fs/Ns;
3
Zadatak br. 2
Dat je signal x(t), definisan izrazom
Reenje
clear all
close all
Ns=512; Nf=32;
f=10; P=2;
fs=1000; T=1/fs;
4
figure (2)
subplot(211), plot(f,Mbart), xlabel('frekvencija [Hz]')
ylabel('Amplitudska karakteristika'), axis([0 fs/2 0 1.2]);
title('FIR filtar, trougaoni prozor')
subplot(212), plot(f,abart), xlabel('frekvencija [Hz]')
ylabel('Slabljenje [dB]'), axis([0 fs/2 0 50]);
Zadatak br. 3
Dat je signal x(t), definisan izrazom,
x(t ) = cos(2 150t ) + n(t ) ,
gde je n(t) Gausov um snage 2=2.
Generisati diskretni signal {x(n)} koji sadri prvih 256 odbiraka signala x(t). Frekvencija odabiranja
iznosi fs=1000 Hz.
Projektovati optimalni FIR filtar propusnik opsega 29. reda graninih frekvencija propusnog opsega
fp1=100 Hz i fp2=200 Hz, kao i graninih frekvencija nepropusnog opsega fa1=50 Hz i fa2=250 Hz.
Izraunati i grafiki prikazati eljenu i realizovanu amplitudsku karakteristiku .
Izraunati i prikazati grupno kanjenje.
Izraunati diskretni signal {y(n)} koji se dobija na izlazu projektovanog FIR filtra kada se ovaj pobudi
signalom {x(n)} i grafiki prikazati amplitudski spektar signala na ulazu i izlazu projektovanog filtra.
Reenje
clear all
close all
Ns=256; Nf=29;
f=150; P=2;
fs=1000; T=1/fs;
t=(0:T:(Ns-1)*T)';
x=cos(2*pi*f*t)+sqrt(P)*randn(size(t));
b=remez(29,[0,50/500,100/500,200/500,250/500,1],[0,0,1,1,0,0]);
[H,F]=freqz(b,1,512,fs);
figure (1)
plot(F,abs(H),[0,50,100,200,250,500],[0,0,1,1,0,0],'r--')
xlabel('frekvencija [Hz]')
ylabel('Amplitudska karakteristika'), axis([0 fs/2 0 1.2]);
title('Optimalni FIR filtar')
[gd,F]=grpdelay(b,1,512,fs);
figure (2)
plot(F,gd)
xlabel('frekvencija [Hz]')
ylabel('Kasnjenje [ms]')
title('Optimalni FIR filtar')
Zadatak br. 4
Dat je signal x(t), definisan izrazom,
x(t ) = sin (2 100t ) + cos(2 300t ) .
Generisati diskretni signal {x(n)} koji sadri prvih 512 odbiraka signala x(t). Frekvencija odabiranja
iznosi fs=1000 Hz.
Projektovati FIR filtar propusnik niskih frekvencija 32. reda granine frekvencije fg=200 Hz primenom
Hamingovog prozora. Grafiki prikazati impulsni odziv projektovanog filtra.
Izraunati diskretni signal {y(n)} koji se dobija na izlazu projektovanog filtra kada se ovaj pobudi
signalom {x(n)}.
Grafiki prikazati signal na ulazu i izlazu projektovanog filtra.
Reenje
clear all
close all
Ns=512; Nf=32;
f1=100; f2=300; P=2;
fs=1000; T=1/fs;
fg=200;
t=(0:T:(Ns-1)*T)';
8
y=filter(h,1,x);
figure (2)
subplot(211), plot(t,x)
ylabel('x'),title('Signal na ulazu')
axis([0,0.511,-2,2])
subplot(212), plot(t,y),...
xlabel('t [ms]'), ylabel('y')
title('Signal na izlazu')
axis([0,0.511,-2,2])
Zadatak br. 5
Reenje
clear all
close all
fp=0.35;
fa=0.46;
[Nf,fo,mo,w] = remezord( [fp,fa], [1 0], [0.025 0.01]);
Nf
Nf =
30
h = remez(Nf,fo,mo,w);
[H,f]=freqz(h,1,1000,1);
M=abs(H);
a=-20*log10(M);
figure (1)
subplot(211), plot(f,M), xlabel('frekvencija [Hz]')
ylabel('Amplitudska karakteristika')
grid
axis([0 0.5 0 1.2]);
subplot(212), plot(f,a), xlabel('Normalizovana frekvencija ')
ylabel('Slabljenje [dB]')
grid
axis([0 0.5 0 60]);
fi= unwrap(angle(H));
figure (2)
subplot(211), plot(f,fi), xlabel('Normalizovana frekvencija')
title('Fazna karakteristika'), axis([0 0.5 -30 10]);
10
11