数字信号处理期末实验-语音信号分析与处理
语音信号分析与处理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
在实验中,当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
数字信号处理实验二:语音信号分析与处理学号 姓名注: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=δ。
语音信号处理实验报告
通信与信息工程学院信息处理综合实验报告班级:电子信息工程1502班指导教师:设计时间:2018/10/22-2018/11/23评语:通信与信息工程学院二〇一八年实验题目:语音信号分析与处理一、实验内容1. 设计内容利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。
2.设计任务与要求1. 基本部分(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。
(2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。
(3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。
(4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。
2. 提高部分(5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。
(6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。
(7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。
(8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。
二、实验原理1.设计原理分析本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。
首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。
数字信号处理实验内容音频信号分析与处理
数字信号处理实验内容音频信号分析与处理数字信号处理实验内容——音频信号采集、分析及处理一、实验目的1.以音频信号为例,熟悉模拟信号数字处理过程,进一步理解数字信号处理概念。
2.掌握运用Matlab实现对音频信号的时频分析方法;3.初步掌握数字音频信号合成的方法。
4.掌握运用Matlab设计IIR和FIR滤波系统的方法;5.掌握运用Matlab实现对加噪的音频信号进行去噪滤波的方法。
锻炼学生运用所学知识独立分析问题解决问题的能力,培养学生创新能力。
二、实验性质综合分析、设计性实验三、实验任务实验内容一:windows系统中的“ding”音频信号的采集、分析、合成1.音频信号的采集编写Matlab程序,采集windows系统中的“ding”声,得到*.wav音频文件,而后实现音频信号回放。
2.音频信号的频谱分析运用Matlab软件实现对音频信号的时域分析和频域分析,并打印相应的图形,完成在实验报告中。
注意:此音频信号的频谱包含两条主要谱线,在进行频谱分析时,注意频谱的完整性,利用MATLAB实现对两条主要谱线的定位并计算谱线所对应的模拟频率。
3.音频信号的分解和合成运用Matlab软件实现音频信号的分解与合成,将音频信号的频谱中两部分频谱成分进行分解,分别绘制出分解后的两个信号的频谱图;然后将分解后的两个信号再合成为一个新的信号,将合成后的新信号的时域、频域图与原来的信号时域、频域图相比较,绘制出对比效果图。
4.音频信号的回放运用Matlab软件实现音频信号的回放,将合成后的新信号和原音频信号分别进行回放,对比两个信号的声音效果。
5.音频信号分段傅里叶分析(选作)分析对一般音频.wav信号进行一次性傅里叶分析时存在的主要问题,利用分段傅里叶变换对该音频信号重新分析并合成。
对比一次傅里叶分析结果并进行总结。
实验内容二:任意音频信号的时域和频域分析及数字滤波器设计1.音频信号的采集音频信号的采集可以通过Windows自带的录音机也可以用专用的录制软件录制一段音频信号(尽量保证无噪音、干扰小),也可以直接复制一段音频信号(时间为1s),但必须保证音频信号保存为.wav 的文件。
数字信号处理期末实验-语音信号分析与处理
数字信号处理期末实验-语⾳信号分析与处理语⾳信号分析与处理摘要⽤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)来表⽰。
采样频率只能⽤于周期性采样的采样器,对于⾮周期采样的采样器没有规则限制。
通俗的讲,采样频率是指计算机每秒钟采集多少个声⾳样本,是描述声⾳⽂件的⾳质、⾳调,衡量声卡、声⾳⽂件的质量标准。
数字信号处理语音处理课程设计实验报告
实验报告(1)语音采样和观察clear,clc;[y,fs]=audioread('E:\大学课程\大三上\数字信号处理\201400121184吴蔓.mp3'); %语音信号的采集,把采样值放在y中subplot(3,1,1)plot(y);title('时域波形');sound(y,fs); %语音信号的播放n=length(y) %计算语音信号的长度Y=fft(y) ; %快速傅里叶变换subplot(3,1,2)plot(abs(Y)); %绘出频域波形title('幅频特性');subplot(3,1,3)plot(angle(Y));title('相频特性');plot(angle(Y1)); title('延时后相频特性');0.511.522.533.544.5x 105-0.500.5延时后时域波形0.511.522.533.544.5x 10505001000延时后幅频特性0.511.522.533.544.5x 105-505延时后相频特性我延时了和原信号一样长的点数,可以看出来延时后的信号要后播放一小段时间并且幅频相频差别不大。
(3)混响: clear,clc;[y,fs]=audioread('E:\大学课程\大三上\数字信号处理\201400121184吴蔓.mp3'); %语音信号的采集一,加一撇表示转置。
如右图二,语音信号真的大多数是在3.4khz以内的,由下面三图对比可以发现,实际人的声音只在一段频率范围内,并且主要集中在3400hz以内。
但录制的语音还有一些少许的幅度很低的高频信号达到了100khz,那都是人耳听不见的声音。
也可以看出声音占得频谱很宽,并且是在数字域的pi也就是模拟域的FS以内,audioread函数读取Mp3格式的采样率大约是44100hz。
也可以看出采样时大致满足奈奎斯特定理,fs约等于2fh.(5)多重回声(回声数量有限):clear,clc;[y,fs]=audioread('E:\大学课程\大三上\数字信号处理\201400121184吴蔓.mp3') ; %语音信号的采集,从命令行窗口的输出可以看出%采样后的信号矩阵是多行一列的,下面n=length(y0)语句计算出来有220032个采样数据,有的数据为0,大多数数据是复数y0= y (:,1);%冒号代表“所有的”,这里指的是把y的所有行的第一列给y0,实际上y0和y 一样的,这句指令用来取单声道信号N=3; %三重回声y1=filter(1,[1,zeros(1,80000/(N+1)),0.5],y');%这里的y'指的是y的转置矩阵,故是一行多列的,y'作为filter函数的输入矩阵%[1,zeros(1,30000),0.5]是分母矩阵,1是分子,就相当于这是个无限长的信号,求其差分方程,y1是输出矩阵,这里filter函数相当于是个IIR滤波器,系统函数%相当于H(Z)=1/(1-0.5Z.^(-30001)).sound(10*y1,fs); %回放三重回声信号,这里乘以10以加强信号,便于听取,因为如果衰减系数太大则回声难以听见n=length(y0) ;Y0=fft(y0) ;Y=fft(y1) ;figure(1);subplot(2,1,1)plot(y);title('原音时域波形');axis([0 225000 -0.4 0.6]);subplot(2,1,2)plot(y1);title('多重回声时域波形');。
对语音信号进行分析及处理.
一、设计目的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=δ。
数字信号处理实验报告--含噪语音信号的分析
大连理工大学实验报告学院(系):专业:班级:姓名:学号:组:___实验时间:实验室:实验台:指导教师签字:成绩:实验五含噪语音信号的分析一、实验目的和要求二、实验原理和内容三、实验结果与分析第一部分:产生含噪的语音信号首先分析原始的语音信号的波形和频谱:[x,fs,bits]=wavread('009.wav');%sound(x,fs,bits);X=fft(x);t1=(0:length(x)-1)*fs/length(x)-fs/2;figure(1);subplot(2,1,1);plot(x);axis([0,400000,-2,2]);title('原始语音信号时域波形');subplot(2,1,2);plot(t1,fftshift(abs(X)));title('原始语音信号的频谱');%添加噪声N=length(x);noise=0.3*randn(size(x));x1=x+noise;X1=fft(x1);t2=(0:length(x1)-1)*fs/length(x1)-fs/2;%sound(x1,fs,bits);figure(2);subplot(2,1,1);plot(x1);title('加噪语音信号时域波形');subplot(2,1,2);plot(t2,fftshift(abs(X1)));title('加噪语音信号的频谱');0.511.522.533.54x 105-2-1012原始语音信号时域波形-2.5-2-1.5-1-0.500.51 1.52 2.5x 104050001000015000原始语音信号的频谱0.511.522.533.54x 105-2-1012加噪语音信号时域波形-2.5-2-1.5-1-0.500.51 1.52 2.5x 104050001000015000加噪语音信号的频谱利用MATLAB 命令生成含噪语音信号:wavwrite(x1,fs,16,'x1.wav'); 将生成的x1.wav 文件作为后续的GUI 图形界面中用于分析的语音信号。
语音信号处理 实验报告
实验一、语音信号采集与分析一、实验目的:1)了解语音信号处理基本知识:语音信号的生成的数学模型。
2)在理论学习的基础上,进一步地理解和掌握语音信号的读入、回放、波形显示。
语音信号时域和频域分析方法。
二、实验原理一定时宽的语音信号,其能量的大小随时间有明显的变化。
其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多。
短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上,可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,因而,对一短时语音段计算其短时平均能量及短时平均过零数,就可以较好地区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。
这在语音识别中有重要意义。
FFT在数字通信、语音信号处理、图像处理、匹配滤波以及功率谱估计、仿真、系统分析等各个领域都得到了广泛的应用。
本实验通过分析加噪的语音信号频谱,可以作为分离信号和噪声的理论基础。
三、实验内容:Matlab编程实验步骤:1.新建M文件,扩展名为“.m”,编写程序;2.选择File/Save命令,将文件保存在F盘中;3.在Command Window窗中输入文件名,运行程序;程序一、用MATLAB对原始语音信号进行时域分析,分析短时平均能量及短时平均过零数。
程序二、用MATLAB对原始语音信号进行频域分析,画出它的时域波形和频谱给原始的语音信号加上一个高频余弦噪声,频率为5kHz。
画出加噪后的语音信号时域和频谱图。
程序1.a=wavread(' D:\II.wav'); %读取语音信号的数据,赋给变量x1,这里的文件的全路径和文件名由个人设计n=length(a);N=320;subplot(3,1,1),plot(a);h=linspace(1,1,N);%形成一个矩形窗,长度为NEn=conv(h,a.*a);%求卷积得其短时能量函数Ensubplot(3,1,2),plot(En);for i=1:n-1if a(i)>=0b(i)= 1;elseb(i) = -1;endif a(i+1)>=0b(i+1)=1;elseb(i+1)=-1;endw(i)=abs(b(i+1)-b(i));end%求出每相邻两点符号的差值的绝对值k=1;j=0;while (k+N-1)<nZm(k)=0;for i=0:N-1;Zm(k)=Zm(k)+w(k+i);endj=j+1;k=k+160; %每次移动半个窗endfor w=1:jQ(w)=Zm(160*(w-1)+1)/640;%短时平均过零率endsubplot(3,1,3),plot(Q);实验结果打印粘贴到右侧:程序2:fs=22050; %语音信号采样频率为22050x1=wavread('D:\II.wav'); %读取语音信号的数据,赋给变量x1sound(x1,22050); %播放语音信号f=fs*(0:511)/1024;t=0:1/22050:(size(x1)-1)/22050; %将所加噪声信号的点数调整到与原始信号相同Au=0.03;d=[Au*cos(2*pi*5000*t)]'; %噪声为5kHz的余弦信号x2=x1+d;sound(x2,22050); %播放加噪声后的语音信号y2=fft(x2,1024); %对信号做1024点FFT变换figure(1)subplot(2,1,1);plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n');ylabel('幅值 n');subplot(2,1,2);plot(t,x2)title('加噪后的信号');xlabel('time n');ylabel('幅值 n');figure(2)subplot(2,1,1);plot(f,abs(x1(1:512)));title('原始语音信号频谱');xlabel('Hz');ylabel('幅值');subplot(2,1,2);plot(f,abs(y2(1:512)));title('加噪后的信号频谱');xlabel('Hz'); ylabel('幅值');实验结果打印粘贴到右侧:050010001500200025003000350040004500原始语音信号time n幅值 n加噪后的信号time n幅值 n020004000600080001000012000原始语音信号频谱Hz幅值加噪后的信号频谱Hz幅值四、实验分析加入噪声后音频文件可辨性下降,波形的平缓,频谱图上看,能量大部分集中在2000HZz到4000Hz之间。
语音信号处理与分析
语音信号处理与分析语音信号处理与分析是数字信号处理领域的一个重要分支。
它涉及了对语音信号的各种处理技术和分析方法。
语音信号处理与分析的主要目标是提取和控制语音信号中的有用信息,以实现语音识别、语音合成、语音增强、语音编码等一系列语音相关应用。
一、语音信号特点语音信号是人类沟通中最基本的形式之一。
它具有以下几个基本特点:1. 声音频率范围广泛:人类能够听到的声音频率范围约为20Hz到20kHz。
而语音信号一般集中在300Hz到4kHz之间,这个频率范围包含了语音的大部分信息。
2. 时域相关性强:语音信号在时域上呈现出一定的连续性,即相邻时间点的样本值之间存在一定的相关性。
3. 信息量大:语音信号中包含了大量的语义、语法和语音音素信息,涵盖了人类语言交流的各个层面。
二、语音信号处理语音信号处理旨在提取和改善语音信号中的信息,使其更易于分析和理解。
常见的语音信号处理技术包括:1. 语音预处理:对原始语音信号进行降噪、去除回声、均衡化等处理,以增强语音的清晰度和可听性。
2. 特征提取:通过对语音信号进行时频分析,提取出与语音内容相关的特征参数,如短时能量、过零率、共振峰频率等。
3. 语音编码:将语音信号以压缩形式存储或传输,以减少存储空间和传输带宽。
常用的语音编码算法有PCM、ADPCM、MP3等。
4. 语音识别:通过计算机对语音信号进行自动识别,将语音转化为文字。
语音识别广泛应用于语音助手、语音搜索等领域。
5. 语音合成:根据输入的文字信息,生成与人类声音相似的合成语音。
语音合成的应用包括语音助手、有声阅读、机器人交互等。
三、语音信号分析语音信号分析旨在从语音信号中提取有关语音的信息,以揭示语音产生机制和语音特征。
常见的语音信号分析方法包括:1. 短时傅里叶变换(STFT):将语音信号按时间窗进行分段,对每个时间窗进行傅里叶变换,得到时间频率分布谱。
2. 线性预测编码(LPC):通过建立线性预测模型,提取出语音信号中的共振峰频率和预测残差。
语音信号处理实验报告
语音信号处理实验报告 The Standardization Office was revised on the afternoon of December 13, 2020语音信号处理实验报告——语音信号分析实验一.实验目的及原理语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理,并且语音合成的音质好坏和语音识别率的高低,都取决于对语音信号分析的准确性和精确性。
贯穿语音分析全过程的是“短时分析技术”。
因为从整体来看,语音信号的特性及表征其本质特征的参数均是随时间变化的,所以它是一个非平稳态过程,但是在一个短时间范围内(一般认为在10~30ms的时间内),其特性基本保持不变,即相对稳定,可将其看做一个准稳态过程,即语音信号具有短时平稳性。
所以要将语音信号分帧来分析其特征参数,帧长一般取为10ms~30ms。
二.实验过程男声及女声(蓝色为时域信号,红色为每一帧的能量,绿色为每一帧的过零率)某一帧的自相关函数3.频域分析①一帧信号的倒谱分析和FFT及LPC分析②男声和女声的倒谱分析对应的倒谱系数:,,……对应的LPC预测系数:1,,,,,……原语音波形一帧语音波形一帧语音的倒谱③浊音和清音的倒谱分析④浊音和清音的FFT分析和LPC分析(红色为FFT图像,绿色为LPC图像)三.实验结果分析1.时域分析实验中采用的是汉明窗,窗的长度对能否由短时能量反应语音信号的变化起着决定性影响。
这里窗长合适,En能够反应语音信号幅度变化。
同时,从图像可以看出,En可以作为区分浊音和清音的特征参数。
短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。
从图中可以看出,短时能量和过零率可以近似为互补的情况,短时能量大的地方过零率小,短时能量小的地方过零率较大。
从浊音和清音的时域分析可以看出,清音过零率高,浊音过零率低。
从男声女声的时域信号对比图中可以看出,女音信号在高频率分布得更多,女声信号在高频段的能量分布更多,并且女声有较高的过零率,这是因为语音信号中的高频段有较高的过零率。
语音信号的分析与处理
语音信号的分析与处理在日常生活中,我们常常与语音信号打交道,如电话通讯、语音识别、音乐播放、影片配音等。
语音信号是人类声音的一种电信号表示形式,它的特性是非常复杂的,包括语音的声音频率、幅度大小、声音的拐角特征、信号的频率变化以及背景噪声等多方面因素。
因此,对语音信号正确分析和处理是现代通讯研究、智能语音识别和场景识别等领域的重要问题,也是一个迫切需要解决的问题。
一、语音信号的基本特征语音信号具有很多特征,如频率、能量、音色和韵律等。
频率是语音信号的基本特征之一,它是指语音信号中声音的高低频率。
音频信号的波形形状与频率息息相关。
一般组成语音的基元元音频率范围在250 Hz ~ 1000 Hz之间,辅音频率的范围在100 Hz ~ 4 kHz之间。
能量与音量相关,是指语音信号所含有的总能量。
音色是语音信号的另一个特征,它能够指示语音信号的来源。
最后,韵律则是指语音信号的节奏,其包含语音中音节、词语、句子和语气的信息。
二、语音信号的分析方法语音信号的分析方法可以分为时域分析和频域分析两种方式。
其中,时域分析是一种基于时间的分析,它通过观察信号的实时波形来分析语音信号的特征。
频域分析则是一种基于频率的分析,它通过观察信号的频谱特性来分析语音信号的频率、音量和音色。
1. 时域分析时域分析是一种非常基础的语音信号分析方法。
通常,时域分析方法通过分析语音信号的波形特征来判断语音信号的特点。
它能够检查信号在时间上的变化,比如分析语音信号中频率与振幅的变化。
这种方法主要通过时间和采样频率来确定语音信号的基本特征。
2. 频域分析频域分析则是一种付于注意的语音信号分析方法。
它主要通过傅里叶变换(Fourier transform)或小波变换(Wavelet transform)等频率分析方法来研究信号在不同频段上的特征。
通过频域分析可以获得信号在较高频段上的信息,该信息往往无法通过时域分析方法获得。
频域分析方法可以用于语音信号的分析、信号噪声抑制和语音信号质量改进等方面。
语音信号处理实验报告
语音信号处理实验报告语音信号处理实验报告一、引言语音信号处理是一门研究如何对语音信号进行分析、合成和改善的学科。
在现代通信领域中,语音信号处理起着重要的作用。
本实验旨在探究语音信号处理的基本原理和方法,并通过实验验证其有效性。
二、实验目的1. 了解语音信号处理的基本概念和原理。
2. 学习使用MATLAB软件进行语音信号处理实验。
3. 掌握语音信号的分析、合成和改善方法。
三、实验设备和方法1. 设备:计算机、MATLAB软件。
2. 方法:通过MATLAB软件进行语音信号处理实验。
四、实验过程1. 语音信号的采集在实验开始前,我们首先需要采集一段语音信号作为实验的输入。
通过麦克风将语音信号输入计算机,并保存为.wav格式的文件。
2. 语音信号的预处理在进行语音信号处理之前,我们需要对采集到的语音信号进行预处理。
预处理包括去除噪声、归一化、去除静音等步骤,以提高后续处理的效果。
3. 语音信号的分析语音信号的分析是指对语音信号进行频谱分析、共振峰提取等操作。
通过分析语音信号的频谱特征,可以了解语音信号的频率分布情况,进而对语音信号进行进一步处理。
4. 语音信号的合成语音信号的合成是指根据分析得到的语音信号特征,通过合成算法生成新的语音信号。
合成算法可以基于传统的线性预测编码算法,也可以采用更先进的基于深度学习的合成方法。
5. 语音信号的改善语音信号的改善是指对语音信号进行降噪、增强等处理,以提高语音信号的质量和清晰度。
常用的语音信号改善方法包括时域滤波、频域滤波等。
六、实验结果与分析通过实验,我们得到了经过语音信号处理后的结果。
对于语音信号的分析,我们可以通过频谱图观察到不同频率成分的分布情况,从而了解语音信号的特点。
对于语音信号的合成,我们可以听到合成后的语音信号,并与原始语音信号进行对比。
对于语音信号的改善,我们可以通过降噪效果的评估来判断处理的效果。
七、实验总结通过本次实验,我们深入了解了语音信号处理的基本原理和方法,并通过实验验证了其有效性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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进行滤波。