基于Matlab的语音信号处理与分析
基于MATLAB的音频处理技术研究

基于MATLAB的音频处理技术研究第一章引言音频处理技术是数字信号处理领域的一个重要分支,在音频信号采集、分析、增强和合成等方面有着广泛的应用。
随着数字信号处理技术的不断发展,基于MATLAB的音频处理技术也得到了快速的发展和应用。
本文将介绍MATLAB在音频处理领域的应用和研究,然后重点分析基于MATLAB的音频信号预处理和特征提取技术。
第二章 MATLAB在音频处理中的应用MATLAB是一种强大的数学仿真软件,其内置了丰富的数学分析工具和信号处理库,可以广泛应用于信号处理、数字通信、嵌入式系统设计等领域。
在音频处理领域,MATLAB提供了丰富的函数和工具箱,可以对音频进行采集、分析、合成和处理等任务。
2.1 音频采集MATLAB提供了嵌入式硬件支持包,可以连接各种类型的音频设备,如麦克风、音频接口等。
用户可以使用MATLAB编写程序,对音频进行实时采集和录制,并实时在MATLAB的界面上进行显示和处理。
2.2 音频分析MATLAB提供了许多用于音频信号分析的工具箱,如信号处理工具箱、音频工具箱和语音处理工具箱等。
用户可以利用这些工具箱进行频域分析、时域分析、滤波、FFT、STFT和解调等操作,以及进行各种音频信号的特征提取和分类。
2.3 音频合成MATLAB提供了各种音频合成的工具箱,如声学模型工具箱、可重复性工具箱和音频合成器等。
用户可以利用这些工具箱进行音频信号的合成和生成,例如混响效果、合成乐器音效等。
第三章基于MATLAB的音频信号预处理技术MATLAB提供了许多音频信号预处理的工具,这些工具可以在进行音频信号分析和特征提取之前对信号进行预处理,如降噪、去混响、去噪声,以及去掉杂音等。
3.1 降噪降噪是去除音频信号中的噪音干扰,使得信号更加清晰的重要步骤。
MATLAB提供了多种降噪算法,例如小波阈值法、基于分量分析的降噪方法和基于统计学习的降噪方法等。
这些算法可以对音频信号进行有效的降噪,从而提高信号的质量,提高后续分析的准确性。
基于matlab的语音信号的基本处理

