Documente Academic
Documente Profesional
Documente Cultură
Lucrarea 5
1. Scopul lucrării
2. Noţiuni teoretice
1
Universitatea din Pitesti Laborator DSP
2.2. Avantajele FN
2
Universitatea din Pitesti Laborator DSP
Y (z) Z { y [ n ]} M
HFIR(z)= = = ∑ bi z -i
X (z) Z {x [ n ]} i=0
Algoritm
h[n]=h∞[n]w[n]
unde w[n] este o funcţie fereastră de lungime”N”
H(ejω)=TFTD{h[n]}=TFTD{h∞[n]w[n]}
3
Universitatea din Pitesti Laborator DSP
2π
ωk = (k + α ), k = 0,1,... ( M − 1) / 2, M impar
M
k = 0,1,... ⎡⎣( M / 2 ) − 1⎤⎦ , M par
α = 0 sau 1/ 2
şi din aceste specificaţii se calculează răspunsul la impuls al filtrului sintetizat, care
să îndeplinească cerinţele de proiectare. Suportul teoretic al acestei metode îl
constituie Transformata Fourier Discretă.
Se impune identitate între răspunsul filtrului dorit şi cel sintetizat la
frecvenţele specificate şi se calculează răspunsul la impuls h[n].
i =1
Dorim să minimizăm Eroarea globală de aproximare prin alegerea
corespunzătoare a coeficienţilor b .
4
Universitatea din Pitesti Laborator DSP
h=0.4*sinc (0.4*(-25:25));
subplot(211);
stem(h);grid
[H,w]=freqz (h,1,512,2);
subplot(212);
plot(w/2,abs (H)), grid
5
Universitatea din Pitesti Laborator DSP
0.5
-0.5
0 10 20 30 40 50 60
1.5
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
unde:
n + 1 – reprezintă ordinul filtrului;
wn – frecvenţa de tăiere (are valori cuprinse între 0 şi 1 unde 1
corespunde jumătăţii frecvenţei de eşantionare – frecvenţa Nyquist);
‘ftype’ – tipul filtrului (‘high’, ‘stop’);
window – tip fereastră.
figure(1);
fd1=fir1(8,0.5,boxcar(9));fd2=fir1(9,0.5,boxcar(10));
subplot(321);stem(fd1);grid;subplot(322);stem(fd2);grid;
fh1=fir1(8,0.5,hamming(9));fh2=fir1(9,0.5,hamming(10));
subplot(323);stem(fh1);grid;subplot(324);stem(fh2);grid;
fb1=fir1(8,0.5,blackman(9));fb2=fir1(9,0.5,blackman(10))
subplot(325);stem(fb1);grid;subplot(326);stem(fb2);grid;
figure(2);
f=0:1/64:1-1/64;
Fd1=abs(fft(fd1,64)); Fd2=abs(fft(fd2,64));
6
Universitatea din Pitesti Laborator DSP
subplot(321);plot(f,Fd1);grid;
subplot(322);plot(f,Fd2);grid;
Fh1=abs(fft(fh1,64));Fh2=abs(fft(fh2,64));
subplot(323);plot(f,Fh1);grid;
subplot(324);plot(f,Fh2);grid;
Fb1=abs(fft(fb1,64)); Fb2=abs(fft(fb2,64));
subplot(325);plot(f,Fb1);grid;
subplot(326);plot(f,Fb2);grid;
2 2
1 1
0 0
0 0.5 1 0 0.5 1
1 1
0.5 0.5
0 0
0 0.5 1 0 0.5 1
1 1
0.5 0.5
0 0
0 0.5 1 0 0.5 1
7
Universitatea din Pitesti Laborator DSP
1 − z −N N −1 H[k ]
H (z ) = ∑ 2π
N k =0 jk
1− e N z −1
r=[1,1,0,1];N=4;
for k=0:N-1
ka=k+1;p(ka)=exp (j*k*2*pi/N);K(ka)=0;
end
[b,a]=residuez (r,p,k);
bb (1:N)=b (1:N);bbb=[1,0,0,0,-1];
B=conv (bbb,bb);A=N.*a;
H=deconv (B,A);freqz (B,A);
8
Universitatea din Pitesti Laborator DSP
0.5
-0.5
0 5 10 15 20 25 30 35
1.5
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
N=23;ft=6e3;fe=2e4;wn=ft/fe;inc=0.01;f=[0:inc:1];
Hd=[zeros(1,(2*wn)/inc+1) ones(1,(1-2*wn)/inc)];
subplot(313);
plot(f/2,Hd);grid;
b=fir2(N,f,Hd);[H,W]=freqz (b,1,fe);
subplot (311);
9
Universitatea din Pitesti Laborator DSP
-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
2000
-2000
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
1
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
unde:
n + 1 – reprezintă ordinul filtrului;
F0 – frecvenţa de tăiere [Hz] =0…Fs/2 iar (F0±df/2)⊂(0,Fs/2) ;
df – banda de tranziţie [Hz];
Fs – frecvenţa de eşantionare.
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
10
Universitatea din Pitesti Laborator DSP
b= remez( n, f, a, w)
unde:
n + 1 – reprezintă ordinul filtrului;
f, a – caracteristica de frecvenţă impusă;
w – vector pondere;
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
unde:
n + 1 – reprezintă ordinul filtrului;
f, a – perechi de vectori care specifică caracteristica de frecvenţă
prescrisă a filtrului;
w – vector pondere;
‘ftype’ – ‘hilbbert’, ‘differentiator’.
11
Universitatea din Pitesti Laborator DSP
clear,clc;
f=[0 0.3 0.4 0.6 0.7 1];
a=[0 0 1 1 0 0];
b=firls(17,f,a);
[h,w]=freqz(b,1,512);
plot(f,a,w/pi,abs(h));grid;
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Relaţia în timp discret care caracterizează structura unui filtru FIR este:
N
y[n] = ∑ x[n − i] ⋅ h[i]
i =0
unde :
y[n] – este semnalul de la ieşirea filtrului;
x[n] – este semnalul de la intrarea filtrului;
h[i] – sunt coeficienţii filtrului ;
N – este ordinul filtrului.
12
Universitatea din Pitesti Laborator DSP
13
Universitatea din Pitesti Laborator DSP
14
Universitatea din Pitesti Laborator DSP
s=sin(2*pi*f1/fe*n)+sin(2*pi*f2/fe*n)+sin(2*pi*f3/fe*n)
;
figure(2);
subplot(221);
15
Universitatea din Pitesti Laborator DSP
function conversie_Hexa(coef,numefis);
%aducerea in format 16.0
coef_i=round(32768*coef);
%rutina pentru aducerea numerelor negative
%in format CC2
for j=1:length(coef_i)
if coef_i(j)<0 coef_i(j)=coef_i(j)+2^16;
end
end
%Deschidere fisier
fis1=fopen(numefis,'w');
%scriererea de date in fisier
fwrite(fis1,coef_pt_fis');
%Inchidere fisier
fclose(fis1);
disp(' ');
disp(['Fisier de date : ' numefis ' ...creat. OK!
']);
16
Universitatea din Pitesti Laborator DSP
cntr=grad+1;
do bucla1 until ce;
bucla1: dm(i3,m3)=0; //initializeaza buffer-ul de esantioane cu 0
input_samples:
ena sec_reg; //utilizeaza bancul secundar de registrii
17
Universitatea din Pitesti Laborator DSP
5. Desfăşurarea lucrării
18