数字信号处理期末实验-语音信号分析与处理

合集下载

语音信号分析与处理2011

语音信号分析与处理2011

数字信号处理实验二:语音信号分析与处理学号 姓名注:1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。

2)请在授课教师规定的时间内完成;3)完成作业后,请以word 格式保存,文件名为:学号+姓名4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并给出程序内容。

1. 实验目的(1) 学会MATLAB 的使用,掌握MATLAB 的程序设计方法(2) 掌握在windows 环境下语音信号采集的方法(3) 掌握MATLAB 设计FIR 和IIR 滤波器的方法及应用(4) 学会用MATLAB 对语音信号的分析与处理方法2. 实验内容录制一段自己的语音信号,对录制的语音信号进行采样,画出采样后语音信号的时域波形和频谱图,确定语音信号的频带范围;使用MATLAB 产生白噪声信号模拟语音信号在处理过程中的加性噪声并与语音信号进行叠加,画出受污染语音信号的时域波形和频谱图;采用双线性法设计出IIR 滤波器和窗函数法设计出FIR 滤波器,画出滤波器的频响特性图;用自己设计的这两种滤波器分别对受污染的语音信号进行滤波,画出滤波后语音信号的时域波形和频谱图;对滤波前后的语音信号进行时域波形和频谱图的对比,分析信号的变化;回放语音信号,感觉与原始语音的不同。

3. 实验步骤1)语音信号的采集与回放利用windows 下的录音机或其他软件录制一段自己的语音(规定:语音内容为自己的名字,以wav 格式保存,如wql.wav ),时间控制在2秒之内,利用MATLAB 提供的函数wavread 对语音信号进行采样,提供sound 函数对语音信号进行回放。

[y,fs,nbits]=wavread(file),采样值放在向量y 中,fs 表示采样频率nbits 表示采样位数。

Wavread 的更多用法请使用help 命令自行查询。