专题研讨四、信号与系统综合应用确定题目(根据个人兴趣、结合实际确定题目,可从下面参考题目中选择,也可自由确定):基于matlab的语音信号的基本处理参考题目:题目1:含噪信号滤波题目2:双音多频信号的产生与检测题目3:磁盘驱动系统仿真题目4:卡尔曼滤波器的应用题目5:应用反馈扩大放大器的带宽(以上只是本专题的部分题目)开题报告课题实施过程记录包括仿真程序、仿真结果、结果分析、方案完善等 ○1语音信号的制作及描述 1) 制作语音文件:用windows 录音机录制一小段语音文件"333.wav ”,内容为"信号与信息系统",由一同学播音. 2) 用matlab 播放”333.wav ”仿真程序:3) [y,Fs,bits]=wavread('333.wav'); sound(y,Fs);pause;4) 绘画出语音文件的时域和频域波形: 仿真程序:[y,Fs,bits]=wavread('333.wav'); plot(y);仿真结果:0123456789x 104-0.8-0.6-0.4-0.20.20.40.6结果分析:随着时间变化,声音能量图形 方案完善:1.时间轴有问题,与实际的时间不一样.2.语音信号的频域分析更清楚.仿真程序:[y,Fs,bits]=wavread('333.wav'); y=y(:,1);sLength=length(y); Y = fft(y,sLength);Pyy = Y.* conj(Y) / sLength; halflength=floor(sLength/2); f=Fs*(0:halflength)/sLength; figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)'); t=(0:sLength-1)/Fs; figure;plot(t,y);xlabel('Time(s)');仿真结果:0.51 1.52 2.5x 104Frequency(Hz)00.20.40.60.81 1.2 1.4 1.6 1.82-0.8-0.6-0.4-0.20.20.40.6Time(s)结果分析:频域分析是从另一个角度观察信号;语音信号的一般频域范围"200~2000"Hz ○2语音信号抽取及倍插仿真程序:[y,Fs,bits]=wavread('111.wav'); sound(y,Fs/2);pause;[y,Fs,bits]=wavread('111.wav'); sound(y,2*Fs);pause;仿真结果与分析:以Fs/2及2*Fs 播放的语音信号存在失真, 方案完善:需要做出波形,做更直观的观察. ○3语音信号的加噪1)语音信号加高频噪音及播放. 仿真程序:[y,Fs,bits]=wavread('333.wav'); y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.5;d=A*cos(2*pi*f*t)';y=y+d;sound(y,Fs);仿真结果:播放时伴有尖锐的”吱吱”声.结果分析:由于加入高频成分余弦信号,信号叠加后出现了尖锐的噪音.2)加噪后的语音信号的时域和频域波形.仿真程序:[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;sLength=length(y1);Y = fft(y1,sLength);Pyy = Y.* conj(Y) / sLength;halflength=floor(sLength/2);f=Fs*(0:halflength)/sLength;figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');仿真结果:00.20.40.60.81 1.2 1.4 1.6 1.82-0.8-0.6-0.4-0.20.20.40.6Time(s)0.51 1.522.5x 10405101520253035404550Frequency(Hz)结果分析:时域波形跟加噪前没有什么明显的区别.在频域上我们发现有一个近6000Hz的高频成分,这是产生的噪音的根本所在.方案完善:运用subplot将加噪前和加噪后的时域和频域波形进行对比,效果会更好.○4数字滤波这一部分我们学习了函数BUTTER,进行了最简单的数字滤波.[b,a]=butter(N,wc);代表数字低通滤波器,wc代表归一化频率(0<wc<=1,等于一时为奈奎斯特频率);N为滤波器的阶数.y2=filter(b,a,y1);对信号y1进行巴特滤波,滤波器为[b,a]系统滤波后信号的效果播放.仿真程序:[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;N=2;wc=[0.01,0.07];[b,a]=butter(N,wc);y2=filter(b,a,y1);sound(y2,Fs);仿真结果:原先的噪声消失,语音信号变回原样.滤波器为低通滤波器,滤去高频成分.方案完善:1.画出滤波后的时域和频域波形2. 对滤波器进行系统分析1.画出滤波后的时域和频域波形仿真程序:[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;plot(t,y);xlabel('Time(s)');N=2;wc=[0.01,0.07];[b,a]=butter(N,wc);y2=filter(b,a,y1); sLength1=length(y2); Y1 = fft(y2,sLength1);Pyy = Y1.* conj(Y1) / sLength1; halflength1=floor(sLength1/2); f1=Fs*(0:halflength1)/sLength1; figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)'); t=(0:sLength-1)/Fs; figure;plot(t,y2);xlabel('Time(s)');仿真结果:00.51 1.52 2.5x 1040.511.522.53Frequency(Hz)00.20.40.60.81 1.2 1.4 1.6 1.82-0.8-0.6-0.4-0.20.20.40.6Time(s)结果分析:基本效果良好,有少许失真. 2. 对滤波器进行系统分析 仿真程序:w=linspace(0,6000,10000); wc=[0.01 0.07]; N=2;[b,a]=butter(N,wc); H=freqz(b,a,w); plot(w,abs(H)); axis([0 2500 0 1.5]);仿真结果:010002000300040005000600000.511.5○3RC 模拟滤波(物理形式熟悉) [y,Fs,bits]=wavread('333.wav');%¶Á³öÐźţ¬²ÉÑùÂʺͲÉÑùλÊý¡£y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.5;d=A*cos(2*pi*f*t)';y1=y+d;RC=0.001;b=1/RC;a=[1,1/RC];sys=tf(b,a);y2=lsim(sys,y1,t);sound(y2,Fs);结果:效果良好,声音恢复.RC 滤波器的波特图RC=0.001;w=linspace(0,2,1024);b=1/RC;a=[1,1/RC];g=tf(b,a);bode(g);xlabel('w');ylabel('H(jw)');-40-30-20-100M a g n i t u d e (d B)101102103104105H (j w ) (d e g )Bode Diagramw (rad/sec)总结报告摘要:利用所学的知识对实际语音信号进行时域,频域分析;体会信号的抽样定理,即信号的抽取和倍插;运用信号叠加对信号进新加噪(高频),并用数字滤波器butter 滤去高频成分去噪;课题原理框图:课题最终仿真程序:○1语音信号的制作及描述; [y,Fs,bits]=wavread('333.wav');sound(y,Fs);pause;[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);Y = fft(y,sLength);Pyy = Y.* conj(Y) / sLength;halflength=floor(sLength/2);f=Fs*(0:halflength)/sLength;figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');t=(0:sLength-1)/Fs;figure;plot(t,y);xlabel('Time(s)');○2语音信号抽取及倍插; [y,Fs,bits]=wavread('111.wav');sound(y,Fs/2);pause;[y,Fs,bits]=wavread('111.wav');sound(y,2*Fs);pause;○3语音信号的加噪;[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;N=2;wc=[0.01,0.07];[b,a]=butter(N,wc);y2=filter(b,a,y1);sound(y2,Fs);[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;sLength=length(y1);Y = fft(y1,sLength);Pyy = Y.* conj(Y) / sLength;halflength=floor(sLength/2);f=Fs*(0:halflength)/sLength;figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');○4滤波器.[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;N=2;wc=[0.01,0.07];[b,a]=butter(N,wc);y2=filter(b,a,y1);sound(y2,Fs);[y,Fs,bits]=wavread('333.wav');y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.05;d=A*cos(2*pi*f*t)';y1=y+d;plot(t,y);xlabel('Time(s)');N=2;wc=[0.01,0.07];[b,a]=butter(N,wc);y2=filter(b,a,y1);sLength1=length(y2);Y1 = fft(y2,sLength1);Pyy = Y1.* conj(Y1) / sLength1;halflength1=floor(sLength1/2);f1=Fs*(0:halflength1)/sLength1;figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');t=(0:sLength-1)/Fs;figure;plot(t,y2);xlabel('Time(s)');w=linspace(0,6000,10000);wc=[0.01 0.07];N=2;[b,a]=butter(N,wc);H=freqz(b,a,w);plot(w,abs(H));axis([0 2500 0 1.5]);[y,Fs,bits]=wavread('333.wav');%¶Á³öÐźţ¬²ÉÑùÂʺͲÉÑùλÊý¡£y=y(:,1);sLength=length(y);t=(0:sLength-1)/Fs;f=50000;A=0.5;d=A*cos(2*pi*f*t)';y1=y+d;RC=0.001;b=1/RC;a=[1,1/RC];sys=tf(b,a);y2=lsim(sys,y1,t);sound(y2,Fs);RC=0.001;w=linspace(0,2,1024);b=1/RC;a=[1,1/RC];g=tf(b,a);bode(g);xlabel('w');ylabel('H(jw)');课题成果:1)了解了语音信号matlab处理的基本过程及思路,重点复习了波形绘制,系统响应;2)体会到理论与实践的结合,语音信号的处理和实际生活接近,趣味性强.本课题还存在哪些问题?1)对matlab的一些函数比较模糊,比如信号的长度估计,butter滤波函数的运用2)对于信号的滤波只是在很理想的高频情形下,过于单一简单,对实际的噪声滤波还有很多需要完善的.研究性学习自我体会与评价通过研究性学习你在哪些方面有所收获?(如学习方法、合作精神、探索精神、创新意识等)。
MATLAB中的语音处理方法与应用

