matlab设计数字滤波器文档格式.docx
- 文档编号:20950767
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:13
- 大小:344.06KB
matlab设计数字滤波器文档格式.docx
《matlab设计数字滤波器文档格式.docx》由会员分享,可在线阅读,更多相关《matlab设计数字滤波器文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
>
helpfdatool
FDATOOLFilterDesign&
AnalysisTool.
FDATOOLlaunchestheFilterDesign&
AnalysisTool(FDATool).
FDAToolisaGraphicalUserInterface(GUI)thatallowsyouto
designorimport,andanalyzedigitalFIRandIIRfilters.
IftheFilterDesignToolboxisinstalled,FDAToolseamlessly
integratesadvancedfilterdesignmethodsandtheabilityto
quantizefilters.
SeealsoFVTOOL,SPTOOL.
docfdatool
Toolbox下的FilterDesign
图1Fdatool设计滤波器
图2冲激响应
图3滤波器系数
这些系数是按下DesignFilter后自动生成的。
对于FIR,它只有Numerator,即分子。
这些系数表示的就是这个滤波器的系统函数的分子中各项的系数,也就是差分方程里面的b系数。
这些系数可以导出成C语言的头文件,这需要按下菜单栏的Targets,选择GenerateCheader,然后弹出如下窗口,作出相应的选择后按下Generate即可,生成的头文件中的系数可以以常系数数组的方式烧入DSP处理器的Flash中。
图4生成C头文件
数字滤波器的Matlab实现
数字滤波器在音频处理领域也显示出相当的作用,最直观的一个例子是数字音频效果器。
比如要用数字的方式产生延时效果,其原理框图如下:
图5延时系统
它的表达式是:
y[n]=G2*x[n]+G1*c[n]
c[n]=x[n-k]+G3*c[n-k]
用对G1、G2、G3分别赋值0.8、0.8和0.8后,用Matlab的绘图功能画出其幅频和相频响应如下:
图6延时系统额频率响应
其中蓝色部分是幅频响应,绿色部分是相频响应,可见梳状滤波器的特点是幅频响应是一个个尖峰。
在时域里,梳状滤波器对音频的作用是产生延时效果,如下图所示。
图7对音频ding.wav延时处理的结果
在延时器的基础上,可以构建混响器。
混响系统是由四个梳状滤波器并联后再串联一个全通滤波器构成的,G1和G2同样是衰减系数。
事实上,混响效果系统可以并联更加多的梳状滤波器。
梳状滤波器的延时参数设置是比较讲究的,因为如果延时参数太大,回声会太过分散(回声密度太小)从而会听出分立的回声的效果,影响了混响系统的平滑性;
延时参数太小的话,梳状滤波器频率响应的尖锋就比较分散(象回声效果的第一个图),会产生一些比较难听的高音。
图9混响系统
所以延时参数的选择最好是在30到40ms左右,具体的值要根据采样频率而定,并且每个梳状滤波器的延时参数必须是不可公约的,因为如果参数可以公约,频率响应的尖峰会相互抵消一部分从而影响混响系统的质量。
全通滤波器的幅频响应是恒定值但相频响应不是线性的相位响应。
所以信号经过全通滤波器各频率的相对相位会发生一定改变,在时域里产生一种涂抹的效果。
下面是实现混响效果的程序片段,由于混响效果的运算量比较大,所以必须用FFT方法才能使运算在比较短的时间里面完成。
以下是Matlab实现混响系统的程序片段,大家要注意Matlab用于构建滤波器的函数dfilt、产生单位脉冲响应的函数impz、用于快速傅里叶变换的函数fft和用于快速傅里叶反变换的函数ifft,它们的具体用法可以查看Matlab帮助文档,里面有非常详细的描述。
%ReverbEffect
hd_1=dfilt.df1(b1,a1);
%fourcombfilters
hd_2=dfilt.df1(b2,a2);
hd_3=dfilt.df1(b3,a3);
hd_4=dfilt.df1(b4,a4);
hd_5=dfilt.allpass(c);
hd_comb=dfilt.parallel(hd_1,hd_2,hd_3,hd_4);
%hdistheReverbfilter.payattentionthatitisparallel
hd=dfilt.cascade(hd_comb,hd_5);
imp_res=impz(hd,length_input);
%impuleresponseofhd
imp_res=imp_res'
;
%actffttothehdandtheinput,timesthemandinversefft
fr_hd=fft(decay_wet*imp_res,length_input);
ifchannel==1%monosound
fr_input=fft(decay_dry*x,length_input);
fr_output=fr_hd.*fr_input;
z=ifft(fr_output,length_input);
elseifchannel==2%stereosound
fr_hd(2,:
)=fr_hd;
fr_input=fft(decay_dry*x,length_input,2);
z=ifft(fr_output,length_input,2);
end
下面是梳状滤波器延时量100左右的混响系统频率响应:
图10混响系统频率响应
下面是音频信号混响前和混响后的对比图
图11对Reverb_effect.wav的混响处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 设计 数字滤波器