用双线性变换法设计BUTTERWORTH低通IIR数字滤波器
发布时间:2013-05-04 来源:文档文库
小
中
大
字号:
用双线性变换法设计BUTTERWORTH低通IIR数字滤波器:
wp=0.2*2*pi; ws=0.3*2*pi; rp=1; rs=25; fs=1;
%通带边界频率 %阻带截止频率 %通带最大衰减 %阻带最小衰减 %采样频率 %采样周期 %预畸变校正 %预畸变校正
%创建归一化的BUTTERWORTH模拟低通原型滤波器 %把滤波器零极点模型转化为传递函数模型
%把模拟滤波器原型转换成截止频率为Wn的模拟低通滤波器 %用双线性变换法实现模拟滤波器到数字滤波器的转换 %绘制频率响应曲线
ts=1/fs;
wp2=2*fs*tan(wp/2*ts; ws2=2*fs*tan(ws/2*ts; [z,p,k]=buttap(n
[n,wn]=buttord(wp2,ws2,rp,rs,'s' %带入经预畸变后获得的归一化模拟频率参数 [bap,aap]=zp2tf(z,p,k [b,a]=lp2lp(bap,aap,wn [bz,az]=bilinear(b,a,fs; [h,w]=freqz(bz,az; subplot(2,1,1; plot(w/pi,abs(h; grid on xlabel('频率'; ylabel('幅度'; subplot(2,1,2;
plot(w/pi,20*log10(abs(h; grid on xlabel('频率'; ylabel('幅度';
用窗口法设计一个线性相位FIR低通滤波器,采用汉宁窗设计:
wp=0.2*pi; ws=0.3*pi;
%通带边界频率 %阻带截止频率 %过渡带宽 %求出N值 %求出截止频率
wdelta=ws-wp; N=ceil(8*pi/wdelta; wc=(0.2+0.3*pi/2; r=(N-1/2; n=0:N-1;
%求出汉宁窗的表达式 %滤波器加窗
hdn=sin(wc*(n-r./[pi*(n-r]; %理想的单位冲激响应 wn=hanning(N; h=hdn.*wn'; H=fft(h,512; w=2*[0:511]/512
plot(w,20*log10(abs(H;
用MATLAB实现时间抽选的基2-FFT算法: function y=myditfft(x %本程序对输入序列x实现时间抽选的基2-FFT,
%点数取大于等于x长度的2的幂次
m=nextpow2(x;N=2^m; %求x的长度对应的2的最低幂次m if length(x
x=[x,zeros(1,N-length(x];