数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发完整代码+报告+课设)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1、内容简介


利用MATLAB GUI设计平台用窗函数法设计FIR数字滤波器对所给出的含有噪声的声音信号进行数字滤波处理得到降噪的声音信号进行时域频域分析同时分析不同窗函数的效果。将文件解压至一个目录下运行m文件即可使用。

2、函数使用


读取.wav音频文件函数audioread老版本为wavread MATLAB播放音乐函数sound() MATLAB停止播放音乐clear sound 写入.wav音频文件函数audiowrite老版本为audiowrite 加入白噪声noise=(max(x(:,1))/5)*randn(x,2); y=x+noise; 频谱分析 fft fftshift Fir滤波 fir1n,Wn,ftype,window 窗函数选择 梯形窗boxcar 三角窗triang 海明窗hamming

汉宁窗hanning 布莱克曼窗blackman 凯塞窗kaiser

3、实现功能


实现的功能有

  • 打开文件选择路径打开wav格式的音频文件自动生成音频的原始波形与频谱。

  • 加入噪声有两种噪声可以选择加入一种是白噪声其频率蔓延整个频谱一种是特定频率的噪声可通过输入频率加入单一频率的噪声。加入噪声后自动绘制加入噪声后的波形与频谱。

  • 滤波处理首先输入滤波器通/阻带的开始频率与截止频率若为低/高通类型滤波则只需输入开始频率若为带通/阻类型则开始与截止都要输入输入频率值为真实频率值可根据频谱图进行判断 之后选取窗函数和滤波类型将会生成滤波处理后的波形与频谱。

  • 音频播放/停止可随时播放/停止原始、加噪、滤波处理后的音频。

  • 图片导出将波形、频谱图片一张张导出保存可选的格式有jpg、png、bmp、eps。

  • 保存文件将加躁/滤波后的音频导出保存。

4、操作实例


选取音乐“卢本伟语音包”转换为wav格式导入得到结果如下

添加白噪声后此时播放音频能听到显著杂音。而从原始信号的频谱来看初始音频的频率主要集中在0-1000Hz因此我们可以选用低通滤波器阻带开始频率设为1000Hz选用矩形窗进行滤波得到结果如下

由于白噪声遍布于整个频谱对于噪声频谱于音频频谱的重叠部分我们无法通过FIR滤波器进行滤除依然会有小部分杂音存在。若噪声为特定单一频率的噪声我们可以较好地将其去除。对于该音频添加5000Hz的特定频率通过设计带阻滤波器阻带范围为4500-5500Hz对其进行滤波如下图所示

5、窗函数对比


仍选用上例中的5000Hz频率噪声同时增加噪声幅度如下图所示

选用带阻滤波器设置阻带范围4000-6000Hz观察各窗函数对其滤波的效果。(每行从左到右分别是矩形窗三角窗海明窗汉宁窗布莱克曼窗凯塞窗下同)

该种情况下滤波效果的总体排序为凯瑟窗>矩形窗>汉宁窗>海明窗=三角窗>布莱克曼窗。

完整代码

https://download.csdn.net/download/qq_38735017/87385584

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6