2)语音信号的频谱分析利用fft 函数对信号进行频谱分析3)受白噪声干扰的语音信号的产生与频谱分析①白噪声的产生:N1=sqrt (方差值)×randn(语音数据长度,2)(其中2表示2列,是由于双声道的原因) 然后根据语音信号的频谱范围让白噪声信号通过一个带通滤波器得到一个带限的白噪声信号N2;带通滤波器的冲激响应为:h B (n )=))((sin ))((sin 1122απωπωαπωπω---n c n c c c c c其中ωc1为通带滤波器的下截止频率,ωc2为通带滤波器的上截止频率。

语音信号处理实验报告.docx

语音信号处理实验报告.docx
在浊音清音对比中,可以发现,对呈现谐波特征的浊音语音谱来说这个特点很明显,就是在谐波成分处LPC谱匹配信号谱的效果要远比谐波之间好得多。
在实验中,当P值增加到一定程度,预测平方误差的改善就不很明显了,而且会增加计算量,一般取为8~14,这里P取为10。
5.基音周期估计
①自互相关函数法
②短时平均幅度差法
二.实验过程
1. 系统结构
2.仿真结果
(1)时域分析
男声及女声(蓝色为时域信号,红色为每一帧的能量,绿色为每一帧的过零率)
某一帧的自相关函数
3.频域分析
①一帧信号的倒谱分析和FFT及LPC分析
②男声和女声的倒谱分析
③浊音和清音的倒谱分析
④浊音和清音的FFT分析和LPC分析(红色为FFT图像,绿色为LPC图像)
从男声女声的时域信号对比图中可以看出,女音信号在高频率分布得更多,女声信号在高频段的能量分布更多,并且女声有较高的过零率,这是因为语音信号中的高频段有较高的过零率。
2.频域分析
这里对信号进行快速傅里叶变换(FFT),可以发现,当窗口函数不同,傅里叶变换的结果也不相同。根据信号的时宽带宽之积为一常数这一性质,可以知道窗口宽度与主瓣宽度成反比,N越大,主瓣越窄。汉明窗在频谱范围中的分辨率较高,而且旁瓣的衰减大,具有频谱泄露少的有点,所以在实验中采用的是具有较小上下冲的汉明窗。
三.实验结果分析
1.时域分析
实验中采用的是汉明窗,窗的长度对能否由短时能量反应语音信号的变化起着决定性影响。这里窗长合适,En能够反应语音信号幅度变化。同时,从图像可以看出,En可以作为区分浊音和清音的特征参数。
短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。从图中可以看出,短时能量和过零率可以近似为互补的情况,短时能量大的地方过零率小,短时能量小的地方过零率较大。从浊音和清音的时域分析可以看出,清音过零率高,浊音过零率低。

语音信号处理实验报告

语音信号处理实验报告

语音信号处理实验报告——语音信号分析实验一.实验目的及原理语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理,并且语音合成的音质好坏和语音识别率的高低,都取决于对语音信号分析的准确性和精确性。

贯穿语音分析全过程的是“短时分析技术”。

因为从整体来看,语音信号的特性及表征其本质特征的参数均是随时间变化的,所以它是一个非平稳态过程,但是在一个短时间范围内(一般认为在10~30ms的时间内),其特性基本保持不变,即相对稳定,可将其看做一个准稳态过程,即语音信号具有短时平稳性。

所以要将语音信号分帧来分析其特征参数,帧长一般取为10ms~30ms。

二.实验过程1.2. 仿真结果(1) 时域分析男声及女声(蓝色为时域信号,红色为每一帧的能量,绿色为每一帧的过零率)x 104-0.6-0.4-0.200.20.40.60.81x 105-0.4-0.200.20.40.60.811.2某一帧的自相关函数-1-0.8-0.6-0.4-0.200.20.40.60.813. 频域分析①一帧信号的倒谱分析和FFT 及LPC 分析对应的倒谱系数:119.2,-7.6895,……对应的LPC 预测系数:1,-0.1,-0.02,-0.4,-0.27,……②男声和女声的倒谱分析③浊音和清音的倒谱分析原语音波形一帧语音波形一帧语音的倒谱④浊音和清音的FFT分析和LPC分析(红色为FFT图像,绿色为LPC图像)三.实验结果分析1.时域分析实验中采用的是汉明窗,窗的长度对能否由短时能量反应语音信号的变化起着决定性影响。

这里窗长合适,En能够反应语音信号幅度变化。

同时,从图像可以看出,En可以作为区分浊音和清音的特征参数。

短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。

从图中可以看出,短时能量和过零率可以近似为互补的情况,短时能量大的地方过零率小,短时能量小的地方过零率较大。

数字信号处理中的语音信号分析与处理研究

数字信号处理中的语音信号分析与处理研究

数字信号处理中的语音信号分析与处理研究数字信号处理(DSP)是现代通信技术中不可或缺的一部分。

语音信号的处理是数字信号处理的一个重要领域。

语音信号通常是指人类语言所产生的声音信号。

通过对语音信号进行处理,可以实现自然语言识别、机器翻译、语音合成和语音压缩等应用。

语音信号分析是DSP中的重要任务之一。

该任务旨在处理原始语音信号,以获取有用的信息,例如声音的基音频率、共振峰和声学特征等。

在语音信号分析中,通常采用数字滤波器、时域分析和傅里叶变换等技术,以实现对语音信号的准确分析。

数字滤波器被广泛应用于语音信号分析中。

数字滤波器是数字信号处理领域中最常用的算法之一。

数字滤波器可以对语音信号进行滤波和放大,以提高信噪比和语音信号的质量。

数字滤波器主要分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器两种类型。

FIR滤波器是一种线性滤波器,它的响应只取决于其输入和系数。

IIR滤波器是一种非线性滤波器,它的响应取决于其输入、系数和先前的输出。

在语音信号分析中,通常使用IIR滤波器作为语音信号的滤波器。

时域分析也是语音信号分析的重要技术之一。

时域分析通过计算语音信号在时间上的变化,以检测语音信号中的成分。

时域分析通常涉及到对语音信号的自相关函数和互相关函数的计算。

自相关函数描绘了语音信号在不同时间点的自我相关性,而互相关函数则描绘了不同语音信号之间的相互关系。

傅里叶变换(FFT)也是语音信号分析中广泛使用的技术之一。

傅里叶变换可以将时间域信号转换为频域信号,以识别频率响应和频域特征。

傅里叶变换可以分为快速傅里叶变换(FFT)和离散傅里叶变换(DFT)。

在语音信号分析中,通常使用FFT算法以实现对语音信号的频域分析和识别。

除了语音信号分析外,语音信号处理也是DSP的另一个重要领域。

语音信号处理可以对处理过的语音信号进行操作,以获取所需的结果。

例如,语音信号处理可以实现语音信号的降噪、去除回声和数字听力等应用。

语音信号分析与处理2011

语音信号分析与处理2011

数字信号处理实验二:语音信号分析与处理学号 姓名注:1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。

2)请在授课教师规定的时间内完成;3)完成作业后,请以word 格式保存,文件名为:学号+姓名4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并给出程序内容。

