没有合适的资源?快使用搜索试试~ 我知道了~
首页MAtlab窗函数法和双线性变换法设计FIR滤波器和IIR滤波器-DSP.doc
MAtlab窗函数法和双线性变换法设计FIR滤波器和IIR滤波器-DSP.doc

MAtlab窗函数法和双线性变换法设计FIR滤波器和IIR滤波器-DSP.doc 这是我以前的DSP实验报告 鄙人愚钝,程序难免有不当之处,仅供参考 单声道音频信号不能上传,各位可以自己做一个 实验要求、 先采集一单声道音频信号(.wav)并用WAVREAD文件采样读取,并对其进行频谱分析。分别用窗函数法和双线性变换法设计低通、高通、带通三种FIR滤波器和IIR滤波器。用M文件使信号通过滤波器并对输出信号进行时域和频域分析。 实验步骤: (1) 1设计FIR滤波器:先把期望数字滤波器的指标通过预畸变转化成模拟滤波器的指标,再用MATLAB文件得到模拟滤波器的传输函数,再用双线性变换法得到数字滤波器的传输函数。 (2) 2设计IIR滤波器:先通过数字滤波器指标得到窗函数的阶数和系数,再得到数字滤波器的传输函数。 DSP.doc
资源详情
资源评论
资源推荐

DSP 综合实验报告
实验目的:
1.学会对语音信号的采集处理方法。
2.掌握用 MATLAB 对采样信号进行频谱分析基本原理。
3.学会用 MATLAB 设计 FIR 和 IIR 滤波器的基本方法:即双线性设计 IIR 数字
滤波器法和窗函数法设计 FIR 数字滤波器法。
实验要求:
先采集一单声道音频信号(.wav)并用 WAVREAD 文件采样读取,并对其进行频谱
分析。分别用窗函数法和双线性变换法设计低通、高通、带通三种 FIR 滤波器和 IIR 滤波
器。用 M 文件使信号通过滤波器并对输出信号进行时域和频域分析。
编程原理:
(1) 设计 FIR 滤波器:先把期望数字滤波器的指标通过预畸变转化成模拟滤波器的指标,
再用 MATLAB 文件得到模拟滤波器的传输函数,再用双线性变换法得到数字滤波
器的传输函数。
(2) 设计 IIR 滤波器:先通过数字滤波器指标得到窗函数的阶数和系数,再得到数字滤
波器的传输函数。
程序及结果图形:
1. 巴特沃兹---双线性变换法----设计低通 IIR DF:
(1) 程序:
[x,fs,bits]=wavread('G:song.wav');%读取并采样处理音频信号
disp(fs);

disp(bits);
N=length(x);
t=0:N-1;
subplot(2,1,1)
plot(t,x);% x 的时域波形
sound(x,11025);
k=0:N-1;
subplot(2,1,2)
X=fft(x);
plot(k,abs(X));%X 的频谱分析
Fs=input('fs=');%输入抽样频率
%双线性设计低通 DF
fp=2000;fs=3200;
WpLd=fp*2*pi/Fs;WsLd=fs*2*pi/Fs;
RpLd=1;RsLd=100;
Wap=2*Fs*tan(WpLd/2);
Was=2*Fs*tan(WsLd/2); %频率预畸变:低通 DF 指标变成低通 AF 指标
[NL,WnL]=buttord(Wap,Was,RpLd,RsLd,'s');%由 AF 指标得到 AF 阶数和三 DB 截止频率
disp(NL);
[ZL,RL,KL]=buttap(NL);%由阶数得到零极点
[BapL,AapL]=zp2tf(ZL,RL,KL);%由零极点得到分子分母
[bL,aL]=lp2lp(BapL,AapL,Wap);%由低通到低通的变换
[bzL,azL]=bilinear(bL,aL,Fs);%用双线性把低通 AF 分子分母变成低通 DF 分子分母
[HL,WL]=freqz(bzL,azL);%求 DF 的频响
figure(1)
plot(WL/pi,20*log10(abs(HL)))
y=filter(bzL,azL,x);%使 x 通过滤波器滤波输出为 y
figure(3);
plot(t,y);%分析 y 的时域波形
figure(4);
subplot(4,1,1)
plot(t,x);
subplot(4,1,2)
plot(k,abs(X));%X 的频谱分析
subplot(4,1,3)
plot(t,y);
subplot(4,1,4)
Y=fft(y);%对 y 进行时域分析

plot(k,abs(Y));%对 Y 进行频谱分析
sound(y,11025);
(2) 结果图形:
原信号的时域和频域分析

低通滤波器的特性
经过滤波器输出信号的时域和频域分析
2、巴特沃兹--双线性变换法---设计高通 IIR DF:
剩余16页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论5