MATLAB中的语音处理方法与应用语音处理是一门研究如何处理和分析语音信号的学科。
在现代社会中,语音处理已经广泛应用于语音识别、语音合成、语音增强、语音编码等多个领域。
而MATLAB作为一种强大的数学软件工具,提供了丰富的语音处理函数和工具箱,为语音处理研究和应用提供了良好的平台。
一、语音信号的数字化在进行语音处理前,首先需要将语音信号转换为数字信号,即进行数字化处理。
MATLAB中提供了多种方法来实现语音信号的数字化过程,如使用ADDA(模数转换器和数模转换器)、录制语音、读取音频文件等。
其中常用的方法是通过录制语音来获取语音信号。
在MATLAB中,我们可以使用`audiorecorder`函数来录制语音,然后使用`recordblocking`函数来设置录音时间,最后使用`getaudiodata`函数获取语音信号的数值。
通过这些函数,我们可以很方便地将语音信号转换为数字信号进行后续处理。
二、语音信号的预处理在进行语音处理前,通常需要对语音信号进行预处理,以提取有用的信息或去除噪声。
常用的预处理方法包括语音分帧、加窗、预加重、噪声去除等。
1. 语音分帧语音信号通常是一个非平稳信号,为了方便处理,我们需要将其进行分帧处理。
在MATLAB中,可以使用`buffer`函数来实现语音信号的分帧操作,设置合适的窗长和重叠长度。
2. 加窗为了消除语音信号边界引起的突变问题,我们需要对每一帧的语音信号进行加窗处理。
在MATLAB中,常用的窗函数有矩形窗、汉宁窗、海明窗等。
可以使用`window`函数来生成需要的窗函数,并与语音信号相乘得到加窗后的语音信号。
3. 预加重由于语音信号的高频成分比较弱,为了提高高频分量的能量,需要对语音信号进行预加重处理。
在MATLAB中,可以通过一阶差分的方式实现预加重,即对每一帧语音信号进行差分运算。
4. 噪声去除在实际应用中,语音信号经常伴随着各种噪声,为了提取有用的语音信息,我们需要对语音信号进行噪声去除。
数字信号处理课程设计基于 matlab 的音乐信号处理和分析