1. 实验目的(1) 学会MATLAB 的使用,掌握MATLAB 的程序设计方法(2) 掌握在windows 环境下语音信号采集的方法(3) 掌握MATLAB 设计FIR 和IIR 滤波器的方法及应用(4) 学会用MATLAB 对语音信号的分析与处理方法2. 实验内容录制一段自己的语音信号,对录制的语音信号进行采样,画出采样后语音信号的时域波形和频谱图,确定语音信号的频带范围;使用MATLAB 产生白噪声信号模拟语音信号在处理过程中的加性噪声并与语音信号进行叠加,画出受污染语音信号的时域波形和频谱图;采用双线性法设计出IIR 滤波器和窗函数法设计出FIR 滤波器,画出滤波器的频响特性图;用自己设计的这两种滤波器分别对受污染的语音信号进行滤波,画出滤波后语音信号的时域波形和频谱图;对滤波前后的语音信号进行时域波形和频谱图的对比,分析信号的变化;回放语音信号,感觉与原始语音的不同。

3. 实验步骤1)语音信号的采集与回放利用windows 下的录音机或其他软件录制一段自己的语音(规定:语音内容为自己的名字,以wav 格式保存,如wql.wav ),时间控制在2秒之内,利用MATLAB 提供的函数wavread 对语音信号进行采样,提供sound 函数对语音信号进行回放。

[y,fs,nbits]=wavread(file),采样值放在向量y 中,fs 表示采样频率nbits 表示采样位数。

Wavread 的更多用法请使用help 命令自行查询。

