当前位置:首页 > 基于MATLAB信号处理的实验研究毕业论文
式(3-2-3)是非周期信号的频谱表达式,成为傅立叶正变换(FT),式(3-2-4)成为傅立叶反变换(LFT)。所以傅立叶变换对为:
傅立叶正变换
傅立叶反变换
必须指出的是,傅里叶变换存在的充分条件是函数f(t)绝对可积,即要求
(3-2-5)
这是个充分条件,当f(t)满足绝对可积的条件时,可以使用定义式(3-2-3)计算其频谱。但式(3-2-5)并非是使用傅立叶变换的必要条件,有些信号即使不满足式(3-2-5),但傅立叶变换依然存在。从波形上来看,f(t)满足绝对可积时,有
(3-2-6)
式(3-2-6)才是使用傅立叶变换的基础,但是只有通过傅立叶变换的后才能得到波形图,故此,该是只能作为验证能否使用傅立叶变换的一个依据,而并不能直接用以判断该信号函数能否做傅立叶变换。
2.4数字滤波器
2.4.1数字滤波器的概念
数字信号处理技术的核心内容就是通过数字滤波器来处理信号,本章节就是对数字滤波器进行一些基本描述。实际上,数字滤波器的原理就是通过一系列的算法和时频域变换来分析处理输入信号的对应编码,最终通过命令的运行得到处理过的信号所代表的输出编码。
数字滤波器的设计,一方面可以通过软件编程来设计出数字滤波器,运用MATLAB软件所特有的运算函数,引进调用语音信号的向量编码,编写好程序,运行程序的过程即为数字滤波的过程。另一方面也可以通过专业的硬件处理器来
完成滤波,现在市场上有各种各样的数字运算器件,通过将乘法器、延时器和加法器等等元器件按一定的原理搭配起来就构成了实验所需要的数字滤波器。由于专业、时间及经济上的限制,本次研究是运用软件编程来实现语音信号的数字滤波器。
实际上,数字滤波技术是在模拟滤波的基础发展起来的,两者的滤波器效果是一样的,只是信号处理的初级阶段,大多采用的是模拟滤波,模拟滤波器是将电容、电感和电阻三者结合起来,搭建出各种不同的模型,从而形成了各种不同的滤波器。而随着数字技术的深入研究,传统的滤波方式已经满足不了新的滤波要求,因而结合软件编程来实现信号处理的新型技术应运而生,和传统的模拟滤波相比,数字滤波器能过高度集成,还可以随时编程,方便实用,同时运算能力强,稳定性好,受到普遍欢迎和信赖。
2.4.2四种滤波器的简介
比较常用的物理可实现的滤波器目前有切比雪夫滤波器、巴特沃斯滤波器、椭圆滤波器和贝塞尔滤波器四种。
四种滤波器都有属于自己的通带截止频率和阻带截止频率,下面对四种滤波器的比较分析。
巴特沃斯滤波器(Butterworth),其频率特性为
(4-2-1)
该滤波器的特点是幅度频谱呈现单调下降的趋势,是通带幅度频谱为最大平坦的曲线,使用matlab调用该滤波函数的命令格式为[z,p,k]=buttap(n),其中n为阶数,z,p,k为滤波器的零极点和增益。
切比雪夫滤波器(Chebyshev),该滤波器有两个频段表示,均有高频率段选择性,其中切比雪夫滤波器Ⅰ型的频谱特性为
(4-2-2)
ω和k为系数,滤波器在该频段,具有通带等波纹的特点,是低通滤波器。使用matlab调用该滤波函数的命令格式为[z,p,k]=cheb1ap(n,Rp),其中Rp为通带波纹,单位为dB,其他参数一样。
切比雪夫滤波器Ⅱ型,其频率特性为
(4-2-3)
切比雪夫滤波器Ⅱ型为高通滤波器,其特点是阻带等波纹特性,使用matlab调用该滤波函数的命令格式为[z,p,k]=cheb2ap(n,Rp) 其中Rp为阻带波纹,z,p,k为滤波器的零极点和增益。
贝塞尔滤波器(Bessel),其频率特性为
是由条件
及
,其中
,
递推出来的。该滤波器即
为带通滤波器,频谱特点是通带线性,信号在该频段里内具有较好的线性特性。使用matlab调用该滤波函数的命令格式为[z,p,k]=Besselap(n)其中n为阶数,小于25。z,p,k为滤波器的零极点和增益。
椭圆滤波器(Ellipse),其频率特性为
(4-2-4)
该型滤波器的性能是最好的,具有陡峭的过度频率,因而被称之为带阻滤波器。使用matlab调用该滤波函数的命令格式为[z,p,k]=ellipap(n.Rp,Rs),其中Rp为通带波纹,Rs为阻带波纹,z,p,k为滤波器的零极点和增益。
第3章 语音信号的实例处理
3.1 语音信号录入
由于本次可以研究背景基于Windows 7系统,其Windows自带的录音机只能录制WMA格式的语音文件,故必须采用一款新的软件Goldwave5.8绿色汉化版来录制Matlab可以识别的波形文件(*.wav),该软件的效果图如图1-1所示录制完成后将文件名保存为“file.wav”,以便Matlab能够成功读取调用该文件。本
实验存放位置为F盘
图1-1GoldWave软件视图
3.2语音信号的采集
首先我录音了一段语音信号,然后在matlab6.5版本软件里,在其命令窗口输入wavread指令对语音信号进行采样,同时要记录语音信号的采样频率和采样位数。利用wavread函数,我们可以初步领会采样频率、采样位数等知识点。
wavread调用格式为:y=wavread(X),表示读取格式为wav的该X波形文件,运行得到的采样值赋值给y向量。
[y,fs,bits]=wavread(file),表示采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。
y=wavread(file, M),表示读取前M点的采样值放在向量y中。 y=wavread(file,[M,N]),表示读取从M到N点的采样值放在向量y中。 打开MATLAB6.5软件,调用wavread函数,可以读取语音信号(file.wav),通过编写命令可知语音信号的采样频率为fs,采样位数bits为100000。运用sound函数可以很清晰的听到“大家上午好”这段语音。在命令窗口输入以下指令:
[x,fs,bits]=wavread('F:file.wav',100000); sound(x,fs,bits);
X=fft(x,40960); magX=abs(X); angX=angle(X); subplot(221);plot(x);title('原始信号波形'); subplot(222);plot(X); title('原始信号频谱'); subplot(223);plot(magX);title('原始信号幅值'); subplot(224);plot(angX);title('原始信号相位');
共分享92篇相关文档