Synteza i analiza filtru NOI (górnoprzepustowego)
Mplik do kreślący charakterystyki:
wga=1.3888
fgc=260;
fp=1600;
Tp=1/fp;
wgc=fgc*(2*pi);
B=wga*tan(wgc*Tp/2);
L=[1.43 -2.88 1.43];
M=[(B^2+1.4256*B+1.5162) (2*B^2-2*1.5162) (B^2-1.4256*B+1.5162)];
[H W]=freqz(L,M, 512,fp);
plot(W, abs(H)); %char amp-czestotliwosciowa(widmowa);
grid on;
%char fazowa;
P=angle(H)*180/pi;
figure(2)
plot(W,P);
grid on;
figure(3)
phasedelay(L,M,512,fp); %char opoznienia fazy;
%odpowiedz na skok jednostkowy;
figure(4)
[o ts]= stepz(L,M);
plot(ts,o);
grid on;
%odpowiedz na impuls;
figure(5);
impz(L,M);
grid on;
Charakterystyka widmowa:
Charakterystyka fazowa:
Charakterystyka opóźnienia fazowego:
Chakaterystyka odpowiedzi na skok jednostkowy:
Charakterystyka odpowiedzi na impuls:
Analiza filtu SOI
fodc=350;
fp=1100+100*5;
f1=50;
N=fp/f1;
H=[zeros(1,7), exp(-j*(7:15)*pi*(N-1)/N), zeros(1,1),exp(j*(N-(17:25))*pi*(N-1)/N),zeros(1,6)];
figure(15)
stem(0:N-1,abs(H));
Charakterystyka odpowiedzi impulsowej:
impz(L,1);
Charakterystyka widmowa:
M=1;
[H W]=freqz(L,M, 512,fp);
plot(W, abs(H)); %char amp-czestotliwosciowa(widmowa);
grid on;
Charakterystyka widmowa po dodaniu okna blackmana:
M=1;
L=L.*blackman(N)
[H W]=freqz(L,M, 512,fp);
plot(W, abs(H)); %char amp-czestotliwosciowa(widmowa);
grid on;
Charakterystyka częstotliwościowa:
P=angle(H)*180/pi;
plot(W,P);
Opóźnienie fazowe
phasedelay(L,M,512,fp)
Charakterystyka odpowiedzi na skok:
[o ts]= stepz(L,M);
plot(ts,o)
Filtracja
Sygnał zaszumiony
t=0:1/fp:0.12;
syg=6*sin(100*pi*t)+3*sin(2*pi*(fodc+150)*t);
plot(t,syg)
Transformata Fouriera:
Le=length(t)-1;
syg1=abs(fft(syg)/(Le/2));
ff=0:fp/Le:fp;
plot(ff,syg1);
grid on;
Filtr NOI
wga=1.3888
fgc=260;
fp=1600;
Tp=1/fp;
wgc=fgc*(2*pi);
B=wga*tan(wgc*Tp/2);
L=[1.43 -2.88 1.43];
M=[(B^2+1.4256*B+1.5162) (2*B^2-2*1.5162) (B^2-1.4256*B+1.5162)];
syg2F=filter([1.43 -2.88 1.43],[(B^2+1.4256*B+1.5162) (2*B^2-2*1.5162) (B^2-1.4256*B+1.5162)],syg);
figure(20)
plot(t,syg2F);
grid on;
Transformata Fouriera sygnału przefiltrowanego:
syg1F1=abs(fft(syg2F))/(Le/2);
plot(ff,syg1F1);
grid on;
Filtrowanie filtrem SOI
fodc=350;
fp=1100+100*5;
f1=50;
N=fp/f1;
H=[zeros(1,7), exp(-j*(7:15)*pi*(N-1)/N), zeros(1,1),exp(j*(N-(17:25))*pi*(N-1)/N),zeros(1,6)];
L=ifft(H);
t=0:1/fp:0.12;
syg=6*sin(100*pi*t)+3*sin(2*pi*(fodc+150)*t);
syg1F=filter(L,M,syg);
plot(t,syg1F);
grid on;
Transformata Fouriera sygnału przefiltrowanego:
syg1F1=abs(fft(syg1F))/(Le/2);
plot(ff,syg1F1);
grid on;
WNIOSKI