基于Matlab的数字滤波器设计研究型实验探讨
1引言
"数字信号处理"是电子信息专业的一门理论和实践性都很强的主干课程,该课程一般安排在三、四年级,学生在学习该课程时,普遍感到概念抽象,公式繁多。因此,如果在实验课程中让学生动手动脑进行一些综合性的研究型实验,则可帮助学生理解与掌握课程中的基本概念,基本分析方法,地方学生的动手能力,科研能力和创新能力。数字信号处理实验可分为基于dsp的硬件实验和基于matlab的软件仿真实验,以数字滤波器设计软件仿真实验为例进行研究型实验探讨。
2 研究型实验特点
研究型实验要求学生带着问题测取数据,查阅资料,摸索实验规律,得出结论,这种实验是一种开放型的,其完成的过程接近实际科研探索过程。其特点是,教师提出实验课题和实验项目,实验室提供条件,学生自行推证有关理论,自行确定实验方案,写出完整的实验报告,学生通过实验,能加深对课程的理解,提高综合运用所学知识解决实际问题的能力,得出科学研究的前期训练。
3 数字滤波器设计研究型实验
该实验项目的构想是,首先采集含噪信号,例如语音信号或人体心电图信号,根据含噪信号的频谱,用窗函数法或双线性变换法设计相应的数字滤波器进行滤波,得出滤波前后的频谱,分析信号的变化,最后设计一个信号处理系统界面。以对含噪语音信号的处理为例,给出了实验的过程和结果。
3.1 采集语音信号
利用计算机windows下的录音机设备,可以采集语音信号并采样,得出数据文件hysy.wav在matlab的搜索路径下,键入:
[x,fs,nbits] =wavread(′hysywdx.wav′);
得到声音数据变量x,同时也罢x的采样频率fs=8khz和数据位nbits=8bit放进了matlab的工作空间。下面构造干扰信号:cl=10※sin(2※pi※2000※t);
把声音数据变量x和干扰信号变量c1相加得含有噪声的语音信号x1并播放:
sound(x1,fs);
通过扬声器可以明显听到"衡阳师院"的声音下伴随较尖锐的干扰啸叫声。图1(b)是伴有噪声的语音信号x1的频谱。x1的频谱在2000hz处有一高峰,这正是干扰所造成的。
3.2设计数字滤波器
根据待处理语音信号x1的特点,应该设计数字带阻滤波器进行滤波处理,给出数字带阻滤波器归一化的性能指标:
fo=2000/4000;fc=100/4000
ws=[fo-0.5※fc fo+0.5※fc];wp=[fo-fc fo+fc];
rp=1;rs=30;
可以采用fir或iir数字滤波器来实现,利用matlatwb软件,采用iir数字滤波器设计方法,实现带阻滤波器的设计、程序如下:
[n,wc]=buttord(wp,ws,rp,rs);=求出巴特沃斯数字滤波器的阶数频率参数
[b,a]=butter(n,wc,stop);%设计带阻滤波器的系数
[h,w]=freqz(b,a,fs);
3.3 用滤波器对含噪语音信号进行滤波
利用设计的带阻滤波器对采集的语音信号x1进行滤波并进行fft变换:
x2=filter(b,a,xl);
y2=fft(x2,fs)
sound(x2,fs)
通过扬声器重播经过滤波的语音信号,可以听到不含噪声的"衡阳师院"的声音,图1(d)是滤去干扰噪声的语音信号x2的频谱。由图1(a)(b)(d)的频谱对比可看出,滤波器成功地抑制了语音信号中的干扰。
图1在滤波器滤波过程,其中,(a)图对应原始语音信号频谱;(b)图对应含噪语音信号频谱;(c)图对应带阻滤波器幅频特性;(d)图对应滤波后的语音信号频谱。
3.4 设计gui界面
设计处理系统的用户界面,在所设计的系统界面上可以选择滤波器的参数,显示滤波器的频率响应,选择信号等,因学生能力不同,该项内容可以选做。
3.5 实验总结
要求学生实验后写出总结报告,本实验的报告包含以下几个方面:
(1)写出实验的过程。
(2)对信号采集、采样的认识。
(3)对数字滤波器设计的认识。
(4)对信号滤波效果的分析。
(5)本实验对科研思路的启示。

4 结 语
在完成本实验的过程中,教师只给出了实验的思路,实验中信号的太极,滤波器的设计及滤波前后频谱的变化和滤波效果都是学生自己提出问题,一起讨论,查阅资料,修改参数,进一步食言而完成的。通过实验,学生对信号的采集,处理、传输,现实和存储等也有一个较系统的掌握和理解,加深了对课堂抽象知识的理解,巩固了数字信号处理和理论知识。
评论