2)语音信号的频谱分析利用fft 函数对信号进行频谱分析3)受白噪声干扰的语音信号的产生与频谱分析①白噪声的产生:N1=sqrt (方差值)×randn(语音数据长度,2)(其中2表示2列,是由于双声道的原因) 然后根据语音信号的频谱范围让白噪声信号通过一个带通滤波器得到一个带限的白噪声信号N2;带通滤波器的冲激响应为:h B (n )=))((sin ))((sin 1122απωπωαπωπω---n c n c c c c c其中ωc1为通带滤波器的下截止频率,ωc2为通带滤波器的上截止频率。

《信号与系统》课程设计——语音信号的分析和处理

《信号与系统》课程设计——语音信号的分析和处理

《信号与系统》课程设计——语音信号的分析和处理第一篇:《信号与系统》课程设计——语音信号的分析和处理《信号与系统》课程设计——语音信号的分析和处理【设计题目】基于时频域的分析方法对语音信号进行分析和处理【设计目标】尝试对语音信号进行时频域分析和处理的基本方法【设计工具】MATLAB 【设计原理】通过MATLAB的函数wavread()可以读入一个.wav格式的音频文件,并将该文件保存到指定的数组中。

例如下面的语句(更详细的命令介绍可以自己查阅MATLAB的帮助)中,将.wav读入后存放到矩阵y中。

y = wavread('SpecialEnglish.wav');对于单声道的音频文件,y只有一行,即一个向量;对于双声道的音频文件,y有两行,分别对应了两个声道的向量。

我们这里仅对一个声道的音频进行分析和处理即可。

注意:.wav文件的采样频率为44.1KHz,采样后的量化精度是16位,不过我们不用关心其量化精度,因为在MATLAB读入后,已将其转换成double型的浮点数表示。

在获得了对应音频文件的数组后,我们可以对其进行一些基本的分析和处理。

可以包括:1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可以对语音信号采用8KHz的采样速率。

2、分析男声和女声的差别。

我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。

同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。

3、语音与乐器音频的差别。

比较语音信号与乐器音频信号的差别,尤其是在频域上的差别。

4、.wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。

对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。

数字信号处理实验-音频信号处理

数字信号处理实验-音频信号处理

图1 任务一程序流程图1、音频信号采集道,只取第一个声道进行处理,接着使用sound函数以fs频率进行音频回放。

2、音频信号频域分析以采样间隔T划分时域并绘制出signal信号的时域波形;调用fft函数,对signal 进行快速傅里叶变换,用abs函数取傅里叶变换后结果的幅值进行幅频分析,绘制出频谱图。

在绘制频谱图时由于考虑到快速傅里叶变换的对称性,只取序列的前半部分进行观察分析。

3、音频信号分解为了实现音频信号的分解及合成,先对原信号的频谱图进行观察分析,发现原信号的主要能量集中在三个主要频率上,于是考虑用这三频率的正弦信号合成原信号。

为了求得这三个频率,先调用findpeaks函数找到频谱图上的各个局部极大值peak及其对应的位置locs,然后用sort对峰值点进行排序,找到最大的三个值,接着用find 函数找到这三个最大值在locs中的位置,也就知道了对应的频率。

这里有一个问题就是最小的峰值频率并不是在sort排序后的第三位而是在第四位,需要有一个调整;确定了主要谱线后,使用text函数进行峰值标注;4、音频信号合成接着将这三个谱线还原回时域正弦信号,幅度的比例等于对应频率上的幅度比例然后然后叠加,得到合成后的信号,绘制出时域波形,与原信号波形进行比较,接着对两个正弦信号进行fft,绘制出他们的频谱,然后对合成的信号进行fft,做出频谱图和原信号的频谱图进行比较.5、音频信号回放用sound函数进行原信号和合成信号的回放,比较差异。

实验内容二:任意音频信号的时域和频域分析及数字滤波器设计通过对任务具体内容的分析,可以建立出任务二程序框图如下,之后将对编程思想及思路进行介绍:图2任务二程序流程图1、音频信号采样自己录音频并另存为”ding.wav”后,先用audioread函数读取音频信号得到采样序列signal及对应采样频率fs,由于获取的音频信号是双声道,只取第一个声道进行处理。

2、时域采样使用audioread函数得到的采样序列signal及采样频率fs为过采样状态,此时我们对signal再进行等间隔采样,达到减少采样点数和降低采样频率的效果,进而实现合理采样状态signal2、fs2和欠采样状态signal1、fs1;使用sound函数分别对这两种采样状态进行回放。

对语音信号进行分析及处理.

对语音信号进行分析及处理.

一、设计目的1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解;2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力;3.培养自我学习的能力和对相关课程的兴趣;二、设计过程1、语音信号的采集采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。

采样位数可以理解为声卡处理声音的解析度。

这个数值越大,解析度就越高,录制和回放的声音就越真实采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。

利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。

接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。

[x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。

2 、语音信号的频谱分析(1)首先画出语音信号的时域波形;程序段:x=x1(60001:1:120000); %截取原始信号60000个采样点plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A');(2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性;y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2)subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|');ylabel('幅度谱');subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱');(3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解;d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声3、设计数字滤波器(1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语音信号分析与处理摘要用MATLAB对语音信号进行分析与处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测和参数估计等处理。

IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR滤波器的低的多。

信号处理中和频谱分析最为密切的理论基础是傅立叶变换(FT)。

离散傅立叶变换(DFT)和数字滤波是数字信号处理的最基本内容。

关键词:MATLAB;语音信号;加入噪声;滤波器;滤波1. 设计目的与要求(1)待处理的语音信号是一个在20Hz~20kHz频段的低频信号。

(2)要求MATLAB对语音信号进行分析和处理,采集语音信号后,在MATLAB平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器进行滤除噪声,恢复原信号。

2. 设计步骤(1)选择一个语音信号或者自己录制一段语音文件作为分析对象;(2)对语音信号进行采样,并对语音信号进行FFT频谱分析,画出信号的时域波形图和频谱图;(3)利用MATLAB自带的随机函数产生噪声加入到语音信号中,对语音信号进行回放,对其进行FFT频谱分析;(4)设计合适滤波器,对带有噪声的语音信号进行滤波,画出滤波前后的时域波形图和频谱图,比较加噪前后的语音信号,分析发生的变化;(5)对语音信号进行回放,感觉声音变化。

3. 设计原理及内容3.1 理论依据(1)采样频率:采样频率(也称采样速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。

采样频率只能用于周期性采样的采样器,对于非周期采样的采样器没有规则限制。

通俗的讲,采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率越高,即采样的间隔时间越短,则在单位之间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

(2)采样位数:即采样值或取样值,用来衡量声音波动变化的参数。

(3)采样定理:在进行模拟/数字信号的的转换过程中,当采样频率f s.max大于信号中,最高频率f max的2倍时,即:f s.max>=2f max,则采样之后的数字信号完整的保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样频率又称乃奎斯特定理。

(4)时域信号的FFT分析:信号的频谱分析就是计算信号的傅立叶变换。

连续信号与系统的傅立叶分析显然不便于直接用计算机进行计算,使其应用受到限制。

而FFT是一种时域和频域均离散化的变换,适合数值计算,成为用计算机分析离散信号和系统的的有力工具。

对连续信号和系统,可以通过时域采样,应用DFT 进行近似谱分析。

(5)数字信号滤波器原理和方法:IIR数字滤波器系统函数:其中H(z)成为N阶IIR数字滤波器系统函数。

IIR滤波器设计方法有间接和直接法,间接法是借助于模拟滤波器的设计方法进行的。

其步骤是:先设计过度模拟滤波器得到系统函数H a(s),然后将H a(s)按某种方法转换成数字滤波器的系统函数H(z)。

利用有限脉冲响应(FIR)滤波器设计滤波器。

有限脉冲响应滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。

用N表示FIR滤波器单位脉冲响应h(n)的长度,其系统函数H(z)为H(z)是z-1的N-1次多项式,它在z平面上有N-1个零点,在原点z=0处有一个N-1重极点。

因此,H(z)永远稳点。

稳定和线性相位是FIR滤波器最突出的优点。

(6)各种不同类型滤波器的性能比较:巴特沃斯滤波器具有单调下降的幅频特性;切比罗夫滤波器的幅频特性在通带或阻带有等波纹特性,可以提高选择性;贝塞尔滤波器通带内有有较好的线性相位特性;椭圆滤波器的选择性相对前三种是最好的,但通带和阻带内均呈现等波纹幅频特性,相对特性的非线性稍重。

IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR 滤波器的低的多。

IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图进行设计的,因而保留了一些典型模拟滤波器的优良的幅度特性。

(7)离散傅立叶变换其中W N= ,N为DFT变换空间长度。

3.2 信号采集从网上下载一段wav格式的文件,把文件“000.wav”保存在MATLAB文件夹下的work文件夹中,以.wav格式保存,这是windows操作系统规定的声音文件保存的标准。

[x1,fs]=audioread('000.wav');%把语音信号进行加载入MATLAB仿真软件平台中,采样值放在向量x1中,fs表示采样频率(Hz)x=x1(1:5000,1);%对双声道信号取单声道并取其5000点X=fft(x,4096);%对信号做4096点FFT变换调用参数x为被变换的时域序列向量,变换区间长度为4096,当x小于4096时,fft函数自动在x后面补零。

函数返回x的4096点DFT变换结果X。

当x大于4096时,fft函数计算x前面4096个元素构成的长序列的4096点DFT,忽略x后面的元素。

进行图形分区,首先画出语音信号的时域波形,然后对其进行频谱分析。

在MATLAB中利用fft对信号进行快速傅立叶变换,得到信号的频谱特性。

magX=abs(X);%把傅里叶变换后的复数值取模subplot(2,1,1);%图形分区plot(x);title('原始信号波形');%绘制波形f=(0:2047)*fs/2/2048;%单位转换subplot(2,1,2);plot(f,magX(1:2048));title('原始信号频谱');其程序如下:[x1,fs]=audioread('000.wav'); %读取语音信号x=x1(1:5000,1);%对双声道信号取单声道并取其5000点X=fft(x,4096);%对信号做4096点FFT变换magX=abs(X);%把傅里叶变换后的复数值取模subplot(2,1,1);%图形分区plot(x);title('原始信号波形');%绘制波形f=(0:2047)*fs/2/2048;%单位转换subplot(2,1,2);plot(f,magX(1:2048));title('原始信号频谱');sound(x1,fs)程序结果如下图:3.3加噪语音信号并对其FFT频谱分析其程序如下:[x,fs]=audioread('000.wav');n=length(x);x_p=fft(x,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(x);title('原始语音信号采样后的时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(x_p(1:n/2)));title('原始语音信号采样后的频谱图');xlabel('频率Hz');ylabel('频率幅值');L=length(x);noise=(cos(6000/fs*pi*n)+cos(10000/fs*pi*n)+cos(15000/fs*pi*n))*0.5; x_z=x+noise';sound(x_z,fs)n=length(x);x_zp=fft(x_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(x_z);title('加噪语音信号时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(x_zp(1:n/2)));title('加噪语音信号频谱图');xlabel('频率Hz');ylabel('频率幅值');sound(x_z,fs)程序结果如下图:加入噪声后得到的信号和原始的语音信号有明显的不同。

3.4 数字滤波器设计设计数字滤波器的任务就是寻找一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。

本实验采用MATLAB工具箱函数buttord设计数字低通IIR滤波器。

fp=800;fs=1300;rs=35;rp=0.5;Fs=44100;wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs));[n,wn]=buttord(wp,ws,rp,rs,'s');[b,a]=butter(n,wn,'s');[num,den]=bilinear(b,a,Fs);[h,w]=freqz(num,den,512,Fs);figure(1)%subplot(3,1,1)plot(w,abs(h));xlabel('频率/Hz');ylabel('幅值');title('巴特沃斯低通滤波器幅度特性');axis([0,5000,0,1.2]); grid on;figure(2)%subplot(3,1,2)plot(w,20*log10(abs(h)));xlabel('频率/Hz');ylabel('幅值db');title('巴特沃斯低通滤波器幅度特性db');axis([0,5000,-90,10]); grid on;figure(3)plot(w,180/pi*unwrap(angle(h)));xlabel('频率/Hz');ylabel('相位');title('巴特沃斯低通滤波器相位特性');axis([0,5000,-1000,10]) ;grid on; [s1,Fs,bits]=audioread('D:\222.wav'); x1=s1(:,1);sound(x1,Fs,bits);N1=length(x1);Y1=fft(x1,N1);f1=Fs*(0:N1-1)/N1; t1=(0:N1-1)/Fs; figure(4)plot(f1,abs(Y1))xlabel('频率/Hz');ylabel('幅度');title('原始信号频谱');grid on;axis([0 6000 0 400])y=filter(num,den,x1);sound(y,Fs,bits);N2=length(y);Y2=fft(y,N2);f2=Fs*(0:N2-1)/N2;t2=(0:N2-1)/Fs;figure(5)plot(f2,abs(Y2))xlabel('频率/Hz');ylabel('幅度');title('过滤后信号的频谱'); grid on;axis([0 6000 0 100])程序结果如下图:3.5 信号处理巴特沃斯滤波器利用函数filter进行滤波。

相关文档
最新文档