dsp课程设计报告正文
时间:2025-06-23
时间:2025-06-23
课程设计资料
语音信号滤波去噪——使用脉冲响应不变
法设计的巴特沃斯滤波器
摘 要 本课程设计主要运用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。
关键词 课程设计;滤波去噪;巴特沃斯滤波器;脉冲响应不变法;MATLAB
1 引 言
本课程设计主要利用麦克风采集一段8000Hz,8k的单声道语音信号,并绘制波形观察其频谱,再用MATLAB利用脉冲响应不变法设计一个巴特沃斯滤波器,将该语音信号进行滤波去噪处理。
1.1 课程设计目的
《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB的结合后的基本实验以后开设的。本课程设计的目的是为了让学生综合数字信号处理和MATLAB并实现一个较为完整的小型滤波系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。
1.2 课程设计的要求
(1)滤波器指标必须符合工程设计。
(2)设计完后应检查其频率响应曲线是否满足指标。
课程设计资料
(3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告。
2 设计原理
用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。
2.1 IIR滤波器 2.2 巴特沃斯滤波器
2.3 脉冲响应不变法
3.设计步骤
3.1设计流程图
语音信号滤波去噪——使用脉冲不变响应法设计的巴特沃斯滤波器的设计流程如图3.1所示:
课程设计资料
图3.1 脉冲响应不变法巴特沃斯滤波器对语音信号去噪流程图
3.2语言信号的采集
利用PC 机上的录音软件进行采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“大萝卜”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“speech”保存入g :\ MATLAB \ work 中。可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS 操作系统规定的声音文件存的标准。然后,通过文件中的属性,将此录音转换成8000Hz,8k的单声道语音信号。
图3.2 语音信号设置
3.3语音信号的频谱分析
利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。
[y,fs,nbits]=wavread(file)
功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 接下来,对语音信号speech.wav进行采样。其程序如下:
课程设计资料
[y,fs,nbits]=wavered (‘speech.wav’);
然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:
Xk=fft(xn,N)
域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。
在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。其程序如下:
[y,fs,nbits]=wavread('44.wav'); n=length(y); Y=fft(y,n);
subplot(2,1,1);plot(y);title('原始信号波形');
subplot(2,1,2);plot(abs(Y));title('原始信号频谱');
图3.3 时域波形
课程设计资料
图3.4 频域幅度谱
图3.5 频域幅度谱和相位谱
课程设计资料
3.4滤波器设计
将数字滤波器的设计指标设为通带截止频率fb=1100HZ,阻带频率fc=1200HZ,通带波纹Ap=1dB,阻带波纹As=20dB,要求确定H(z)。设计步骤如下:
(1)确定所需类型数字滤波器的技术指标。
(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为Ω=2/T tan(0.5ω)
(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。 (4)设计模拟低通滤波器。
(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。
(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。 程序:
Fp=1200;%阻带截止频率 Fs=1100;%通带截止频率 Ft=8000;%采集频率 As=20;%通带波纹Ap=1 Ap=1;%阻带波纹As=20 wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2); fs=2*Ft*tan(ws/2);
[n,wn]=buttord(wp,ws,Ap,As,'s'); %求低通滤波器的阶数和截止频率 [b,a]=butter(n,wn,'s'); %求S域的频率响应的参数 [num,den]=bilinear(b,a,1); %双线性变换实现S域到Z域的变换 [h,w]=freqz(num,den); %根据参数求出频率响应
plot(w*fs/(2*pi),abs(h)); grid;
xlabel('频率/Hz'); ylabel('频率响应幅度'); title('IIR低通滤波器 …… 此处隐藏:1093字,全部文档内容请下载后查看。喜欢就下载吧 ……