专业
通信工程
姓名
张小芳
学号
1323010214
第四章例题(第三次)
Contents
例4-32 已知某模拟滤波器的系统函数 求该模拟滤波器的频率响应
例4-33 已知某滤波器的系统函数 求该滤波器的频率响应
例4-34 设系统差分方程为y(n)-0.8*y*(n-1)=x(n)
求该系统对信号x(n)=0.8^n*R32(n)的响应
例4-35 已知矩形脉冲信号,求频谱
例4-36 求傅里叶变换
例4-37 计算卷积
例4-38 用冲激响应不变法求出Butterworth数字滤波器的系统函数
例4-39 用双线性变换法求出Butterworth低通滤波器的传递函数
例4-40 设计一个数字信号处理系统 它的采样率为Fs=100Hz
希望在该系统中设计一个Butterworth型高通数字滤波器 使其通带中允许的最大衰减为0.5dB 阻带内的最小衰减为40dB
通带上限临界频率为30Hz 通带下限临界频率为40Hz
例4-41 冲激响应不变法设计低通数字滤波器
例4-42 设计带阻数字滤波器
例4-43 设计一个带通滤波器
例4-44
用矩形窗设计线性相位FIR低通滤波器,该滤波器的通带截止频率wc=pi/4,单位脉冲响h(n)的长度M=21.并绘出h(n)及其幅度响应特性曲线。
例4-45 设计一个24阶FIR带通滤波器,通带为0.30
例4-46 用窗帘函数设计一个多通带滤波器
例4-47 用频率采样法设计一个具有线性相位的低通滤波器
例4-48 用频率抽样法设计一个FIR低通滤波器 截止频率为0.5pi 频率抽样点数为33
例4-49 用fir2设计一个38阶的多带FIR滤波器
例4-50 用fircls设计一个带通滤波器
例4-51 用fircls1设计低通FIR数字滤波器归一化截止频率为0.3 通带波纹为0.02
阻带波纹为0.008
例4-52 设计一个特殊滤波器
其频率响应在频带【0,0.4】内从1.0线性降到0.5,在【0.7,0.9】内恒为1.0
例4-53 截止频率为1500HZ 阻带的起始频率为2000HZ 通带波纹的最大允许值0.01 阻带的最大允许值0.1
采样频率为8000HZ
例4-32 已知某模拟滤波器的系统函数 求该模拟滤波器的频率响应
B=1;
A=[1,2.613,3.4142,2.6131,1];
W=0:0.1:2*pi*5;
figure(1);
freqs(B,A,W);
title('zhang 14')
例4-33 已知某滤波器的系统函数 求该滤波器的频率响应
B=[1 0 0 0 0 0 0 0 -1];
A=1;
figure(2);
freqz(B,A)
title('zhang 14')
例4-34 设系统差分方程为y(n)-0.8*y*(n-1)=x(n)
求该系统对信号x(n)=0.8^n*R32(n)的响应
B=1;A=[1,-0.8];
n=0:31;x=0.8.^n;
y=filter(B,A,x);
figure(3);
subplot(2,1,1);stem(x)
subplot(2,1,2);stem(y)
title('zhang 14')
例4-35 已知矩形脉冲信号,求频谱
%取时间分隔的点数N=256
%需求的频谱宽度wf=40
%需求的频谱点数Nf=64
tf=10;
N=256;
wf=40;
Nf=64;%N=input('取时间分隔的点数N=');
dt=10/N;
t=[1:N]*dt;
f=[ones(1,N/2),zeros(1,N/2)];
%wf=input('需求的频谱宽度wf=');
%Nf=input('需求的频谱点数Nf=');
w1=linspace(0,wf,Nf);dw=wf/(Nf-1);
F1=f*exp(-j*t'*w1)*dt;
w=[-fliplr(w1),w1(2:Nf)];
F=[fliplr(F1),F1(2:Nf)];
figure(4);
subplot(1,2,1),plot(t,f,'linewidth',1.5),grid on;
set(gcf,'color','w')
axis([0,10,0,1.1])
subplot(1,2,2),plot(w,abs(F),'linewidth',1.5),grid on;
%取时间分隔的点数N=64
%需求的频谱宽度wf=40
%需求的频谱点数Nf=256
tf=10;
N=64;
wf=40;
Nf=256;%N=input('取时间分隔的点数N=');
dt=10/N;
t=[1:N]*dt;
f=[ones(1,N/2),zeros(1,N/2)];
%wf=input('需求的频谱宽度wf=');
%Nf=input('需求的频谱点数Nf=');
w1=linspace(0,wf,Nf);dw=wf/(Nf-1);
F1=f*exp(-j*t'*w1)*dt;
w=[-fliplr(w1),w1(2:Nf)];
F=[fliplr(F1),F1(2:Nf)];
figure(5);
subplot(1,2,1),plot(t,f,'linewidth',1.5),grid on;
set(gcf,'color','w')
axis([0,10,0,1.1])
subplot(1,2,2),plot(w,abs(F),'linewidth',1.5),grid on;
title('zhang 14')
例4-36 求傅里叶变换
n=0:10;
x=(0.9*exp(j*pi/3)).^n;
k=-200:200;
w=(pi/100)*k;
X=x*(exp(-j*pi/100)).^(n'*k);
magX=abs(X);
angX=angle(X);
figure(6);
subplot(211);plot(w/pi,magX);grid
axis([-2,2,0,8])
xlabel('frequency in pi units');ylabel('|X|');
title('Magnitude Part');
subplot(212);plot(w/pi,angX/pi);grid
axis([-2,2,-1,1])
xlabel('frequency in pi units');ylabel('Radians/pi');
title('Angle Part');
例4-37 计算卷积
xn=sin(0.4*[1:15]);
hn=0.9.^(1:20);
tic,
yn=conv(xn,hn);
toc;
M=length(xn);
N=length(hn);
nx=1:M;nh=1:N;
L=pow2(nextpow2(M+N-1));
tic,
Xk=fft(xn,L);
Hk=fft(hn,L);
Yk=Xk.*Hk;
yn=ifft(Yk,L);
toc;
figure(7);
subplot(2,2,1),stem(nx,xn,'.');ylabel('x(n)');
subplot(2,2,2),stem(nh,hn,'.');ylabel('h(n)');
subplot(2,1,2);
ny=1:L;
stem(ny,real(yn),'.');ylabel('y(n)');
title('zhang 14')
Elapsed time is 0.000125 seconds.
Elapsed time is 0.000122 seconds.
例4-38 用冲激响应不变法求出Butterworth数字滤波器的系统函数
num=[1];
den=[1,sqrt(5),2,sqrt(2),1];
[num1,den1]=impinvar(num,den)
num1 =
0.0000
0.0942 0.2158 0.0311
den1 =
1.0000
-2.0032 1.9982 -0.7612
0.1069
例4-39 用双线性变换法求出Butterworth低通滤波器的传递函数
num=[1];
den=[1,sqrt(3),2,sqrt(2),1];
[num1,den1]=bilinear(num,den,1)
num1 =
0.0240
0.0960 0.1439 0.0960 0.0240
den1 =
1.0000
-1.9685 2.0631 -0.9103
0.1995
例4-40 设计一个数字信号处理系统 它的采样率为Fs=100Hz
希望在该系统中设计一个Butterworth型高通数字滤波器 使其通带中允许的最大衰减为0.5dB 阻带内的最小衰减为40dB
通带上限临界频率为30Hz 通带下限临界频率为40Hz
wp=30*2*pi;
ws=40*2*pi;
rp=0.5;
rs=40;
Fs=100;
[N,Wc]=buttord(wp,ws,rp,rs,'s');
[Z,P,K]=buttap(N);
[A,B,C,D]=zp2ss(Z,P,K);
[AT,BT,CT,DT]=lp2hp(A,B,C,D,Wc);
[num1,den1]=ss2tf(AT,BT,CT,DT);
[num2,den2]=bilinear(num1,den1,100);
[H,W]=freqz(num2,den2);
figure(8);
plot(W*Fs/(2*pi),abs(H));grid;
xlabel('频率/Hz');ylabel('幅值');
title('zhang 14')
例4-41 冲激响应不变法设计低通数字滤波器
wp=300*2*pi;
ws=400*2*pi;
rp=0.3;
rs=80;
Fs=1000;
[N,Wc]=cheb1ord(wp,ws,rp,rs,'s');
[Z,P,K]=cheb1ap(N,rp);
[A,B,C,D]=zp2ss(Z,P,K);
[AT,BT,CT,DT]=lp2lp(A,B,C,D,Wc);
[num1,den1]=ss2tf(AT,BT,CT,DT);
[num2,den2]=impinvar(num1,den1,Fs);
[H,W]=freqz(num2,den2);
figure(9);
plot(W*Fs/(2*pi),abs(H));grid;
xlabel('频率/Hz');ylabel('幅值');
title('zhang 14')
例4-42 设计带阻数字滤波器
wp1=650;wp2=850;ws1=700;ws2=800;rp=0.1;rs=50;Fs=2000;
wp=[wp1,wp2]/(Fs/2);ws=[ws1,ws2]/(Fs/2);
[N,wc]=ellipord(wp,ws,rp,rs,'z');
[num,den]=ellip(N,rp,rs,wc,'stop');
[H,W]=freqz(num,den);
plot(W*Fs/(2*pi),abs(H));grid;
xlabel('频率/Hz');ylabel('幅值');
title('zhang 14')
例4-43 设计一个带通滤波器
wp1=60;wp2=80;
ws1=55;ws2=85;
rp=0.5;
rs=60;
Fs=200;
wp=[wp1,wp2]/(Fs/2);
ws=[ws1,ws2]/(Fs/2);
[N,wc]=cheb1ord(wp,ws,rp,rs,'z');
[num,den]=cheby1(N,rp,wc);
[H,W]=freqz(num,den);
figure(11);
plot(W*Fs/(2*pi),abs(H));grid;
xlabel('频率/Hz');ylabel('幅值');
title('zhang 14')
例4-44
用矩形窗设计线性相位FIR低通滤波器,该滤波器的通带截止频率wc=pi/4,单位脉冲响h(n)的长度M=21.并绘出h(n)及其幅度响应特性曲线。
M=21;wc=pi/4;
n=0:M-1;r=(M-1)/2;
nr=n-r+eps*((n-r)==0);
hdn=sin(wc*nr)/pi./nr;
if rem(M,2)~=0,hdn(r+1)=wc/pi;end;
wn1=boxcar(M);
hn1=hdn.*wn1';
subplot(2,1,1);stem(n,hn1,'.');line([0,20],[0,0]);
xlabel('n');ylabel('h(n)');title ('矩形窗设计的h(n)');
hw1=fft(hn1,512);w1=2*[0:511]/512;
subplot(2,1,2);plot(w1,20*log10(abs(hw1)))
xlabel('w/pi');ylabel('幅度');title ('幅度特性');
title('zhang 14')
例4-45 设计一个24阶FIR带通滤波器,通带为0.30
wc=[0.30 0.70];
b=fir1(24,wc);
freqz(b);
figure(12);
stem(b,'.');
line([0,25],[0,0]);xlabel('n');ylabel('h(n)');
title('zhang 14')
例4-46 用窗帘函数设计一个多通带滤波器
wc=[0.2,0.4,0.6,0.8];
b=fir1(40,wc,'dc-1');
freqz(b);
figure(13)
stem(b,'.');
line([0,45],[0,0]);xlabel('n');ylabel('h(n)');
title('zhang 14')
例4-47 用频率采样法设计一个具有线性相位的低通滤波器
N=33;
H=[ones(1,9),zeros(1,15),ones(1,9)];
%H(1,10)=0.5;H(1,24)=0.5;
k=0:(N-1)/2;k1=(N+1)/2:(N-1);
A=[exp(-j*pi*k*(N-1)/N),exp(j*pi*(N-k1)*(N-1)/N)];
HK=H.*A;
hn=ifft(HK);
freqz(hn,1,256);
figure(14);
stem(real(hn),'.');
line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n)');
title('zhang 14')
例4-48 用频率抽样法设计一个FIR低通滤波器 截止频率为0.5pi 频率抽样点数为33
N=32;F=[0:1/32:1];
A=[ones(1,16),zeros(1,N-15)];
B=fir2(N,F,A);
freqz(B);
figure(15);STEM(B,'.');
line([0,35],[0,0]);
xlabel('n');ylabel('h(n)');
title('zhang 14')
例4-49 用fir2设计一个38阶的多带FIR滤波器
f=0:0.002:1;
m(1:201)=1;m(202:301)=0;m(302:351)=0.5;
m(352:401)=0;m(402:501)=1;
plot(f,m,'k:');hold on
b=fir2(38,f,m);
[h,f1]=freqz(b);
f1=f1./pi;
plot(f1,abs(h));legend('理想滤波器','设计滤波器');
xlabel('归一化频率');ylabel('幅值');
title('zhang 14')
例4-50 用fircls设计一个带通滤波器
N=51;
f=[0 0.4 0.8 1];a=[0 1 0];
up=[0.02 1.02 0.01];
lo=[-0.02 0.98 -0.01];
b=fircls(N,f,a,up,lo);
freqz(b);
t=0:1/600:1;
sig=sin(2*pi*30*t)+0.5*sin(2*pi*180*t)+0.2*sin(2*pi*270*t);
newsig=fftfilt(b,sig);
ft=t(300:333);ns=newsig(300:333);
zns=interp(ns,8);znt=interp(ft,8);
figure(20);plot(znt,zns);
title('zhang 14')
例4-51 用fircls1设计低通FIR数字滤波器归一化截止频率为0.3 通带波纹为0.02
阻带波纹为0.008
N=55;
wo=0.3;
dp=0.02;
ds=0.008;
h=fircls1(N,wo,dp,ds);[H,f]=freqz(h);
plot(f/pi,abs(H));
xlabel('归一化频率');
ylabel('幅度');
wp=0.28;
ws=0.32;
k=10;
h1=fircls1(N,wo,dp,ds,wp,ws,k);
[H1,f1]=freqz(h1);
figure;,plot(f1/pi,abs(H1));
xlabel('归一化频率');
ylabel('幅度');
title('zhang 14')
例4-52 设计一个特殊滤波器
其频率响应在频带【0,0.4】内从1.0线性降到0.5,在【0.7,0.9】内恒为1.0
b=firls(30,[0,0.4,0.7,0.9],[1.0,0.5,1.0,1.0]);
freqz(b);
title('zhang 14')
例4-53 截止频率为1500HZ 阻带的起始频率为2000HZ 通带波纹的最大允许值0.01 阻带的最大允许值0.1
采样频率为8000HZ
[n,fo,mo,w]=remezord([1500,2000],[1,0],[0.01,0.1],8000);
b=remez(n,fo,mo,w);freqz(b);
title('zhang 14')
Published with MATLAB® 7.11