《数字信号处理》课程设计设计题目:基于MATLAB 的音乐信号处理和分析一、课程设计的目的本课程设计通过对音乐信号的采样、抽取、调制、解调等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生掌握的基本理论和分析方法知识得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计基本要求1学会MATLAB 的使用,掌握MATLAB的基本编程语句。
2掌握在Windows 环境下音乐信号采集的方法。
3掌握数字信号处理的基本概念、基本理论和基本方法。
4掌握MATLAB 设计FIR 和IIR 数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、设计数字滤波器的编程方法。
三、课程设计内容1、音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;③使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
Wavread格式说明:[w,fs,b]=wavread(‘语音信号’),采样值放在向量w中,fs表示采样频率(hz),b表示采样位数。
上机程序:[y,fs,bit]=wavread('I do片段')%读取音乐片段,fs是采样率size(y)%求矩阵的行数和列数y1=y( : ,1);%对信号进行分列处理n1=length(y1);%取y的长度t1=(0:n1-1)/fs;%设置波形图横坐标 figuresubplot(2,1,1);plot(t1,y1); %画出时域波形图 ylabel('幅值');xlabel('时间(s )'); title('信号波形'); subplot(2,1,2); Y1=fft(y1);w1=2/n1*(0:n1-1);%设置角频率 plot(w1,abs(Y1));%画频谱图 title('信号频谱'); xlabel('数字角频率'); ylabel('幅度'); grid on ;sound(y,fs); 实验结果:123456幅值时间(s )信号波形信号频谱数字角频率幅值1、通过观察频谱知,选取音乐信号的频谱集中在0~0.7*pi 之间,抽样点数fs=44100;2、当采样频率问原来0.5(0.5*fs )倍时:音乐片段音调变得非常低沉,无法辨认原声,播放时间变长;抽样频率减小,抽样点数不变时,其分辨力增大,记录长度变长,声音失真。
MATLAB语音信号采集与处理

MATLAB课程设计报告课题:语音信号采集与处理目录一、实践目的 (3)二、实践原理: (3)三、课题要求: (3)四、MATLAB仿真 (4)1、频谱分析: (4)2、调制与解调: (5)3、信号变化: (8)快放: (8)慢放: (8)倒放: (8)回声: (8)男女变声: (9)4、信号加噪 (10)5、用窗函数法设计FIR滤波器 (11)FIR低通滤波器: (12)FIR高通滤波器: (13)FIR带通滤波: (14)一、实践目的本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。
此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。
二、实践原理:利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。
如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。
三、课题要求:○1利用windows 自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。
○2对录制的语音信号进行频谱分析,确定该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉or 尖锐)。
○3利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临界采样)对信号的影响。
课程设计基于MATLAB的语音信号录制采集和分析的程序设计

