- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号与系统设计-蜂鸣降噪讲述
基于Matlab的 音频降噪滤波器设计 设计思路 使用waveread()函数读取音频和其采样率和采样位宽,对读取的音频信号使用fft()函数进行快速傅立叶变换并绘出得到的频谱。观察频谱分析噪声(蜂鸣信号)的谐波频率分布,并选择合适的滤波模式。使用fir1()建立窗函数,并用filter()函数进行滤波,去除噪声部分。最后用play()函数播放音频检查效果。 设计过程 第一部分:音频的读取和分析 [audio0, Fs, nbits] = wavread(C:\Users\Administrator\Desktop\signal\buz z.wav); %按路径读取音频存入audio0变量,并用Fs变量记录采样率,nbits变量记录采样位宽。 p0=audioplayer(audio0,Fs); play(p0); %将audio0载入音频播放器,并进行播放。 得到: Fs=11025 #采样率11025Hz nbits=32 #采样带宽32 设计过程 第一部分:音频的读取和分析 subplot(2,1,1);%分屏绘图 plot(audio0);%绘制原始音频时域图 title(时域);%标注题目 [k]=fft(audio0,Fs);%对原始音频进行快速傅立叶变换 subplot(2,1,2); plot(abs(k));%绘制原始音频频域图 title(频域); 设计过程 第一部分:音频的读取和分析 振幅/A 幅值/A 时间/ms 频率/Hz 设计过程 第一部分:音频的读取和分析 分贝/dB 分贝/dB 时间/ms 频率/Hz 设计过程 第一部分:音频的读取和分析 观察原始信号频域图,发现干扰信号主要分布在0- 1000Hz以内,进一步绘制这一范围的图像。 plot(abs(k));%重绘图像 set(gca,XLim,[0 1000]);%更改显示范围为0-1000 set(gca,XTick,[0:20:1000]);%更改坐标步长为20 观察图像可发现,干扰信号的谐波频率为: 220Hz、440Hz、660Hz、880Hz 设计过程 第一部分:音频的读取和分析 观察图像可发现,干扰信号的谐波频率为: 220Hz、440Hz、660Hz、880Hz 设计过程 第二部分:滤波器的设计 由于干扰信号的谐波频率为:220Hz、440Hz、660Hz、880Hz, 而人类说话的频率大概在300-3400Hz,而干扰信号非常大。 根据实际情况确定应该设计高通滤波器。 通带边界为1000Hz,阻带边界为900Hz,阻带衰减不小于40dB。 由此,选择hanning窗函数设计滤波器。 设计过程 第二部分:滤波器的设计 fp=1000;fs=900;%通带频率fp,阻带频率fs wp=2*fp*pi/Fs;ws=2*fs*pi/Fs;%归一化边界频率 wc=(wp+ws)/2/pi;%归一化中心频率 wdp=wp-ws;#过渡带宽 N=ceil(12*pi/wdp); %由窗函数主瓣宽和过渡带宽,求得窗函数最小长度 N=N+mod(N,2); %高通滤波器N必为奇数 HPfir=fir1(N,wc,high,hanning(N+1)); %设计高通hanning窗滤波器HPfir 设计过程 第二部分:滤波器的设计 figure;%新建图像 subplot(2,1,1); plot(HPfir);%绘制滤波器时域图像 title(滤波器时域); subplot(2,1,2); plot(abs(fft(HPfir)));%绘制滤波器频域图像 title(滤波器频域); 设计过程 第二部分:滤波器的设计 设计过程 第三部分:音频滤波 audio1=filter(HPfir,1,audio0) %使用filter函数做一维数字滤波p1=audioplayer(audio1,Fs); figure; subplot(2,1,1); plot(audio1); title(滤波后时域); [k0]=fft(audio1,Fs); subplot(2,1,2); plot(abs(k0)); title(滤波后频域); 设计过程 第三部分:音频滤波 振幅/A 幅值/A 时间/ms 频率/Hz
文档评论(0)