语音信号处理程序(材料相关)
语音信号处理
信号分析与处理课程设计———语音信号处理姓名学号专业指导教师设计日期1 引言MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件。
它以矩阵运算为基础,把计算、可视化、程序设计融合在一个简单易用的交互式工作环境中,是一款数据分析和处理功能都非常强大的工程实用软件。
本文介绍了用MATLAB处理音频信号的基本流程,并以实例形式列出了常用音频处理技术实现程序。
2 MATLAB处理音频信号的流程分析和处理音频信号,首先要对声音信号进行采集,MATLAB数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集[1]。
Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。
本文以WAV格式音频信号作为分析处理的输入数据,用MATLAB处理音频信号的基本流程是:先将WAV格式音频信号经wavread 函数转换成MATLAB列数组变量;再用MATLAB 强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite 转换成WAV格式文件或用sound、wavplay等函数直接回放。
下面分别介绍MATLAB在音量标准化、声道分离合并与组合、数字滤波、数据转换等音频信号处理方面的技术实现。
4系统初步流程图图2.2 信号调整信号的滤波采用了四种滤波方式,来观察各种滤波性能的优缺点:图2.3 语音信号滤波的方式在以上三图中,可以看到整个语音信号处理系统的流程大概分为三步,首先要读入待处理的语音信号,然后进行语音信号的处理,包括信息的提取、幅度和频率的变换以及语音信号的傅里叶变换、滤波等;滤波又包括低通滤波、高通滤波、带通滤波和带阻滤波等方式。
最后对处理过的语音信号进行处理后的效果显示。
以上是本系统的工作流程,本文将从语音信号的采集开始做详细介绍。
(完整)语音信号处理精品PPT资料精品PPT资料
❖ 特征参量评估方法 F比:在给定一种识别方法后,识别的效果主要取决于特征
参数的选取。对于某一维单个的参数而言,可以用F来表征 它在说话人识别中的有效性。
F 不 同 同 一 说 说 话 话 人 人 特 特 征 征 参 方 数 差 均 的 值 均 的 值 方 差 [x [ a (i)i i] ] 2 2 ia ,i
一个说话人识别系统的好坏是由 许多因素决定的。其中主要有正确 识别率(或出错率)、训练时间的 长短、识别时间、对参考参量存储 量的要求、使用者适用的方便程度 等,实用中还有价格因素。图10.3 表示了说话人辨别与说话人确认系 统性能与用户数的关系。
10.3应用DTW的说话人确认系统
一个应用DTW说话人识别系统如图10-4所示。它采用的识别 特征是BPFG(附听觉特征处理),匹配时采用DTW技术。
2. 动态时间规整方法(DTW)
将识别模板与参考模板进行时间对比,按照某种距离测度得出两个模板 之间的相似程度。常用的分法:基于最近邻原则的动态时间规整。
3. 矢量量化方法(VQ)
将每个人的特定文本训练成码本,识别时将测试文本按此码本进行编码, 以量化产生的失真度作为判决标准。优点:速度快,识别精度不低。
❖ 说话人识别特征的选取
在说话人识别系统中特征提取是最重要的一环,特征提取就 是从说话人的语音信号中提取出表示说话人个性的基本特征。
在理想情况下,选取的特征应当满足下述准则: ① 能够有效地区分不同的说话人,但又能在同一说话人的语音
发生变化时相对保持稳定。 ② 易于从语音信号中提取 ③ 不易被模仿 ④ 尽量不随时间和空间变化
10.4应用VQ的说话人识别系统
目前自动说话人识别的方法主要是基于参数模型的HMM的方 法和基于非参数模型的VQ的方法。应用VQ的说话人识别系 统如图10-5所示。
语音信号处理(很好很全)
摘要语音是人类获取信息的重要来源和利用信息的重要手段。
语音信号处理是一门发展十分迅速、应用非常广泛的前沿交叉学科,同时又是一门跨学科的综合性应用研究领域和新兴技术。
现代语音信号系统包括语音信号采集单元和语音信号处理单元,本论文确定了相应的处理芯片:TMS320C5402DSP和TLCAD50C芯片。
但语音信号处理有两个需要解决的问题,语音信号的时变性,和直接进行傅里叶变换其运算量相当大。
其解决措施是加窗函数和运用快速傅里叶变换(即FFT)。
本论文关于这部分的软件设计是在Code Composer Studio(简称CCS)环境下进行的。
本论文的结构是先介绍语音信号处理单元和语音信号采集单元,然后简单介绍语音信号处理系统的硬件电路,最后在CCS环境下进行语音信号的频谱分析。
关键词:语音信号,时变性,窗函数,FFT,DSP,CCSABSTRACTThe speech is the importance source and way of obtain information and make use of the information .The speech signal processing is a development very quick, application very extensive of front follow to cross an academics, in the meantime again is a door across an academics of comprehensive sex application study realm and newly arisen technique.The speech signal system include speech signal to collect unit and the processing unit of the speech signal, this thesis assurance correspond of processing chip:DSP and the TLCAD50 C chip of the TMS320 C5402.But speech signal processing have two problem that need to be solve, because of it hour change sex can't carry on leaf's transformation in the Fu, with direct carry on leaf's transformation in the Fu it operation quantity equal big.Its solving measure is to add window function and usage fast leaf's transformation in the Fu.(namely FFT)The software design carry on under the Studio(brief name CCS) environment of the Code Composer, the CCS is a TI company for the TMS320 series DSP software development release of integration development environment.The structure of this thesis is unit and speech signal of the signal processing of the introduction speech to collect unit first, then simple introduction speech signal processing system of hardware electric circuit, end carry on the frequency chart of speech signal analysis under the CCS environment.Keywords:The speech signal, hour change sex, window function, FFT, DSP, CCS目录1.绪论 ........................................................................................ 错误!未定义书签。
语音信号处理方法及应用论述
语音信号处理方法及应用论述通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息的形式。
语言是人类特有的功能,声音是人类常用的工具,是相互传递信息的最主要手段。
它具有最大的信息容量和最高的只能水平。
因此,用现代的手段研究语音处理技术,使人们能更有效的产生、传输、存储、获取和应用语音信息,对于促进社会发展具有十分重要的的意义。
语音信号处理正是一门研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的信息科学研究领域的核心技术之一,同时又是综合性的多学科领域和涉及面很广的交叉学科。
语音信号处理的理论和研究包括紧密结合的两个方面:一方面是从语音的产生和感知来对其进行研究,这一研究语音.语言学、认知科学、心理.生理学等学科密不可分。
另一方面是将语音作为一种信号来进行处理,包括传统的数字信号处理技术以及一些新的应用与语音信号的处理方法和技术。
20世纪60年代中期形成的一系列数字信号处理方法和算法,如数字滤波器、快速傅里叶变换(FFT)是语音数字信号处理的理论和技术基础。
而70年代初期产生的线性预测编码(LPC)算法,为语音信号的数字处理提供了一个强有力的工具。
广泛的应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法。
80年代初一种新的基于聚类分析的高效数据压缩技术——矢量量化(VQ)应用于语音信号处理中。
而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时它的许多成果也体现在有关语音信号处理的各项技术之中。
进入20世纪90年代以来,语音信号处理在实用化方面取得了许多实质性的研究进展。
其中,语音识别逐渐由实验室走向实用化。
一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。
移动通信中的语音信号处理过程
WCDMA通信模型
信源 编码
信道 In编terl码eaving
交织
扩频
加扰
调制
射频 发射
无线信道
信源 解码
去交织 d信ein道ter解leaving
码
解扩
解扰
解调
射频 接收
信源编码过程
1、采样 所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间
上离散的信号。该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说 能无失真的恢复原模拟信号。
这是1928年由美国电信工程师奈奎斯特(Nyquist)首先提出来的, 因此称为奈奎斯特采样定理。
WCDMA通信模型
信源 编码
信道 In编terl码eaving
交织
扩频
加扰
调制
射频 发射
无线信道
信源 解码
去交织 d信ein道ter解leaving
码
解扩
解扰
解调
射频 接收
信道编码
• 信道编码的作用:在原数据流中加入冗余信息,增加符号间的相关性,以便 在受到干扰的情况下恢复信号;
• 编码类型 – 语音业务:卷积码(1/2、1/3),约束长度为9,加8个尾比特 – 数据业务:Turbo码(1/3),两个8状态的并行级联卷积码构成,加6个 尾比特
例子
床前明月光 春眠不觉晓 白发三千丈 红豆生南国
床床前前明明月月光光 春春眠眠不不觉觉晓晓 白白发发三三千千丈丈 红红豆豆生生南南国国
去交织
床春白红???? ????前眠发豆 明不三生明不三生 月觉千南月觉千南 光晓丈国光晓丈国
WCDMA通信模型
信源 编码
信道 In编terl码eaving
语音信号处理过程
《现代语音处理技术及应用期中考试》姓名:李红启班级:A1011学号:36一、实验原理1、汉明窗加窗给输入语音信号加窗x(m)=s(m)w(n-m)2、倒谱和复倒谱的实现倒谱主要应用在语音信号同态处理中,同态处理方法是一种设法将非线性问题转化为线性问题来进行处理方法,它能将两个信号通过乘法合成的信号,或通过卷积合成的信号分开。
卷积同态系统的典范表示如图1 所示,它由三部分组成:第一部分为卷积同态系统的特征系统D*[ ],其输入是若干信号的卷积组合,而输出为若干信号的加法组合。
利用z 变换表示,卷积组合可变为乘法组合,再利用对数特性,可将乘法组合变为加法组合,再进行z 逆变换,输出信号仍为加法组合,这就构成了卷积同态系统的特征系统D*[ ],如图1 所示。
图 1 卷积同态系统的特征系统这给出一种卷积同态系统构成方法。
如果把输入序列局限于为绝对可加的情形,则输入信号的 z 变换具有包括单位圆在内的一个收敛域。
也就是说,可以求得这个序列的傅里叶变换。
在此情况下,图1中用傅里叶变换运算代替z 变换运算是恰当的。
卷积同态系统可表示为图 2。
图 2 复倒谱的计算由于复倒谱出现了多值性和arg[X(ejw )]的不连续性导致我们在分析时会出现很多问题,这里不一一讨论。
于是我们提出了倒谱的概念。
倒谱 c(n)由下式给出:这里我们对 x(n)的 X(ejw )作了取模运算,这样算出的 c(n)是实数谱并且很好的解决了复倒谱出现的问题。
为得到倒频谱的近似式, 可对输入序列进行离散傅里叶变换,取其模的对数,再计算离散傅里叶反变换。
图 3 倒谱的计算图 2 是求复倒谱的原理图,图 3 是求倒谱的原理图。
本软件设计中就是根据图 3 的原理来计算一段语音信号的倒谱的。
由于经过了同态处理后将声道冲击响应和激励信号变为加信号,并且,声道冲击响应处于低时部分,而激励信号处于高时部分,可以通过倒谱滤波器将声道冲击响应和激励信号分开二、实验程序:1、录音程序x=wavrecord(16000,8000,1) wavwrite(x,'a.wav') plot(x)00.51 1.52 2.5x 104-0.4-0.3-0.2-0.100.10.20.30.42、浊音的程序y=y(:,1); % 单声道处理y1=y(6000:5400); % 取浊音y2=y1.*hamming(length(y1)); % 加汉明窗sigLength=length(y2); % 求y2的长度Y=zeros(Fs,1);Y=20*log10(abs(fft(y2,sigLength))); % 求浊音的频谱y=y'; %转置成向量,便于处理a=fft(y1); %对y1做DFT变换d=log(a); %取对数c=ifft(d); %做IDFT变换c=c(1:60);a1=fft(y1); %对y1做DFT变换b1=abs(a1); %取模远算d1=log(b1);%取对数c1=ifft(d1); %做IDFT变换c2=c1(1:26);k=c1(1:26);k1=fft(k);k2=exp(k1);h=c1(27:200);h1=fft(h);h2=exp(h1);h3=ifft(h2);sigLength=length(y2);Y1=20*log10(abs(fft(k3,sigLength)));sigLength=length(y2);Y2=20*log10(abs(fft(h3,sigLength))); figure(1);subplot(4,2,1);plot((1:length(y1))/8,y2); % 以时间为横轴title('加汉明窗的信号幅度');xlabel('t/ms');ylabel('x(n)');subplot(4,2,2);plot(Y); % 一点对应1HZtitle('对数幅度谱');xlabel('Frequence(Hz)');ylabel('20lg|Xn(ejw)|');subplot(4,2,3);plot(c);title('浊音段复倒谱');xlabel('t/ms');ylabel('c(n)');subplot(4,2,4);plot(c2);title('浊音段倒谱');xlabel('t/ms');ylabel('c(n)');subplot(4,2,5);plot((1:length(k3))/8,k3);title('所得的冲激响应');xlabel('t/ms');ylabel('c(n)');subplot(4,2,6);plot((1:length(h3))/8,h3);title('所得的激励信号');xlabel('t/ms');ylabel('h(n)');subplot(4,2,7);plot(Y1);title('平滑的对数幅度谱');xlabel('Frequence(Hz)');plot(Y2);title('倒谱高时间部分的对数幅度谱'); xlabel('Frequence(Hz)');%清音的程序y=y(:,1);y3=y(2000:2400);y4=y3.*hamming(length(y3));sigLength=length(y3);Y=20*log10(abs(fft(y,sigLength)));a=fft(y);b=abs(a);d=log(b);c=ifft(d);c=c(1:60);h=c(1:60);h1=fft(h);h2=exp(h1);h3=ifft(h2);sigLength=length(y3);Y=20*log10(abs(fft(h3,sigLength))); figure(2);subplot(2,2,1);plot((1:length(y3))/8,y4);title('加汉明窗的信号幅度');xlabel('t/ms');ylabel('x(n)');subplot(2,2,2);plot(Y);title('对数幅度谱');xlabel('Frequence(Hz)');ylabel('20lg|Xn(ejw)|');subplot(2,2,3);plot(c);title('清音段倒谱');xlabel('t/ms');ylabel('c(n)'); subplot(2,2,4);plot(Y);title('平滑的对数幅度谱');xlabel('Frequence(Hz)');四、分析总结在采样频率为fs=8KHz,使用汉明窗加权,窗长为300点。
语音信号处理PPT课件
F2 F3
a 10
频率范围(Hz)
成年男子
成年女子
带宽
F1
200~800
250~1000
40~70
F2
600~2800
700~3300
50~90
F3
1300~3400
1500~4000
60~180
一般地:语音识别,取前3个共振峰,而对 语音合成,需取5个
a
11
2.3 语音信号的特性
2.3.1 语言和语音的基本特性
[x(n)x(n-k)]*h (n) 计算自m 相 关 ,先乘后加,运算hk量(n)大=w!(n)w(n+k)
R n ( k ) R n ( k ) m x ( m ) x ( am kk ) [ w hk( (n n -mm )) w ( n m k ) ]
36
3.5.2 修正的短时自相关函数 1、存在的问题 随kk=的0变化,参加运算的项减少。极限k=N-1时无运算k项=!250 2、修正的短时自相关函数
当w1,w2为直角窗时
(0≤k≤K)
^
N1
Rn(k)x(nm )xa(nmk)
m0
37
3.5.3 短时平均幅度差函数
问题的提出:自相关计算量大,大在乘法! 短时平均幅度差函数(AMDF)定义:
F n (k ) R 1 m |x (n m )w 1 (m ) x (n m k )w 2 (m k )|
式中R为x(n)的平均值 w1、w2同修正的自相关函数中的定义 对于浊音信号,在周期倍数点上,幅值相等,Fn=0
a 38
第三章小结
• 采样与反混叠 • 短时分析方法、窗口与长度选择 • 短时能量定义 • 短时过零分析 • 短时相关分析与修正 • 短时平均幅度分析(AMDF)
《语音信号处理》实验5-DTW算法实现及语音模板匹配
华南理工大学《语音信号处理》实验报告实验名称:DTW算法实现及语音模板匹配姓名:学号:班级:10级电信5班日期:2013年6 月17日一、实验目的运用课堂上所学知识以及matlab工具,利用DTW(Dynamic Time Warping,动态时间规整)算法,进行说话者的语音识别。
二、实验原理1、语音识别系统概述一个完整特定人语音识别系统的方案框图如图1所示。
输入的模拟语音信号首先要进行预处理,包括预滤波、采样和量化、加窗、端点检测、预加重等,然后是参数特征量的提取。
提取的特征参数满足如下要求:(1)特征参数能有效地代表语音特征,具有很好的区分性;(2)参数间有良好的独立性;(3)特征参数要计算方便,要考虑到语音识别的实时实现。
图1 语音识别系统方案框图语音识别的过程可以被看作模式匹配的过程,模式匹配是指根据一定的准则,使未知模式与模型库中的某一个模型获得最佳匹配的过程。
模式匹配中需要用到的参考模板通过模板训练获得。
在训练阶段,将特征参数进行一定的处理后,为每个词条建立一个模型,保存为模板库。
在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。
2、语音信号的处理1、语音识别的DTW算法本设计中,采用DTW算法,该算法基于动态规划(DP)的思想解决了发音长短不一的模板匹配问题,在训练和建立模板以及识别阶段,都先采用端点检测算法确定语音的起点和终点。
在本设计当中,我们建立的参考模板,m为训练语音帧的时序标号,M为该模板所包含的语音帧总数,R(m)为第m帧的语音特征矢量。
所要识别的输入词条语音称为测试模板,n为测试语音帧的时序标号,N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。
参考模板和测试模板一般都采用相同类型的特征矢量(如LPCC系数)、相同的帧长、相同的窗函数和相同的帧移。
考虑到语音中各段在不同的情况下持续时间会产生或长或短的变化,因而更多地是采用动态规划DP的方法。
语音信号处理
数字信号处理语音信号处理一、任务要求选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR和IIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。
二、语音信号处理总流程信号的采集语音信号分析含噪信号合成数字滤波器设计滤波结果显示分析图1 语音信号处理总流程三、原始信号采集及频谱分析1语音信号的读入与打开在MATLAB中,[y,fs,bits]=wavread(' E:\dwje.wav ');用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。
可以使用sound(y,fs,bits),用于对声音的回放。
向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。
2语音信号的频频分析利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。
图2 原始信号时域和频域分析对语音信号进行FFT变换就是为了得到它的频域的图形,便于从图中观察出信号的幅度等特性,从图中可以看出语音信号的截止频率为5000Hz。
四、语音信号加噪与频谱分析在Matlab中人为设计一个固定频率6000Hz的余弦序列噪声干扰信号d=[0.05*cos(2*pi*6000*t)]'。
然后将噪声与原始语音信号叠加Y=y+d,叠加两信号的维数必须相同,否则无法叠加。
对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在6000Hz频点处有一高峰,其中5500Hz 正是本设计所要利用的。
图3 叠加后信号时域和频域分析五、 设计IIR 滤波器对加噪语音滤波1 利用模拟滤波器设计IIR 数字低通滤波器的设计流程如图4所示:图4 IIR 滤波器设计流程2 滤波器参数选取由图3观察可得,通带截止频率Wp=5000Hz ,阻带截止频率Ws=5500Hz ,确定技术指标技术指标转换:数字到模拟 双线性变换法:W=2/T *tan(w/2)实现模拟滤波器设计将模拟滤波器转换为数字滤波器一般情况下通带最大衰减Rp=0.1,阻带最小衰减Rs=40。
语音信号处理MATLAB程序
试验一语音信号处理语音信号处理综合运用了数字信号处理的理论知识,对信号进行计算及频谱分析,设计滤波器,并对含噪信号进行滤波。
一,具体分为以下步骤:(1)语音信号的采集:利用Windows下的录音机,录制一段话音。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,播放语音信号,并绘制原始语音信号;(2)对原始信号加入噪声:对原始语音信号加入s=0.05*sin(2*pi*f*Ts*n)的噪声,采样后可知Fs ,选择f = 2500,播放加入噪声信号的语音信号,并绘制噪声信号和含噪语音信号;(3)频谱分析:分别对原始语音信号,噪声信号和含噪声的语音信号进行频谱分析,并绘出各频谱图;(4)设计滤波器:计算滤波器的性能指标,设计滤波器,绘制滤波器的特性曲线;(5)滤波器滤波:用自己设计的滤波器对采集的信号进行滤波,得出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化,并回放语音信号,感觉滤波前后的声音有变化。
(6) 对原始信号进行整数倍抽取,比较抽取前后的频谱图(7)对原始信号进行整数倍内插,比较原始信号频谱,内插零值时的频谱和滤波后的频谱图。
二,源程序:[x,fs,bits]=wavread('he.wav');N=length(x);%测定语音信号长度f=2500;x=x';%对语音信号进行转置,使N行1列矩阵变为1行N列矩阵n=0:1/fs:(N-1)/fs;s=0.05*sin(2*pi*f*n);%噪声信号y=x+s;%信号加噪声f1=0:fs/N:fs*(N-1)/N;%横坐标,f1为频率x1=fft(x,N);s1=fft(s,N);Y=fft(y,N);figure(1);subplot(311);plot(n,x);title('原始信号波形图');xlabel('t/s');ylabel('幅值');subplot(312);plot(n,s);title('噪声信号波形图');ylim([-0.08,0.08]);xlabel('t/s');ylabel('幅值');subplot(313);plot(n,y);title('信号+噪声信号波形图');xlabel('t/s');ylabel('幅值');figure(2);subplot(221);plot(f1,abs(x1));title('原始信号频谱图');xlabel('频率/Hz'); ylabel('频率响应幅度');xlim([0,fs/12]);subplot(222);plot(f1,abs(s1));title('噪声信号频谱图');xlabel('频率/Hz'); ylabel('频率响应幅度');xlim([0,fs/12]);subplot(223);plot(f1,abs(Y));title('信号+噪声频谱图');xlabel('频率/Hz'); ylabel('频率响应幅度');xlim([0,fs/12]);%%%%%%%%%%%%%%滤波器设计%%%%%%%%%%%%%%%%%%%% %%根据原始信号与噪声信号频谱图,选择巴特沃斯低通滤波器%%滤波器性能指标:取wp=1500*2*pi rad/s,ws=2400*2*pi rad/s,Rp=2,Rs=15 %选择滤波器的最小阶数wp=1500*2*pi;ws=2200*2*pi;Rp=2;Rs=15;[N1,Wn]=buttord(wp,ws,Rp,Rs,'s');%创建butterworth模拟滤波器[Z,P,K]=buttap(N1);%把滤波器的零极点模型转化为传递函数模型[Bap,Aap]=zp2tf(Z,P,K);%把模拟滤波器原型转换成截止频率为Wn的低通滤波器[b,a]=lp2lp(Bap,Aap,Wn);%用双线性变换法实现模拟滤波器到数字滤波器的转换[bz,az]=bilinear(b,a,fs);%绘制频率响应曲线[H,W]=freqz(bz,az);figure(3);subplot(211),plot(W*fs/(2*pi),abs(H)); gridtitle('butterworth低通滤波器频响图');xlabel('频率/Hz'); ylabel('频率响应幅度');%%%%%%%用所设计的滤波器对语音+噪声信号y滤波%%%%%%%y1=filter(bz,az,y);subplot(212),plot(n,y1);title('滤波后信号波形图');xlabel('频率/Hz'); ylabel('频率响应幅度');%sound(x,fs);%播放语音信号%sound(y,fs);%播放语音+噪声信号%sound(y1,fs);%播放滤波后的信号%%%%%%对原始信号进行整数倍抽取%%%%%%%%%%%%%%%%M=2;%%按M倍抽取for i=1:fix(N/M)y2(i)=x(M*i);endy2=fft(y2,i);%%抽取后进行傅里叶变换fs2=fs/M;f2=0:fs2/i:fs2*(i-1)/i;figure(4);subplot(322);plot(f2,abs(y2));title('原始信号');xlim([0 fs/(12*M/2^1)]);%%%%%%%%%对原始信号进行整数倍内插%%%%%%%%%%%M1=1;%%按M1倍内插y3=zeros(1,N*M1);for i=1:Ny3(i*M1)=x(i);endy3=fft(y3,N*M1);%%内插后进行傅里叶变换fs3=fs*M1;f3=0:fs3/(N*M1):fs3*(N*M1-1)/(N*M1);figure(5);subplot(221);plot(f3,abs(y3));title('原始信号频谱图');xlim([0 150000]);注:程序中最后两步对信号进行整数倍抽取和整数倍内插时只分别给出了参数M=2和M1=1;即运行的时候figure(4)和figure(5)分别只显示M=2和M1=1的图;要想得到其他整数倍抽取(或内插)的图像,可修改相应的M,M1值。
语音信号处理的流程
语音信号处理的流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!语音信号处理流程。
1. 数据采集。
使用麦克风或其他传感器将语音信号转换为模拟电信号。
语音信号处理
学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:实验四 减谱法语音增强技术研究一、实验目的本实验要求掌握减谱法语音增强的原理,会利用已学的相关语音特征,构建语音特征矢量,然后自己设计减谱法语音增强程序(也可参考相关文献),能显示干净语音和加噪语音信号及处理后的结果语音信号波形,分析实验结果,写出报告。
二、实验原理谱减法的基本原理谱相减方法是基于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而对语音短时幅度谱进行估计,适用于受加性噪声污染的语音。
由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号,假设)(m s 、)(m n 和)(m y 分别代表语音、噪声和带噪语音,)(ωs S 、)(ωn S 和)(ωy S 分别表示其短时谱。
假设噪声)(m n 是与语音)(m s 不相关的加性噪声。
于是得到信号的加性模型:)()()(m n m s m y += (4-1)对功率谱有 )()()()(|)(||)(||)(|**222ωωωωωωωw w w w w w w N S N S N S Y +++= (4-4) 原始语音的估值为]|)([||)(||)(|222ωωωw w w N E Y S -=∧(4-5)只要在频域用(4-5)式得到纯净语音的谱估计,就可以根据(4-6)式得到增强后的语音。
[])()(ˆ)(ˆωϕωj w e s IFFT m s=错误!未找到引用源。
(4-6)根据前面分析,我们可以给出谱相减算法的整个算法流程,如图4-1所示:图4-1 谱减法的算法流程三、实验程序带噪学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:1、噪声叠加到信号上的比较%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise1=0.1*randn(1,count);signal=input;for i=1:countvoice1(i)=signal(i)+noise1(i);endnoise2=0.01*randn(1,count);for i=1:countvoice2(i)=signal(i)+noise2(i);endnoise3=randn(1,count);signal=input;for i=1:countvoice3(i)=signal(i)+noise3(i);endn=1:count;figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise1);title('噪音信号')subplot(3,1,3);plot(n,voice1);title('带噪信号')figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss1=fft(noise1);subplot(3,1,2);plot(n,abs(Fss1));学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226 课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:title('噪音信号频谱')Fv1=fft(voice1);subplot(3,1,3)plot(n,abs(Fv1));title('带噪信号的频谱')figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise2);title('噪音信号')subplot(3,1,3);plot(n,voice2);title('带噪信号')figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss2=fft(noise2);subplot(3,1,2);plot(n,abs(Fss2));title('噪音信号频谱')Fv2=fft(voice2);subplot(3,1,3)plot(n,abs(Fv2));title('带噪信号的频谱')figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise3);title('噪音信号')subplot(3,1,3);plot(n,voice3);title('带噪信号')figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss3=fft(noise3);subplot(3,1,2);plot(n,abs(Fss3));title('噪音信号频谱')Fv3=fft(voice3);subplot(3,1,3)plot(n,abs(Fv3));title('带噪信号的频谱')2、利用减谱法的基本原理给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise=1*randn(1,count);signal=input';for i=1:countvoice(i)=signal(i)+noise(i);endFv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv)).^2;power2=(abs(Fn)).^2;power3=power1-power2;power4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure %对比纯净语音信号和输出信号subplot(2,1,1)学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:plot(n,signal);title('纯净信号')subplot(2,1,2)plot(n,sound);title('输出信号')figure %对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss));title('纯净信号频谱')subplot(2,1,2)plot(n,abs(Fs));title('输出信号频谱')max_v=max(voice); %对带噪信号抽样值点进行归一化处理re_voice=voice/max_v;%对输出信号抽样点值进行归一化处理max_s=max(sound);re_sound=sound/max_s;%读出带噪语音信号,存为'1001.wav'wavwrite(re_voice,5500,16,'1001');%读出处理后语音信号,存为'1002.wav'wavwrite(re_sound,5500,16,'1002')3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise=0.1*randn(1,count);signal=input';for i=1:countvoice(i)=signal(i)+noise(i);endFv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv)).^2;power2=(abs(Fn)).^2;学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226 课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩: for i=1:countif(power1(i)>=3*power2(i))power3(i)=power1(i)-3*power2(i);elsepower3(i)=0.01*power2(i);endendpower4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure %对比纯净语音信号和输出信号subplot(2,1,1)plot(n,signal);title('纯净信号')subplot(2,1,2)plot(n,sound);title('输出信号')figure %对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss));title('纯净信号频谱')subplot(2,1,2)plot(n,abs(Fs));title('输出信号频谱')四、实验结果1、噪声叠加到信号上的比较(1)噪声为0.1*randn(1,count)学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-0.500.5噪音信号020004000600080001000012000140001600018000-0.50.5带噪信号020004000600080001000012000140001600018000050100纯净信号频谱050噪音信号频谱2000400060008000100001200014000160001800050100带噪信号的频谱(2)噪声为0.01*randn(1,count)学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-0.0500.05噪音信号020004000600080001000012000140001600018000-0.20.2带噪信号020004000600080001000012000140001600018000050100纯净信号频谱0200040006000800010000120001400016000180005噪音信号频谱02000400060008000100001200014000160001800050100带噪信号的频谱(3)噪声为randn(1,count)学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-505噪音信号-505带噪信号2、利用减谱法的基本原理给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号20004000600080001000012000140001600018000-0.2-0.100.10.2纯净信号-0.50.5输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱50100输出信号频谱3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号 (1)参数取a=3,b=0.0120004000600080001000012000140001600018000-0.2-0.100.10.2纯净信号20004000600080001000012000140001600018000-0.1-0.0500.050.1输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000020406080纯净信号频谱0200040006000800010000120001400016000180000204060输出信号频谱(2)参数取a=10,b=0.01-0.2-0.10.10.2纯净信号-0.1-0.050.050.1输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱020406080输出信号频谱(3)参数取a=0.8,b=0.01020004000600080001000012000140001600018000-0.2-0.10.10.2纯净信号020004000600080001000012000140001600018000-0.4-0.20.20.4输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱20004000600080001000012000140001600018000020406080输出信号频谱(4)参数取a=3,b=0.0001020004000600080001000012000140001600018000-0.2-0.10.10.2纯净信号-0.1-0.050.050.1输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱020004000600080001000012000140001600018000020406080输出信号频谱(5)参数取a=3,b=0.1020004000600080001000012000140001600018000-0.2-0.10.10.2纯净信号20004000600080001000012000140001600018000-0.2-0.10.10.2输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱20004000600080001000012000140001600018000020406080输出信号频谱五、实验分析1、噪声叠加到信号上时,噪声会对信号产生较大影响,噪声加强会使信号被噪声淹没;噪声减弱,对信号的影响减小;2、用减谱法的基本原理対带噪信号进行处理后,信号质量明显提升,从而得到较纯净的语音信号;3、用改进的减谱法対带噪信号进行处理后,信号质量更好,语音信号更纯净。
语音信号处理的基本步骤
语音信号处理的基本步骤语音信号处理的基本步骤包括以下五步:1.预处理:这一步主要包括滤波、放大和增益控制、反混叠滤波等,目的是消除工频信号的干扰,提升高频部分,并进行适当的放大和增益控制。
2.数字化:将模拟信号转换为数字信号,便于计算机处理。
3.特征提取:对数字化的信号进行分析,提取出反映语音信息的特征参数。
4.语音识别或语音编码:根据不同的处理目的,选择相应的处理方法。
语音识别主要分为识别和训练阶段;语音编码则是将语音进行压缩编码和解压。
5.信息提取和使用:这是由听者或机器自动完成的一步,从处理后的信号中提取出有用的信息。
这些步骤的正确性和重要性各不相同,需要根据实际应用的需求来选择合适的步骤和算法。
在实际应用中,还需要注意以下几个方面:1.实时性:语音信号处理需要在有限的时间内完成,以满足实时通信和语音识别的需求。
因此,需要选择高效的算法和实现优化的软件。
2.稳定性:语音信号处理的结果需要具有稳定性,即对于相同的输入,处理结果应该相同。
这需要选择稳定的算法和参数,并注意避免随机噪声和其他干扰的影响。
3.泛化性:对于语音识别等任务,处理后的结果需要具有一定的泛化性,即对于不同的说话人和不同的语音环境,处理结果应该具有较好的一致性和准确性。
这需要选择泛化性较强的算法和模型,并注意收集和处理大量的语音数据。
4.鲁棒性:语音信号处理系统需要具有一定的鲁棒性,即对于不同的语音信号和不同的环境噪声,系统应该能够适应并保持良好的性能。
这需要选择鲁棒性较强的算法和模型,并注意进行充分的测试和评估。
总之,语音信号处理的基本步骤需要根据实际应用的需求来选择合适的步骤和算法,同时需要注意实时性、稳定性、泛化性和鲁棒性等方面的问题。
语音信号处理实验报告
语⾳信号处理实验报告语⾳信号处理实验报告【实验⼀】⼀、实验题⽬Short time analysis⼆、实验要求Write a MA TLAB program to analyze a speech and simultaneously, on a single page, plot the following measurements:1. the entire speech waveform2. the short-time energy, En3. the short-time magnitude, Mn4. the short-time zero-crossing, Zn5. the narrowband spectrogram6. the wideband spectrogramUse both the speech waveforms in the wznjdx_normal.wav. Choose appropriate window sizes, window shifts, and window for the analysis. Explain your choice of these parameters.三、实验程序clear[x,fs]=wavread('wznjdx_normal.wav');n=length(x);N=320;subplot(4,1,1);plot(x);h=linspace(1,1,N);En=conv(h,x.*x);subplot(4,1,2);plot(En);Mn=conv(h,abs(x));subplot(4,1,3);plot(Mn);for i=1:n-1if x(i)>=0 y(i)=1;else y(i)=-1;endif x(i+1)>=0 y(i+1)=1;else y(i+1)=-1;endw(i)=abs(y(i+1)-y(i));endk=1;j=0;while (k+N-1)Zm(k)=0;for i=0:N-1Zm(k)=Zm(k)+w(k+i);endj=j+1;k=k+N/2;endfor w=1:jQ(w)=Zm(160*(w-1)+1)/(2*N);endsubplot(4,1,4);plot(Q);grid;figure(2);subplot(2,1,1);spectrogram(x,h,256,200,0.0424*fs); subplot(2,1,2);spectrogram(x,h,256,200,0.0064*fs);四、实验结果语谱图:(Matlab 7.0 ⽤不了spectrogram)【实验⼆】⼀、实验题⽬Homomorphic analysis⼆、实验要求Write a MATLAB program to compute the real cepstrums of a section of voiced speech and unvoiced speech. Plot the signal, the log magnitude spectrum, the real cepstrum, and the lowpass liftered log magnitude spectrum.三、实验程序nfft=256;[x,fs] = wavread('wznjdx_normal.wav');fx=x;Xvm=log(abs(fft(fx,nfft)));xhv=real(ifft(Xvm,nfft));lifter=zeros(1,nfft);lifter(1:30)=1;lifter(nfft-28:nfft)=1;fnlen=0.02*fs; % 20mswin=hamming(fnlen);%加窗n=fnlen;%窗宽度赋给循环⾃变量nnoverlap=0.5*fnlen;while(n<=length(x)-1)fx=x(n-fnlen+1:n).*win;n=n+noverlap;endxhvp=xhv.*lifter';figure;subplot(4,1,1)plot(lifter);title('倒谱滤波器');subplot(4,1,2)plot(x);title('语⾳信号波形');subplot(4,1,3)plot(Xvm);title('Xvm');subplot(4,1,4)plot(xhv);title('xhv');四、实验结果【实验三】⼀、实验题⽬LP analysis⼆、实验要求Write a MATLAB program to convert from a frame of speech to a set of linear prediction coefficients. Plot the LPC spectrum superimposed on the corresponding STFT.三、实验程序clear;[x,fs]=wavread('wznjdx_normal.wav');fx=x(4000:4160-1);p=10;[a,e,k]=aryule(fx,p);G=sqrt(e*length(fx));f=log(abs(fft(fx)));h0=zeros(1,160);h=log(G)-log(abs(fft(a,160)));figure(1);subplot(211);plot(fx);subplot(212);plot(f);hold on;plot((0:160-1),h,'r');四、实验结果【实验四】⼀、实验题⽬Pitch estimation⼆、实验内容Write a program to implement the pitch estimation and the voiced/unvoiced decision using the LPC-based method.三、实验程序clear[x,fs]=wavread('wznjdx_normal.wav');n=length(x);Q = x';NFFT=512;N = 256;Hamm = hamming(N);frame = 30;M = Q(((frame -1) * (N / 2) + 1):((frame - 1) * (N / 2) + N)); Frame = M .* Hamm';% lowpass filter[b2,a2]=butter(2,900/4000);speech2=filter(b2,a2,Frame); % filter% residual[a,e] = lpc(speech2,20);errorlp=filter(a,1,speech2); % residual% Short-term autocorrelation.re = xcorr(errorlp);% Find max autocorrelation for lags in the interval minlag to maxlag. minlag = 17; % F0: 450Hzmaxlag =160; % F0: 50Hz[remax,idx] = max(re(fnlen+minlag:fnlen+maxlag));figuresubplot(3,1,1);plot(Frame);subplot(3,1,2);plot(speech2);subplot(3,1,3);plot(re);text(500,0,'idx');idx=idx-1+minlagremax四、实验结果【实验五】⼀、实验题⽬Speech synthesis⼆、实验内容Write a program to analyze a speech and synthesize it using the LPC-based method.三、实验程序主程序clear;[x,sr] = wavread('wznjdx_normal.wav');p=[1 -0.9];x=filter(p,1,x);N=256;inc=128;y=lpcsyn(x,N,inc);wavplay(y,sr);⼦程序lpcsynfunction y=lpcsyn(x,N,inc)%[x,sr] = wavread('wznjdx_normal.wav');%pre = [1 -0.97];%x = filter(pre,1,x);%N=256;%inc=128;fn=floor(length(x)/inc);y=zeros(1,50000);for (i=1:fn)x(1:N,i)=x((i-1)*inc+1:(i+1)*inc);[A(i,:),G(i),P(i),fnlen,fnshift] = lpcana(x(1:N,i),order); if (P(i)) % V oiced frame.e = zeros(N,1);e(1:P(i):N) = 1; % Impulse-train excitation.else % Unvoiced frame.e = randn(N,1); % White noise excitation.endyt=filter(G(i),A(i,:),e);j=(i-1)*inc+[1:N];y(j) = y(j)+yt';end;end⼦程序lpcanafunction [A,G,P,fnlen,fnshift] = lpcana(x,order) fnlen=256;fnshift=fnlen/2;n=length(x);[b2,a2]=butter(2,900/4000);speech2=filter(b2,a2,x);[A,e]=lpc(speech2,order);errorlp=filter(A,1,speech2);re=xcorr(errorlp);G=sqrt(e*length(speech2));minlag=17;maxlag=160;[remax,idx]=max(re(n+minlag:n+maxlag));P=idx-1+minlag;end四、实验结果【实验六】⼀、实验题⽬Speech enhancement⼆、实验内容Write a program to implement the basic spectral magnitude subtraction.三、实验程序clear[speech,fs,nbits]=wavread('wznjdx_normal.wav');%读⼊数据alpha=0.04;%噪声⽔平winsize=256;%窗长size=length(speech);%语⾳长度numofwin=floor(size/winsize);%帧数hamwin=zeros(1,size);%定义汉明窗长度enhanced=zeros(1,size);%定义增强语⾳的长度ham=hamming(winsize)';%%产⽣汉明窗x=speech'+alpha*randn(1,size);%信号加噪声noisy=alpha*randn(1,winsize);%噪声估计N=fft(noisy);nmag=abs(N);%噪声功率谱%分帧for q=1:2*numofwin-1frame=x(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2);%对带噪语⾳帧间重叠⼀半取值hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=...hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+ham;%加窗y=fft(frame.*ham);mag=abs(y);%带噪语⾳功率谱phase=angle(y);%带噪语⾳相位%幅度谱减for i=1:winsizeif mag(i)-nmag(i)>0clean(i)=mag(i)-nmag(i);else clean(i)=0;endend%频域中重新合成语⾳spectral=clean.*exp(j*phase);%反傅⾥叶变换并重叠相加enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=...enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(spectral));endfigure(1);subplot(3,1,1);plot(speech);xlabel('样点数');ylabel('幅度');title('原始语⾳波形'); subplot(3,1,2);plot(x);xlabel('样点数');ylabel('幅度');title('语⾳加噪波形'); subplot(3,1,3);plot(enhanced);xlabel('样点数');ylabel('幅度');title('增强语⾳波形');四、实验结果。
语音信号处理
基于DSP 的通用语音信号处理系统的设计语音是人类相互之间进行交流时使用最多、最自然、最基本也是最重要的信息载体。
在高度信息化的今天,语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。
通常这些信号处理的过程要满足实时且快速高效的要求,随着DSP 技术的发展,以DSP 为内核的设备越来越多,为语音信号的处理提供了良好的平台。
本文设计了一个基于TMS320VC5509 定点的语音信号处理系统,实现对语音信号的采集、处理与回放等功能,为今后复杂的语音信号处理算法的研究和实时实现提供一个通用平台。
1 系统硬件设计语音处理系统主要由主控单元、语音采集、输入/输出单元等组成。
系统选用TI 公司的TMS320VC5509 DSP(以下简称为5509DSP)作为主处理器,负责完成整个系统的控制;选择TLV320AIC23B(以下简称为AIC23)作为CODEC 芯片,来实现语音的采集和语音输出。
系统的硬件结构如图1 所示。
图11.1 芯片介绍5509 DSP[1]是TI 公司推出的一款低功耗高性能的16 位定点数字信号处理器,它的最高工作频率能达到144MHZ,它具有强大的并行特性以及方便用户编程的指令流水线的自动保护机制,保证了指令的高效率执行。
5509 DSP 采用统一编址的方式来划分存储空间,使其便于大量数据的处理与程序的优化。
它提供了DMA 控制器、IIC 总线控制器、定时、MCBSP 串口等丰富的外围设备,同时片内还集成了128×16 的SRAM,,并具有EMIF 接口,可以与SDRAM 无缝连接,为实现复杂的语音算法提供了可能。
AIC23[2]是TI 生产的一款高性能、低功耗的立体音频CODEC 芯片,提供48KHZ 带宽,最大采样率为96KHZ,内置耳机输出放大器,支持MIC 输入和立体声输入两种输入方式以及立体声输出,且对输入和输出都具有可编程增益调节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原始信号的时域波形与FFt频谱分析
[x,fs,bits]=wavread(‘音频文件’);%读取一个音频文件x=x(:,1);
figure(1);
subplot(3,1,1);
plot(x);grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘幅频特性’); subplot(3,1,2);
wx=fft(x);
plot(abs(wx));grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘幅频特性’); subplot(3,1,3);
plot(angle(wx));grid on;
xlabel(‘频率’);ylabel(‘相位’);title(‘幅频特性’);
产生回声
N=36000;
y=[x;zeros(N,1)]+0.5*[zeros(N,1)];
wavwrite(y,’加回声信号后的信号’);
figure(2);
subplot(3,1,1);
plot(y);grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘加回声信号后的时域波形’); subplot(3,1,2);
wy=fft(y);
plot(abs(wy));grid on;
xlabel(‘频率’);ylabel(‘幅值’);title(‘幅频特性’);
subplot(3,1,3);
plot(angle(wy));grid on;
xlabel(‘频率’);ylabel(‘相位’);title(‘相频特性’);
产生回声信号后的时域波形,FFt频谱分析
r=xcorr(y);
figure(3);
plot(r);
grid on;
title(‘y的自相关函数’);
[u,v]=max(r);
r1=r;
r1(v-5000:v+5000,1)=0;
[u1,v1]=max(r1);
N=v-v1;
Title(N);
N
for k=1:2
t(k)=(-1)^k*y(36000*(k-1)+1,1);
end
roots(t)
从带有回声的声音中消除回声信号且估计反射物的距离a=[1,zeros(1,35999),0.5];
b=[1];
x1=filter(b,a,y);
wavwrite(x1,’恢复后的信号’);
figure(4);
subplot(3,1,1);
plot(x1);grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘恢复后的信号时域波形’); subplot(3,1,2);
wx1=fft(x1);
plot(abs(wx1));grid on;
xlabel(‘频率’);ylabel(‘幅值’);title(‘幅频特性’);
[x,fs,bits]=wavread('yinpin.wav');
N=length(x);%²â¶¨ÓïÒôÐźŵij¤¶È
f=2500;
x=x';
n=0:1/fs:(N-1)/fs;
s=0.05*sin(2*pi*f*n);
y=x+s;
f1=0:fs/N:fs*(N-1)/N;
x1=fft(x,N);
s1=fft(s,N);
Y=fft(y,N);
figure(1);
subplot(3,1,1);plot(n,x);title('Ô-ʼÐźŲ¨ÐÎͼ');
xlabel('t/s');ylabel('·ùÖµ');
subplot(3,1,2);plot(n,s);title('ÔëÉùÐźŲ¨ÐÎͼ');ylim([-0.08,0.08]); xlabel('t/s');ylabel('·ùÖµ');
subplot(3,1,3);plot(n,y);title('ÐźÅ+ÔëÉùÐźÅͼ');
xlabel('t/s');ylabel('·ùÖµ');
figure(2);
subplot(2,2,1);plot(f1,abs(x,1));title('Ô-ʼÐźÅƵÆ×ͼ');。