MA TLAB课程设计说明书摘要语音信号的采集与分析技术是一门涉及面很广的交叉科学,它的应用和发展与语音学、声音测量学、电子测量技术以及数字信号处理等学科紧密联系。
该设计主要介绍语音信号的采集与分析方法,通过PC机录制自己的一段声音,运用Matlab提供的函数进行仿真分析,并画出采样后语音信号的时域波形和频谱图,对所采集的语音信号加入干扰随机高斯噪声,对加入噪声的信号进行播放,并进行时域和频谱分析;对比加噪前后的时域图和频谱图,分析讨论采用什么样的滤波器进行滤除噪声。
关键词:语音信号;采集与分析;Matlab目录摘要 (I)1 语音信号的录制 (1)2 语音信号的采集 (3)3 语音信号的分析 (4)3.1语音信号时域分析 (4)3.2语音信号频域分析 (5)4 语音信号的加噪处理 (7)5 滤噪设计分析 (11)6 设计总结 (12)参考文献 (13)附录 (14)1 语音信号的录制为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。
语音信号经过预滤波和采样后,由A/D变换器变换为二址制数字码。
这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。
市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。
将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。
操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。
实际工作中,我们可以利用windows自带的录音机录制语音文件,图1是基于PC机的语音信号录制过程,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。
语音信号处理与分析及其MATLAB实现

目录
摘要 (2)
第一章绪论 (3)
1.1 语音课设的意义 (3)
1.2 语音课设的目的与要求 (3)
1.3 语音课设的基本步骤 (3)
第二章设计方案论证 (5)
2.1 设计理论依据 (5)
2.1.1 采样定理 (5)
2.1.2 采样频率 (5)
2.1.3 采样位数与采样频率 (5)
2.2 语音信号的分析及处理方法 (6)
2.2.1 语音的录入与打开 (6)
2.2.2 时域信号的FFT分析 (6)
2.2.3 数字滤波器设计原理 (7)
2.2.4 数字滤波器的设计步骤 (7)
2.2.5 IIR滤波器与FIR滤波器的性能比较 (7)
第三章图形用户界面设计 (9)
3.1 图形用户界面概念 (9)
3.2 图形用户界面设计 (9)
3.3 图形用户界面模块调试 (10)
3.3.1 语音信号的读入与打开 (10)
3.3.2 语音信号的定点分析 (10)
3.3.3 N阶高通滤波器 (12)
3.3.4 N阶低通滤波器 (13)
3.3.5 2N阶带通滤波器 (14)
3.3.6 2N阶带阻滤波器 (15)
3.4 图形用户界面制作 (16)
第四章总结 (19)
附录 (20)
参考文献 (25)。
实验4基于MATLAB的语音信号LPC分析

