基于低通滤波的音频滤波器的设计与实现.docx
- 文档编号:24535769
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:20
- 大小:183.05KB
基于低通滤波的音频滤波器的设计与实现.docx
《基于低通滤波的音频滤波器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于低通滤波的音频滤波器的设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
基于低通滤波的音频滤波器的设计与实现
湖南农业大学
全日制普通本科生毕业论文(设计)
基于低通滤波的音频滤波器的设计与实现
Designandimplementationofaudiofilterbasedonlow-passfilter
学生姓名:
常倩倩
学号:
2
年级专业及班级:
2013级电子信息工程
(2)班
指导老师:
何儒云
学院:
信息科学技术学院
湖南·长沙
提交日期:
2017年5月
基于低通滤波器的音频滤波器的设计与实现
学生:
常倩倩
指导老师:
何儒云
(湖南农业大学信息科学技术学院,长沙410128)
摘要:
在当今信息社会中,信号处理变得尤为重要,信号处理技术已经几乎涉及到所有的工程技术领域。
其中的滤波器设计是数字信号处理过程中的重要内容之一。
本论文主要是设计低通滤波器,并对音频信号通过低通滤波器后的图像进行分析。
此滤波器的设计是在MATLAB软件平台上进行的,用巴特沃斯函数实现了巴特沃斯低通滤波器得设计。
关键词:
滤波器设计;MATLAB;巴特沃斯低通滤波器;
Designandimplementationofaudiofilterbasedonlow-passfilter
Student:
changqianqian
Tutor:
heruyun
Abstuct:
Keywords:
Filterdesign;MATLAB;Butterworthlow-passfilter;
1前言
语音是是人类进行信息交流最重要、最有效、最方便的手段。
在当前的信息化时代,用现代的手段研究语音信号处理技术,可以使人们能够更加有效地采集、传输、存储和处理语音信息。
语音信号处理就是研究用数字信号处理和语音学知识对语音信号进行数字化处理。
语音信号处理的好坏将影响语音信号的好坏,因此需要通过语音滤波器将这些语音信号进行一系列的的数字处理,滤除那些没用的噪声杂波,得到纯净有用的语音信号。
滤波器的允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,把信号能够通过的频率范围,称为通频带或通带;相反的,信号受到很大的衰减或完全被抑制的频率范围称为阻带;通带与阻带之间的分界频率称为截止频率,根据滤波器滤消除的频率范围不同,可以分为四类:
低通、高通、带通和带阻滤波器。
基于低通的音频滤波器允许低频的语音信号通过,抑制高频语音信号。
语音信号的滤波处理是目前在数字信号处理领域中发展最为迅速的信息科学研究领域的核心技术之一。
语音信号处理是现代信息处理的基本内容,数字信号的处理更是其中最重要的部分之一。
语音信号和图像信号是数字信号处理的研究内容,其中研究语音信号对于现代语音通信有着积极的意义。
研究语音信号又分为时域和频域两个方面,其中对语音信号进行时域分析的本质就是提取和分析语音信号的时域参数。
进行语音分析时,它的时域波形图是非常直观的,其实语音信号的实质就是时域信号,所以使用时域分析是最早也是最广泛的一种对语音信号进行分析的方法。
语音信号的频域分析就是对语音信号的频域持征进行分析。
语音信号的频域分析包括语音信号的功率谱、倒频谱、频谱、频谱包络等分析,一般常用的频域分析方法包括带傅里叶变换法、通滤波器组法等几种。
2语音信号处理的的背景意义及发展现状
2.1语音信号处理的的背景意义
语言是人类最重要的交流工具,它方便、高效。
随着社会的不断发展,各种各样的机器参与了人类的生产活动和社会活动,因此改善人与机器之间的关系,可以使人对机器的操控更加便利。
伴随着电子计算机和人工智能机器的广泛应用,人们发现,人和机器之间最好的通信方式就是语言通信,而语音是语言的声学表现形式,要机器听懂人讲话,并能说出话来,需要做很多工作,这就是科学工作者研究了很多年的语音识别和语音合成技术。
随着移动通信的迅猛发展,人们可以通过电话进行随时随地交流,语音压缩编码技术在其中发挥着重要的作用。
语音信号处理进行真正意义上的研究可以追溯到1876年贝尔电话的发明,首次用声电、电声转换技术实现了远距离的语音传输的技术。
1939年HomerDudley提出并研制成功了第一个声码器,由此奠定了语音产生模型的基础,这一发明在语音信号处理领域具有里程碑的意义。
19世纪60年代,亥姆霍兹通过声学方法对元音和歌唱进行了研究,从而奠定了语音的声学基础。
20世纪40年代,一种语言声学的专用仪器——语谱图仪问世了。
从此语音的时变频谱可以用语图表示出来,从而得到了“可见语言”。
1948年美国Haskins实验室研制成功了“语音回放机”,它可以把手工绘制在薄膜片上的语谱图转换成语音,并进行语音合成。
20世纪50年代对语言产生的声学理论开始有了系统论述。
随着计算机的出现,语音信号处理的研究得到了计算机技术的帮助,使得过去受人力、时间限制的大量的语音统计分析工作,得以在电子计算机上进行。
在此基础上,语音信号处理不仅在基础研究方面,还在技术应用方面,取得了突破性的进展。
语音信号处理是数字信号处理技术与语音学相结合的交叉学科,也是一门新兴的边缘学科它与认知科学、心理学、语言学、计算机科学、模式识别和人工智能等学科都联系紧密。
因此语音信号处理技术的发展也依赖这些学科的发展,同时,语音信号处理技术的进步也会促进这些学科的进步。
语音信号处理的目的就是要得到某些语音得特征参数以便更加高效地储存、传输;或者是通过某种处理用以某种用途,例如人工合成语音、语音识别等。
语音是人类特有的能力,它创造和记载了几千年人类文明。
语音是语言的声学表现,是互相传递信息的最重要的手段,没有语言就没有今天的人类文明。
2.2语音处理的发展现状
在现代信息社会中,小至人们的日常生活,大到国家大事、世界新闻、社会舆论和各种重要会议,都离不开语言和文字。
近年来,普通电话、移动电话和互联网已经普及到家庭。
在这些先进的工具中,语音信号处理中的语音编码和语音合成就有很大贡献。
再进一步,可以预料到的口呼打字机(又称听写机,它能把语音转换为文字)、语音翻译机(例如输入为汉语,输出为英语,或者相反),已经不是梦想而是提到日程上的研究工作了[1]。
一般的数字信号处理理论是语音信号处理的理论基础,它的主要研究内容是语音压缩技术和语音编码。
20世纪60年代中期形成了一系列得数字信号处理方法和算法,数字滤波器,快速傅里叶变换(FFT)等都是语音信号数字处理的理论和技术基础。
进入70年代之后,语音技术取得了许多实质性的进展;用于对语音信号进行信息压缩和特征提取的线性预测技术(LPC),已经成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成等各个应用领域。
80年代初一种新的高效数据压缩技术——矢量量化(VQ)应用于语音信号处理中;80年代的隐式马尔可夫模型(HMM)描述语音信号过程的产生是语音信号处理技术的重大进展。
近代来人工神经网络的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一;同时,它的许多成果,也体现在有关语音的各项应用之中,尤其语音识别时神经网络的一个重要应用领域。
人们早就希望用语音指挥机器,机器的执行情况也能用语音回答.这在某些领域已经部分地实现了.目前计算机芯片的集成度和运算能力,每18个月就提高一倍,而成本又不断降低,因此,它已经广泛地应用于在社会生产和生活的各个方面.然而计算机接收信息的外围设备和主机相比,要逊色得多.能说能听的计算机还不能普遍使用.也就是说:
语音识别、语音理解和语音合成等课题,还有很多理论问题和技术问题没有解决,需要继续深入研究[1]。
1.3发展趋势
语音信号处理技术是计算机智能接口与人机交互的重要手段之一。
从目前和整个信息社会发展趋势看,语音技术有很多的应用。
语音技术包括语音识别、语种的鉴别和确认、话语者的鉴别和确定、关键词检测和确认、语音合成、语音编码等等,其中最具有挑战和最富有应用前景的应为语音识别技术。
经过对语音信号处理技术的深入研究,我们可以认识到语音信号处理是实现语音识别的关键环节之一。
如果没有先进的语音信号处理技术作为支撑,进行语音识别就无从谈起。
而目前日益丰富的社交活动给语音识别应用带来了复杂的背景噪声,不同方言的人际交流无形中增加了语音识别的难度。
此外,随着用户规模的不断增长,大量语音数据的运算处理面临极大的挑战,因此语音信号处理技术及其应用的研究,对未来语音识别技术的发展将起到重要支撑作用,其应用前景十分广阔。
随着科学技术的不断发展,尤其是网络技术的日益普及和完善,语音信号处理技术也变得越来越重要,并且出现了一些新的方向。
基于语音的信息检索、基于语音识别的广播新闻的自动文摘技术的研究、语音训练与校正技术也是近年来语音信号处理的一个重要方向。
现在越来越多的人希望掌握其他非母语语言,以便方便地进行交流。
因此语言学习机已成为当今外语学习者的有利工具。
2.设计原理
2.1采样定理
采样定理,又称香农采样定理,奈奎斯特采样定理,特别是通讯与信号处理学科中的一个重要基本结论,E.T.Whittaker(1915年发表的统计理论),克劳德·香农与HarryNyquist都对它作了重要贡献。
除此之外,V.A.Kotelnikov也对这个定理做了重要贡献。
采样是将一个信号(时间或空间上连续的函数)转换成一个数值序列(时间或空间上的离散函数)。
采样定理指出,如果是带限信号,并且采样频率大于信号带宽的两倍,那么,原来的连续信号完全可以从采样样本中重建出来。
带限信号变换的快慢受到最高频率分量的限制,也就是说它的离散时刻采样不能很好的表现信号细节。
采样定理是指,如果信号带宽不及采样频率的一半(即奈奎斯特频率),那么此时这些离散的采样点能够完全表示出原信号无论是高于还是处于奈奎斯特频率的频率分量会导致混叠现象。
而大多数应用都要求避免混叠,混叠问题的严重程度与这些混叠频率分量的相对强度是密不可分的。
频率为Fs的连续信号f(t)可用一系列离散的采样值
,
,
,...来表示,只要这些采样点的时间间隔
,便可以根据各采样值完全恢复到原来的信号f(t),这是时域采样定理的一种表达方式;时域采样定理的另一种表述方式是:
当时间信号函数f(t)的高频率分变量为Fm时,f(t)的值可由一系列采样值间隔
采样值来确定,即采样点的重复频率
,也可根据采样值恢复到原来的信号f(t)。
图为模拟信号和采样样本的示意图。
2.1采样示意图
2.2离散傅里叶变换
在工程技术饿许多分支中,要掌握的基本内容之一就是正确理解时域和频域的关系。
对于数字系统,需要精通离散傅里叶变换,因此离散傅里叶变换在数字信号处理中处于十分重要的地位。
在实际应用中,有限长序列有相当重要的地位,由于计算机的限制,只能对过程进行逐段分析。
引入DFT(离散傅里叶变换)。
傅里叶变换是信号分析和处理的重要工具。
离散时间信号Xn的连续傅立叶变换定义为:
式中X(e^jw)是一个连续函数,不能直接在计算机上做数字运算。
为了能在计算机上进行频谱分析,必须对Xn的频谱作离散近似。
设x(n)是一个长度为M的有限长序列,则定义x(n)的N点离散傅里叶变换为[6]
k=0,1,…..,N-1
X(k)的离散傅里叶反变换(IDFT)为[6]:
2.2快速傅里叶变换
快速傅氏变换(FFT),是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
是计算机在处理信号方面上的一大进步。
系统的速度一部分由本身决定,还在相当大的程度上取决于算法,算法运算量的大小直接影响我们对设备的控制质量。
经过傅立叶变换(DFT),再运用测试软件进行检测,可以看出快速傅里叶变换大大的提高了计算机的运算速度,它为各种系统的设计提供了更加简便的算法,有着十分重要的意义。
展开各点的DFT计算公式:
XR
(1)=x(0).cos(2pi*0*1/N)+x
(1).cos(2pi*1*1/N)+x
(2).cos(2pi*2*1/N)
XR
(2)=x(0).cos(2pi*0*2/N)+x
(1).cos(2pi*1*2/N)+x
(2).cos(2pi*2*2/N)
有大量重复的cos、sin计算,FFT的作用是用技巧减少cos、sin项的重复计算,从而减少重复计算量。
2.2.1傅里叶变换的MATLAB实现
这可以用MATLAB编程实现,MATLAB提供了函数fft可以直接利用,指令fft的常用语法是:
Y=fft(x)%若x为1行N列或N行1列序列,则计算N点DFT
Y=fft(x,n)%计算n点DFT[3]
在此格式中,x是取样的样本,可以是一个向量,也可以是一个矩阵,y是x的傅里叶变换,在实际操作中,会对x进行补零操作,使x的长度等于2的整数次幂,这样能提高程序的计算速度。
通过改变n值直接对样本进行补零或者截断的操作。
离散傅里叶变换DFT(FFT)的反变换函数是“ifft”。
其调用语法是:
Y=ifft(x)%若x为1行N列或N列1行序列,则计算N点逆DFT
Y=ifft(x,n)%计算n点逆DFT[3]。
此格式中,x为需要进行逆变换的信号,多数情况下是复数,y为快速傅里叶反变换的输出[7]。
2.3滤波器基本原理
滤波器是一种选频装置,它的作用就是信号中特定的频率成分通过,衰减其它频率成分。
在测试装置中,利用滤波器的选频作用,可以滤除干扰信号的噪声或进行频谱分析。
广义地讲,任何一种信息传输通道(媒质)都可以看作是一种滤波器。
因为,任何装置的响应特性都是激励频率的函数,都可用频域函数来描述其传输特性。
因此,构成测试系统的任何一个环节,如机械系统、电气网络、仪器仪表甚至连接导线等,都将在一定频率范围内,按它的频域特性,对所通过的信号进行变换与处理。
数字滤波技术已得到广泛应用,但模拟滤波在自动检测、自动控制以及电子测量仪器中仍被广泛应用。
2.2滤波器结构简图
图中
,
,
分别为时域内数字信号中的输入信号,滤波函数和滤波后输出函数,满足
。
其对应的频域内函数分别为
,
,
,满足
。
因此对时域内滤波处理分析的时候可以将其转换成频域中的处理,这样可以简化运算量,方便处理。
通过适当调整滤波器采样频率,即可达到滤波要求。
2.3.1低通滤波器原理
巴特沃斯滤波器以巴特沃斯函数来近似滤波器的系统函数。
巴特沃斯滤波器是根据幅频特性在通频带内具有最平坦特性定义的滤波器。
巴特沃斯低通滤波器的平方幅度响应为
其中,n为滤波器的阶数,
为低通滤波器的截止频率。
n决定了幅度下降的速度,n越大,通带就越平坦,过渡带也随之变窄,阻带幅度同过渡带下降的速度也就越迅速,总体频响特性同理想低通滤波器的实际误差也就越小。
2.3巴特沃斯低通滤波器的频响特性
巴特沃斯滤波器在线性相位、衰减斜率和加载特性三个方面具有特性均衡的优点,所以在实际的使用中,巴特沃斯滤波器已被列为滤波器首选。
2.3.2巴特沃斯低通滤波技术指标关系式为:
其中:
为通带边界频率,
为阻带边界频率
巴特沃斯滤波器的低通模平方函数表示:
设巴特沃斯的系统函数为Ha(s),则:
3.MATLAB设计及实现
3.1设计要求
采样速率为9000Hz,要求设计一个低通滤波器,fp=2000Hz.fs=3000Hz,Rp=4dB,Rs=30dB[2]。
3.2设计流程
首先利用MATLAB软件录制5秒左右声音,设定抽样频率为9000Hz/s,画出声音信号的时域波形和频谱图。
分析声音信号的特点。
然后用butter函数设计一个N阶低通滤波器,滤除声音中的高频成分。
绘制滤波器频率特性;绘制滤波后声音信号的时域波形和频谱图。
最后分析滤波前后信号时域和频域的变化。
播放滤波前后声音,分析其变化原因。
其程序流程如图所示:
声音信号采集与分析
及分析
声音信号回放并分析析
声音信号处理
时域分析
频域分析
声音采集
频域分析
频域分析
滤波器设计
声音信号分析流程图
3.3原始声音信号采集及分析
利用MATLAB中wavrecord代码录制一段5s声音将其录制抽样频率Fs定为9000Hz,将其保存为“shengyin”。
编写M文件,调用上述保存的“shengyin”文件,用MATLAB语言实现为:
Fs=9000;%采样频率设为9000
y=wavrecord(5*Fs,Fs);%录制5s声音信号
wavplay(y,Fs);%播放声音信号
wavwrite(y,Fs,'shengyin');%将录制的声音信号命名为“shengyin”并保存
绘制其时域波形如图:
3.1原始声音时域波形
由声音的时域图形可以观察到,语音信号的幅度先小后大,在声音强度大的部分,声音的信号幅值越高。
语音信号具有“短时性”,即语音信号的特征是随着时间而变化的,但会在一段较短的时间间隔内,语音信号基本保持平稳。
为了把原始声音模拟信号转化为数字化信号,必须要经过采样和量化两个过程,从而得到时间和幅度上均为离散的数字语音信号,所以需要对信号进行采样,从而进行频域分析。
在MATLAB中利用快速傅里叶变换函数FFT对原始声音信号进行傅里叶变换。
变换后幅频特性曲线如图
3.2原始声音频率特性
由声音信号的幅频特性图形可以看出:
信号在1000Hz左右和2000Hz左右幅值很大,集中能量最大。
在其他阶段,信号的幅值较小,能量较低。
从相频特性可以看出,从相频特性曲线中可以看出,其相位幅值随频率增大总体呈下降趋势。
3.4巴特沃斯低通滤波器设计
在MATLAB中,利用Butterworth函数设计N阶低通滤波器,可以滤除掉声音信号中的高频部分,保存信号中的低频部分。
代码见附录1。
滤波器的绘制滤波器频率特性如图:
3.3巴特沃斯低通滤波器特性
从上述滤波器频率特性波形图可以看出:
通过适当调整截止频率,该滤波器能够保留输入信号的低频成分,滤除原始信号中高频成分。
能够满足课题要求。
故可以用于对原始声音信号的处理。
4.设计结果及分析
利用上述设计出的滤波器对原始声音信号进行滤波处理,绘制出时域、频域的波形图并与原始信号进行比较分析。
3.4滤波前后声音信号的特性比较
由上图可得,比较滤波前后的时域波形,信号的波形总体降低;比较滤波前后的幅频特性,滤波后信号的高频部分被滤掉,且幅值不变,声音频率降低,表现为低沉。
比较滤波前后的相频特性,总体趋势不变。
5.毕业设计总结
通过这次毕业设计,使我对语音信号有了进一步的了解,对数字信号处理的方法及特点有了进一步地理解和掌握。
同时,通过此次课程设计使我进一步的了解了信号的产生、采样,学会了频谱分析的基本方法。
使我对MATLAB中的基本指令、特殊函数和绘图方法有了更加深入的认识。
使我将课上讲解的理论知识应用到实际演练中,如:
在对原始声音信号进行采样及傅里叶变换过程中,使我对采样定理、傅里叶变换有了进一步认识。
与此同时,在对声音信号进行滤波处理之后,又对原始声音信号进行播放对比,让我对滤波器滤波条件及滤波效果分析有了进一步的了解。
总之,此次毕业设计是一次将所学理论知识应用到实际生活中的一个实例,通过本次课程设计,使我学到了很多,掌握了实际中基本信号处理的方法及基本分析方法。
我相信通过这次毕业设计中所学得的知识对我今后的发展具有十分重要的作用。
参考文献
[1]李昌立,语音信号处理的现状和展望[J].中国科学院声学研究所:
物理学与信息科学技术专题,2005,34(4):
300-302.
[2]沈再阳,精通MATLAB信号处理[M].清华大学出版社,173-174;
[3]徐远明,邵玉斌,MATLAB仿真在通信与电子工程中的应用[M].西安电子科技大学出版社,254;
[4]付大丽,x幼云.数字滤波器在语音信号处理中的应用[J].电声技术,2012(8)
[5]李钟慎,基于MATLAB设计巴特沃斯低通滤波器[J].信息技术,2003,27(3),49
[6]方勇,数字信号处理—原理与实践[M].清华大学出版社,86;
[7]万永革,数字信号处理的MATLAB实现[M].科学出版社,74;
致谢
首先要感谢在何儒云老师,本论文是在她的的悉心指导和热情关怀下完成的,何儒云老师严谨的治学态度和科学的工作方法给了我极大的帮助和影响。
在我们选题之后,她在忙碌的教学中挤出时间来给我们开会。
在进行写作的过程中,何老师也进行了悉心的指导,完成后又审查修改我的论文,深切感受到了何老师的认真负责在此,谨像导师何儒云老师致以崇高的敬意和衷心的感谢!
附录:
附录1
1、声音采集
Fs=9000;%采样频率设为9000
y=wavrecord(5*Fs,Fs);%录制5s声音信号
wavplay(y,Fs);%播放声音信号
wavwrite(y,Fs,'shengyin')%将录制的声音信号命名为“shengyin”并保存
2、声音信号处理
(1)原始声音信号读取及绘制
fs=9000;
y=wavread('shengyin');
sound(y);
fs=9000;
[y1,fs]=wavread('shengyin');
sound(y1);
N=length(y1);
t=(0:
N-1)/fs;
f=fs/N*(0:
round(N/2)-1);
figure
(1)
plot(t,y1);%绘制原始声音信号
title('原始声音时域信号');%为图形命名为“时域信号”
xlabel('时间/s');%横坐标为“时间”
ylabel('幅值');%纵坐标为“幅值”
(2)对原始信号进行幅频特性变换
figure
(2)
H=fft(y1,9000);
H=fftshift(H);%对原始声音信号进行傅里叶变换
M=9000;w=-(M-1)/2:
M/2;
f=w*fs/M;
subplot211;plot(f,abs(H));%绘制原始语音信号的频谱特性图
title('原始声音幅频特性');%为图形命名为“时域信号”
xlabel('频率/Hz');
ylabel('|H(j\omega)|');
subplot212;plot(w,180/pi*unwrap(angle(H)));%绘制原始语音信号的相频特性图
title('原始声音相频特性');%为图形命名为“时域信号”
xlabel('频率/Hz');%横坐标为“时间”
ylabel('\phi(\omega)');%纵坐标为“幅值”
3、Butterworth滤波器设计
figure(3)
fn=9000;
fp=2000;
fs=3000;
Rp=4;
Rs=30;
Wp=fp/(fn/2);%计算归一化角频率
Ws=fs/(fn2);
[n,Wn]=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率
[b,a]=butter(n,Wn);%计算H(z)分子、分母多项式系数
[H,F]=freqz(b,a,1000,8000);
%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率)
subplot(121);
plot(F,20*log10(abs(H)))
xlabel('频率(Hz)');
ylabel('幅值(dB)');
title('低通滤波器');
axis([04000-303]);
gridon;
subplot(122);
pha=angle(H)*180/pi;
plot(F,pha);
xlabel('频率(Hz)');ylabel('相位');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 滤波 音频 滤波器 设计 实现