xlabel('\\omega /\\pi' ); ylabel('Phase (rad)' ); title('Phase Response' ); figure(3);
UPhase = unwrap(Phase); plot(w2/pi,UPhase);grid;
xlabel('\\omega /\\pi' ); ylabel('Unwrapped Phase (rad)' ); title('Unwrapped Phase Response' );
增益响应: 相位响应:
从增益响应的图像中可以看出,此滤波器满足指标。N=37.
Q7.27 用remez设计具有如下指标的有限冲激响应带通滤波器。
程序: clear;
Fs1 = 1500; Fp1 = 1800; Fp2 = 3000; Fs2 = 4200; Fs = 12000; Dp = 0.1; Ds = 0.02;
F = [Fs1 Fp1 Fp2 Fs2]; A = [0 1 0];
DEV = [Ds Dp Ds];
[N,Wn,BTA,FILTYPE] = kaiserord(F,A,DEV,Fs); ws1 = 2*Fs1/Fs; wp1 = 2*Fp1/Fs; wp2 = 2*Fp2/Fs; ws2 = 2*Fs2/Fs;
F2 = [0 ws1 wp1 wp2 ws2 1]; A2 = [0 0 1 1 0 0];
wgts = max(Dp,Ds)*[1/Ds 1/Dp 1/Ds]; h = firpm(N,F2,A2,wgts);
disp('Numerator Coefficients are ' );disp(h); [g, w] = gain(h,[1]); figure(1);
plot(w/pi,g);grid; axis([0 1 -80 5]);
xlabel('\\omega /\\pi' ); ylabel('Gain in dB' ); title('Gain Response' );
w2 = 0:pi/511:pi;
Hz = freqz(h,[1],w2); figure(2);
Phase = angle(Hz);
plot(w2/pi,Phase);grid;
xlabel('\\omega /\\pi' ); ylabel('Phase (rad)' ); title('Phase Response' ); figure(3);
UPhase = unwrap(Phase); plot(w2/pi,UPhase);grid;
xlabel('\\omega /\\pi' ); ylabel('Unwrapped Phase (rad)' ); title('Unwrapped Phase Response' ); figure(4); hold on;
tmpY = 0:1.4/4:1.4;
tmpX = ones(1,length(tmpY))*wp1; plot(tmpX,tmpY, 'r-' );
tmpX = ones(1,length(tmpY))*wp2; plot(tmpX,tmpY, 'r-' );
tmpX = ones(1,length(tmpY))*ws1; plot(tmpX,tmpY, 'g-' );
tmpX = ones(1,length(tmpY))*ws2; plot(tmpX,tmpY, 'g-' );
tmpY = ones(1,length(w))*(Dp); plot(w/pi,tmpY, 'r-' );
tmpY = ones(1,length(w))*(Ds); plot(w/pi,tmpY, 'g-' ); plot(w2/pi,abs(Hz));grid; hold off;
增益响应:
该滤波器不满足设计指标。用估计滤波器的阶数N=73。
从增益响应的图像可以看出,kaiserord