的波形,预测语音帧波形和它们之间预测误差的波形。图3.2为原始语音帧和预测 语音帧的短时谱和LPC谱的波形
图3.1 原始语音帧、预测语音帧和预测误差的波形
图3.2 原始语音帧和预测语音帧的短时谱和LPC谱的波形
这里我们可以改变线性误差的阶数来观察语音帧的短时谱和LP谱的变化情况,如 图3.3。
图3.3 预测阶数对语音帧短时谱和LPC谱的影响
A = (FTframe1 - FFT_est(1 : length(f1'))) ./ FTframe1 ; % inverse filter A(Z)
通过LPC分析,由若干帧语音可以得到若干组LPC参数,每组参数形成 一个描绘该帧语音特征的矢量,即LPC特征矢量。由LPC特征矢量可以进一步 得到很多种派生特征矢量,例如线性预测倒谱系数、线谱对特征、部分相关系 数、对数面积比等等。不同的特征矢量具有不同的特点,它们在语音编码和识 别领域有着不同的应用价值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析学生姓名指导教师班级学号完成日期:2013 年5 月目录1 绪论 (3)1.1课题背景及意义 (3)1.2国内外研究现状 (3)1.3本课题的研究内容和方法 (4)1.3.1 研究内容 (4)1.3.2 开发环境 (4)2 语音信号处理的总体方案 (4)2.1 系统基本概述 (4)2.2 系统基本要求与目的 (4)2.3 系统框架及实现 (5)2.3.1 语音信号的采样 (5)2.3.2 语音信号的频谱分析 (5)2.3.3 音乐信号的抽取 (5)2.3.4 音乐信号的AM调制 (5)2.3.5 AM调制音乐信号的同步解调 (5)2.4系统设计流程图 (6)3 语音信号处理基本知识 (6)3.1语音的录入与打开 (6)3.2采样位数和采样频率 (6)3.3时域信号的FFT分析 (7)3.4切比雪夫滤波器 (7)3.5数字滤波器设计原理 (8)4 语音信号实例处理设计 (8)4.1语音信号的采集 (8)4.3.1高频调制与低频调制 (10)4.3.2切比雪夫滤波 (11)4.3.3 FIR滤波 (11)5 总结 (12)参考文献 (13)语音信号的处理与分析【摘要】语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
信号处理是Matlab重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
最后,本文对语音信号处理的进一步发展方向提出了自己的看法。
【关键词】Matlab 语音信号傅里叶变换低通滤波器1 绪论语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。
随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。
1.1课题背景及意义语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手段。
通过语言相互传递信息是人类最重要的基本功能之一。
语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人类文明。
语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。
语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。
1.2国内外研究现状20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。
随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术—矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前HMM已构成了现代语音识别研究的重要基石。
近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。
1.3本课题的研究内容和方法1.3.1 研究内容本论文主要介绍的是的语音信号的简单处理。
本报告针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。
我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单的语音信号处理的目的。
1.3.2 开发环境本设计的开发使用的操作系统是Windows XP系统。
开发环境为Matlab 7.0版本软件。
2 语音信号处理的总体方案2.1 系统基本概述本次设计为基于Matlab的语音信号的处理与分析系统。
系统包括语音信号的采集、抽样处理、AM调制与解调等,其中还采用了切比雪夫滤波器和FIR滤波器进行同步解调。
2.2 系统基本要求与目的1、掌握MATLAB的程序设计方法。
2、熟悉Windows环境下语音信号采集的方法。
3、了解数字信号处理的基本概念、基本理论和基本方法。
4、学会使用MATLAB设计数字滤波器。
5、学会使用MATLAB对信号进行处理和分析。
2.3 系统框架及实现2.3.1 语音信号的采样利用Windows下的录音机,录制一段自己的语音,要求长度不小于10s,然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
2.3.2 语音信号的频谱分析使用Matlab绘出采样后的语音信号的时域波形和频谱图,根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。
2.3.3 音乐信号的抽取(1)观察音乐信号频率的上限,选择适当的抽取间隔对信号进行下采样(给出两种抽样间隔,代表混叠与非混叠);(2)输出抽取后的音乐信号的波形和频谱;(3)播放抽取后的音乐信号,比较不同抽取间隔下的声音。
2.3.4 音乐信号的AM调制(1)观察音乐信号的频率上限,选择适当的调制频率对信号进行调制(给出高、低两种调制频率);(2)输出调制信号的波形和频谱;(3)播放调制音乐。
2.3.5 AM调制音乐信号的同步解调(1)设计切比雪夫滤波完成同步解调;(2)频率抽样法设计FIR滤波器完成同步解调;(3)绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱;(3)输出解调信号的波形和频谱;(4)播放解调音乐信号,比较不同滤波器下的声音。
2.4系统设计流程图图2.1列出了整个语音信号处理系统的工作流程:图2.1 语音信号处理系统的工作流程3 语音信号处理基本知识3.1语音的录入与打开在MATLAB中,[x,fs,Nbits]=wavread('E:\W.wav');用于读取语音,采样值放在向量x中,fs 表示采样频率(Hz),Nbits表示采样位数。
sound(x,fs);用于对声音的回放。
向量x则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。
3.2采样位数和采样频率采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。
采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。
采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。
无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。
每增加一个采样位数相当于力度范围增加了6dB。
采样位数越多则捕捉到的信号越精确。
对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。
显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。
3.3时域信号的FFT分析FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。
函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT 且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。
如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。
函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。
函数执行N 点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N;若x 为矩阵,按相同方法对x进行处理。
3.4切比雪夫滤波器切比雪夫滤波器,又名“车比雪夫滤波器”,是在通带或阻带上频率响应幅度等波纹波动的滤波器。
切比雪夫滤波器来自切比雪夫分布,以“切比雪夫”命名,是用以纪念俄罗斯数学家巴夫尼提·列波维其·切比雪夫。
切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。
切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。
切比雪夫多项式是与棣莫弗定理有关,以递归方式定义的一系列正交多项式序列。
通常,第一类切比雪夫多项式以符号Tn表示,第二类切比雪夫多项式用Un表示。
切比雪夫多项式 Tn 或 Un 代表 n 阶多项式。
切比雪夫多项式在逼近理论中有重要的应用。
这是因为第一类切比雪夫多项式的根(被称为切比雪夫节点)可以用于多项式插值。
相应的插值多项式能最大限度地降低龙格现象,并且提供多项式在连续函数的最佳一致逼近。
3.5数字滤波器设计原理数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。