- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLAB的数字滤波器与均衡器设计
基于MATLAB的简易声音信号频谱分析仪设计
摘 要
通过MATLAB强大的信号处理功能,先设计了几个理想滤波器,通过对理想滤波器的滤波特性分析对比,可以更直观得认识滤波器的功能。利用滤波器原理,结合数字均衡器的设计要求,对各种数字音频信号进行滤波处理,设计出一种可调节参数的数字滤波器,即一种均衡器。本文的数字均衡器以MATLAB为设计平台,有.wav文件的获取、滤波、保存和播放控制功能。在对声音文件进行频率分析的基础上,用10段均衡器可对声音信号进行调节后保存播放。
关键字:MATLAB,滤波器,均衡器,傅里叶反变换
概述
随着数字化技术的快速、深入发展,人们对数字化电子产品所产生的图像、图形以及声音等质量的要求越来越高。在实时数字处理过程中,往往需要对目标信号进行滤波处理,以满足用户对信号的要求。MATLAB 是一个数据分析和处理功能十分强大的工程实用软件,它的滤波器设计工具箱为实现声音信号的数字滤波提供了十分方便的函数和命令。本文将介绍基于MATLAB设计出的一种实用的数字滤波器,并对其功能进行扩展,设计出一种均衡器。
设计原理
滤波器的种类很多,按所通过信号的频段分为低通、高通、带通和带阻滤波器四种。低通滤波器:它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声。高通滤波器:它允许信号中的高频分量通过,抑制低频或直流分量。带通滤波器:它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声。带阻滤波器:它抑制一定频段内的信号,允许该频段以外的信号通过。
上述每种滤波器又可以分为模拟滤波器和数字滤波器。如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器。根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
滤波器设计原理
滤波器就是对系统的输入信号进行滤波。输入x(n)和输出y(n)之间的关系是脉冲响应h(n),即
(2-1)
如果滤波器的输入输出都为离散信号,那么该滤波器的脉冲响应也应该是离散信号,这样滤波器就成为了数字滤波器。
上面的系统为时域离散系统时,其频域特性为
(2-2)
其中、分别是数字滤波器的输出序列和输入序列的频域特性,是数字滤波器的频域响应。可以看出,输入序列的频谱经过滤波后变成了;因此按照输入信号频谱的特点和处理信号的目的适当选择,使得滤波后的满足设计性能要求。
在MATLAB中主要有Filter函数、Filtfilt函数等滤波函数。Filter函数滤波器的标准差分方程为
(2-3)
如果不为1,那么滤波器的系数将用进行归一化处理,即各系数同除以。
均衡器设计原理
10段滤波器能够对以下几个频率段进行滤波,各段的音感特征如下所示:30~60Hz(沉闷);60~100Hz(沉重);100~200Hz(丰满);200~500Hz(力度);500~1KHz(明朗);1K~2KHz(透亮);2K~4Kz(尖锐);4K~8Kz(清脆);8K~16Kz(纤细)。通过对各频段的滤波特性设置即可调出不同的音效。
打开音频文件后,先对原理声音信号进行傅里叶变换处理,然后从滚动条上获得各频段的滤波特性值,通过换算得到增益值,并构造滤波器频域特性响应,即可得到该频率范围的滤波器。使用该构造的滤波器对输入的原始声音信号进行频域滤波,并通过傅里叶反变换将滤波后的频域信号转化成的时域波形信号。然后,再播放该滤波后的声音信号,即可发现声音的音质效果发生了改变。这就是均衡器的基本工作原理。
MATLAB程序设计
模块设计
该MATLAB程序的模块设计如下图所示。
图1 模块设计图
图形界面设计
首先打开MATLAB,在命令窗口中输入guide命令进入GUI图形设计界面。再新建一个空白的图形界面文件,添加如下的控件并设计它们的布局。
添加5个axes控件,用于显示时域波形图和频域频谱图;
添加4个static text控件,用于窗口及其他控件的说明使用;
添加6个panel控件,将一组相关的控件框在一起;
添加1个edit控件,用于输入频率参数值;
添加2个pop-up menu控件,用于选择信号发生器产生的信号类型和均衡器参数配置;
添加4个radiobutton,用于选择滤波器类型;
添加11个slider控件,用于设置均衡器参数和音量大小;
添加11个push button控件,其中6个用于控制音频文件播放,2个用于打开和保存文件,其余3个用于控制均衡器设置。
双击各个控件,打开其属性编辑窗,即可修改其名称、颜色、大小、初始值及位置等属性。最终编辑好的界面如下
文档评论(0)