设计数字低通IIR和FIR滤波器对语音信号进行滤波处理
- 文件介绍:
- 该文件为 doc 格式,下载需要 0 积分
- 设计数字低通IIR和FIR滤波器对语音信号进行滤波处理
一.实验目的
1.巩固所学的数字信号处理理论知识, 理解信号的采集、处理、传输、显示和存储过程;
2.综合运用专业及基础知识,解决实际工程技术问题的能力;
3.学习资料的收集与整理,学会撰写课程设计报告。
二.实验内容
1.选择一个语音信号作为分析的对象,对其进行频谱分析;
2.设计FIR和IIR数字滤波器, 并对加噪语音信号进行滤波,分析滤波后信号的时域和频域特征。
三.设计过程
1.原语音信号的时域,频域图
[y,fs,nbits]=wavread ('d:\1\liuwei.wav'); %IIR低通sound(y,fs,bits);
figure(1);
plot(y);%做原始语音信号的时域图形
title('原始语音信号');
xlabel('时间 t');
ylabel('音量 n');
figure(2);
y1=fft(y);
y1=fftshift(y1); %平移,是频率中心为0
derta_fs = fs/length(y); %设置频谱的间隔,分辨率
plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%画出原始语音信号的频谱图
title('原始语音信号的频谱');
2.低通滤波器的设计
设计指标:
fp=1000Hz,fs=1200Hz,As=100db ,Ap=1dB
(1)低通IIR滤波器
Ft=8000;
Fp=1000;
Fs=1200;
wp=2*pi*Fp/Ft;
ws=2*pi*Fs/Ft;
fp=2*Ft*tan(wp/2);
fs=2*Fs*tan(wp/2);
[n11,wn11]=buttord(wp,ws,1,50, 's');%求低通滤波器的阶数和截止频率
[b11,a11]=butter(n11,wn11, 's'); %求S域的频率响应的参数
[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换
[h,w]=freqz(num11,den11);
figure(3);
plot(w*8000*0.5/pi,abs(h));
legend('IIR低通滤波器','Location','NorthWest');
grid;
z11=filter(num11,den11,y);
sound(z11);
m11=fft(z11); %求滤波后的信号...