信息技术综合实验-实验二-语音编码实验

合集下载

语音信号处理实验报告实验二

语音信号处理实验报告实验二

语音信号处理实验报告实验二一、实验目的本次语音信号处理实验的目的是深入了解语音信号的特性,掌握语音信号处理的基本方法和技术,并通过实际操作和数据分析来验证和巩固所学的理论知识。

具体而言,本次实验旨在:1、熟悉语音信号的采集和预处理过程,包括录音设备的使用、音频格式的转换以及噪声去除等操作。

2、掌握语音信号的时域和频域分析方法,能够使用相关工具和算法计算语音信号的短时能量、短时过零率、频谱等特征参数。

3、研究语音信号的编码和解码技术,了解不同编码算法对语音质量和数据压缩率的影响。

4、通过实验,培养我们的动手能力、问题解决能力和团队协作精神,提高我们对语音信号处理领域的兴趣和探索欲望。

二、实验原理(一)语音信号的采集和预处理语音信号的采集通常使用麦克风等设备将声音转换为电信号,然后通过模数转换器(ADC)将模拟信号转换为数字信号。

在采集过程中,可能会引入噪声和干扰,因此需要进行预处理,如滤波、降噪等操作,以提高信号的质量。

(二)语音信号的时域分析时域分析是对语音信号在时间轴上的特征进行分析。

常用的时域参数包括短时能量、短时过零率等。

短时能量反映了语音信号在短时间内的能量分布情况,短时过零率则表示信号在单位时间内穿过零电平的次数,可用于区分清音和浊音。

(三)语音信号的频域分析频域分析是将语音信号从时域转换到频域进行分析。

通过快速傅里叶变换(FFT)可以得到语音信号的频谱,从而了解信号的频率成分和分布情况。

(四)语音信号的编码和解码语音编码的目的是在保证一定语音质量的前提下,尽可能降低编码比特率,以减少存储空间和传输带宽的需求。

常见的编码算法有脉冲编码调制(PCM)、自适应差分脉冲编码调制(ADPCM)等。

三、实验设备和软件1、计算机一台2、音频采集设备(如麦克风)3、音频处理软件(如 Audacity、Matlab 等)四、实验步骤(一)语音信号的采集使用麦克风和音频采集软件录制一段语音,保存为常见的音频格式(如 WAV)。

PCM ADPCM编译码实验报告

PCM ADPCM编译码实验报告

PCM ADPCM编译码实验报告姓名:专业:学号:PCM/ADPCM编码实验一、实验目的1、了解语音编码的工作原理,验证pcm/adpcm编译码原理。

2、熟悉pcm/adpcm抽样时钟,编码数据和输入速出时钟之间的关系。

3、了解pcm/adpcm专用大规模集成电路的工作原理和应用4、熟悉语音数字化技术的主要指标及测量方法。

二、实验仪器1、 JH5001通信原理综合实验系统。

2、 20M双踪示波器。

3、信号源。

4、音频信道传输损伤测试仪。

三、实验原理TP501 TP502 至用户接口 K501 N 测试信号 T 跳线器·· - + K502 · T · N··发PCM码字U502 PCM 编译码器 TP504 8KHz同步 256KHz时钟 K504 跳线器TP503 至用户接口 K503 T ···N·· - · + TP505 LOOP ADPCM2 MUX TP506 收PCM码字图3. 1 PCM模块电路组成框图 1、PCM/ADPCM编译码模块中,收、发两个支路组成,在发送支路上发送信号经U501A运放后放大后,送入U502的2脚进行PCM/ADPCM编码。

编码输出时钟为BCLK,编码数据从U502的20脚输出,FSX为编码抽样时钟。

编码之后的数据结果送入后续数据复接模块进行处理,或直接送到对方PCM/ADPCM译码单元。

在接收支路中,收数据是来自解数据复接模块的信号,或是直接来自对方PCM/ADPCM编码单元信号,在接收帧同步时钟FSX与接收输入时钟BCLK的共同作用下,将接收数据送入U502中进行PCM/ADPCM译码。

译码之后的模拟信号经运放U501B放大缓冲输出,送到用户接口模块中。

2、各跳线功能如下:1、跳线开关K501是用于选择输入信号,当K501置于N 位置时,选择来自用户接口单元的话音信号;当K501置于T 位置时选择测试信号。

实践语音期末总结

实践语音期末总结

实践语音期末总结一、引言实践语音是语音学的实践应用学科,主要涉及到音频处理和语音识别技术。

本学期在实践语音课程中,我根据课程教学内容和教师要求,完成了一系列的实验和项目,运用了所学的知识和技能,不断提高自己的实践能力和综合素质。

在实践过程中,我遇到了许多的困难和挑战,但经过自己的不懈努力,我成功地完成了实验和项目,并取得了一定的成果。

本篇总结报告将回顾我在本学期的实践过程和成果,同时也会对我在实践过程中存在的问题和不足进行分析和总结。

二、实验与项目内容及成果1. 实验一:音频文件的读取和显示这个实验的目的是学会使用编程语言处理音频文件,了解音频的图像表示和频谱图的绘制。

通过对输入的音频文件进行读取和显示,我成功地实现了音频文件的读取和显示功能,并掌握了音频的图像表示方法。

2. 实验二:语音信号的预处理这个实验的目的是学会对语音信号进行预处理,包括语音分帧、加窗、快速傅里叶变换(FFT)等操作。

通过对输入的语音信号进行预处理,我成功地实现了语音信号的分帧、加窗和快速傅里叶变换等操作,并掌握了语音信号预处理的基本方法。

3. 实验三:基于隐马尔可夫模型的语音识别这个实验的目的是学会使用隐马尔可夫模型(HMM)进行语音识别。

通过使用已经训练好的HMM模型和输入的语音信号,我成功地进行了语音识别实验,并实现了对输入语音的识别和输出结果。

通过这个实验,我对隐马尔可夫模型的原理和应用有了更深入的了解。

4. 项目一:音频缺陷检测与修复这个项目的目的是通过分析音频信号的特征,检测音频中的缺陷,并进行修复。

通过对输入的音频信号进行分析和处理,我成功地检测出音频中的缺陷,并运用音频修复算法进行修复。

通过这个项目,我进一步提高了自己的实践能力和创新思维能力。

5. 项目二:语音情感识别这个项目的目的是利用语音特征来进行情感识别。

通过对输入的语音信号进行分析,并提取出语音特征,我成功地实现了语音情感识别的功能,并能够将输入的语音信号归类为不同的情感类别。

实验2PCM实验

实验2PCM实验

实验 2 PCM 编译码实验一、实验目的1.理解 PCM 编译码原理及 PCM 编译码性能;2.熟习 PCM 编译码专用集成芯片的功能和使用方法及各样时钟间的关系;3.熟习语音数字化技术的主要指标及丈量方法。

二、实验原理1.抽样信号的量化原理模拟信号抽样后变为在时间隔散的信号后,一定经过度化才成为数字信号。

模拟信号的量化分为均匀量化和非均匀量化两种。

把输入模拟信号的取值域按等距离切割的量化就称为均匀量化,每个量化区间的量化电平均取在各区间的中点,以下列图所示。

图 2-1均匀量化过程表示图信号均匀量化的主要弊端是不论抽样值大小怎样,量化噪声的均方根值都固定不变。

所以,m( t) 较小时,则信号量化噪声功率比也很小。

这样,关于弱信号时的量化信噪比就难以当达到给定的要求。

往常把知足信噪比要求的输入信号取值范围定义为动向范围,那么,均匀量化时的信号动向范围将遇到较大的限制。

为了战胜这个弊端,实质中常常采纳非均匀量化的方法。

非均匀量化是依据信号的不一样区间来确立量化间隔的。

关于信号取值小的区间,其量化间隔D v也小;反之,量化间隔就大。

非均匀量化与均匀量化对比,有两个突出的长处:首先,当输入量化器的信号拥有非均匀散布的概率密度(实质中常常是这样)时,非均匀量化器的输出端能够获取较高的均匀信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比率,所以量化噪声对大、小信号的影响大概同样,即改善了小信号时的信噪比。

非均匀量化的实质过程往常是将抽样值压缩后再进行均匀量化。

此刻宽泛采纳两种对数压缩,美国采纳压缩律,我国和欧洲各国均采纳 A 压缩律。

本实验中 PCM 编码方式也是采纳 A 压缩律。

A 律压扩特征是连续曲线,实质中常常都采纳近似于 A 律函数规律的 13 折线( A=)的压扩特征。

这样,它基本保持连续压扩特征曲线的长处,又便于用数字电路来实现,以下列图所示。

图2-2 13 折线特征表2-1 列出了 13 折线时的x值与计算得的x值的比较。

语音编码实验报告

语音编码实验报告

一、实验背景与目的随着信息技术的飞速发展,语音通信已经成为人们日常生活和工作中不可或缺的一部分。

语音编码技术作为语音通信的核心技术,旨在高效地压缩语音信号,降低传输带宽,提高通信质量。

本实验旨在通过实际操作,深入理解语音编码的基本原理,掌握常用的语音编码方法,并评估其性能。

二、实验内容与步骤1. 实验内容本实验主要涉及以下内容:- 语音信号的采集与预处理;- 语音信号的时域和频域分析;- 常用语音编码方法的实现与性能评估;- 编码性能的对比分析。

2. 实验步骤(1)实验准备- 确定实验所需的软件和硬件环境,如音频采集设备、计算机等;- 下载并安装实验所需的语音信号处理软件,如MATLAB等;- 准备实验所需的语音样本,如ISDN话音、PCMU/PCMA编码的语音等。

(2)语音信号的采集与预处理- 使用音频采集设备采集一段语音信号,采样频率为16kHz;- 对采集到的语音信号进行预处理,包括去除静音、归一化、滤波等操作。

(3)语音信号的时域和频域分析- 对预处理后的语音信号进行时域分析,观察其波形、幅度谱等;- 对语音信号进行频域分析,观察其频谱图、功率谱等。

(4)语音编码方法实现与性能评估- 选择一种或多种语音编码方法,如线性预测编码(LPC)、矢量量化(VQ)等;- 根据所选编码方法,编写相应的编码程序,对预处理后的语音信号进行编码;- 对编码后的语音信号进行解码,恢复原始语音信号;- 评估编码性能,如信噪比(SNR)、均方误差(MSE)等。

(5)编码性能对比分析- 对比不同语音编码方法的性能,分析其优缺点;- 分析不同参数设置对编码性能的影响。

三、实验结果与分析1. 实验结果(1)语音信号预处理- 预处理后的语音信号波形图;- 预处理后的语音信号频谱图。

(2)语音编码方法实现- 编码后的语音信号波形图;- 编码后的语音信号频谱图。

(3)编码性能评估- 不同语音编码方法的信噪比和均方误差;- 不同参数设置对编码性能的影响。

语音实验二

语音实验二

实验二 语谱图实验目的1、掌握语音信号端点检测的短时傅里叶分析效果与窗长、窗形状的关系;2、掌握语音信号端点检测的语谱图效果与窗长、窗形状的关系。

实验原理1、短时傅里叶变换的定义:不同的窗口函数序列,将得到不同的傅里叶变换的结果。

当n 取不同值时窗w (n -m )沿着x (m )序列滑动,w (n -m )是一个“滑动的”窗口。

2、窗口序列的作用(1)波形乘窗函数,在窗口边缘两端不引起急剧变化,使波形缓慢降为零,短时谱是信号谱与窗函数的傅里叶变换进行卷积,所以窗函数的特性: ①频率分辨率高,即主瓣狭窄、尖锐;②通过卷积,在其他频率成分产生的频谱泄漏少,即旁瓣衰减大。

这两个要求相互矛盾,不能同时满足。

(2)主瓣宽度与窗口宽度成反比:①直角窗:第一个零点位置为N /2π,显然它与窗口宽度成反比。

第一旁瓣的衰减只有13.2dB ,不适合用于频谱成分动态范围很宽的语音分析中。

②海明窗:第一个零点位置为N /4π,显然它与窗口宽度成反比。

旁瓣的衰减大于42dB ,具有频谱泄漏少的优点,频谱中高频分量弱、波动小,因而得到较平滑的谱。

对语音波形乘以海明窗,压缩了接近窗两端的部分波形,等效于用作分析的区间缩短40%左右,频率分辨率下降40%左右。

乘以合适的窗函数,能抑制基音周期与分析区间的相对相位关系的变动影响,∑∞-∞=--=m mj j n e m n w m x e X ωω)()()(得到稳定的频谱。

乘以窗函数将导致分帧区间缩短,所以为跟踪随时间变化的频谱,要求一部分区间重复移动。

3、窗口宽度的影响N值太大时,信号的分帧已失去了意义,应折衷选择窗定N。

频率分辨率随窗口宽度的增加而提高,同时时间分辨率降低;窗口取短,频率分辨率下降,时间分辨率提高,因而二者是矛盾的。

(1)N=500时(取样率10kHz,窗持续时间50ms)时直角窗及海明窗下浊音语音的频谱。

①基频及其谐波在频谱中表现为等频率间隔的窄峰;②共振峰③由于声门脉冲频谱的高频衰减特性,频谱在高频部分表现出下降的趋势。

语音处理实验报告

语音处理实验报告

实验一 语音信号的端点检测一、实验目的1、掌握短时能量的求解方法2、掌握短时平均过零率的求解方法3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。

二、仪器设备实验仪器设备及软件HP 计算机,MATLAB三、实验原理端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。

本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。

算法对于输入信号的检测过程可分为短时能量检测和短时过零率检测两个部分。

算法以短时能量检测为主,短时过零率检测为辅。

根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)三种。

在本算法中,短时能量检测可以较好地区分出浊音和静音。

对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。

将两种检测结合起来,就可以检测出语音段(清音和浊音)及静音段1、短时能量计算定义n 时刻某语言信号的短时平均能量En 为:∑∑--=+∞∞--=-=nN n m m n w m x m n w m x En )1(22)]()([)]()([式中N 为窗长,可见短时平均能量为一帧样点值的平方和。

特殊地,当窗函数为矩形窗时,有∑--==nN n m m x En )1(2)( 2、短时过零率过零就是指信号通过零值。

过零率就是每秒内信号值通过零值的次数。

对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。

对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。

可以用相邻两个取样改变符号的次数来计算。

如果窗的起点是n=0,短时过零率Z 为波形穿过横轴(零电平)的次数|))1(())((|2110∑-=--=N n w w n S Sgn n S Sgn Z {00,1,1)sgn(≥<-=x x x短时过零可以看作信号频率的简单度量浊音的短时平均幅度最大,无声的短时平均幅度最小,清音的短时过零率最大,无声居中,浊音的短时过零率最小。

实验2、PCM实验

实验2、PCM实验

实验 2 PCM 编译码实验一、实验目的1.理解 PCM 编译码原理及 PCM 编译码性能;2.熟悉 PCM 编译码专用集成芯片的功能和使用方法及各种时钟间的关系;3.熟悉语音数字化技术的主要指标及测量方法。

二、实验原理1.抽样信号的量化原理模拟信号抽样后变成在时间离散的信号后,必须经过量化才成为数字信号。

模拟信号的量化分为均匀量化和非均匀量化两种。

把输入模拟信号的取值域按等距离分割的量化就称为均匀量化,每个量化区间的量化电平均取在各区间的中点,如下图所示。

图 2-1 均匀量化过程示意图均匀量化的主要缺点是无论抽样值大小如何,量化噪声的均方根值都固定不变。

因此,当信号m(t ) 较小时,则信号量化噪声功率比也很小。

这样,对于弱信号时的量化信噪比就难以达到给定的要求。

通常把满足信噪比要求的输入信号取值范围定义为动态范围,那么,均匀量化时的信号动态范围将受到较大的限制。

为了克服这个缺点,实际中往往采用非均匀量化的方法。

非均匀量化是根据信号的不同区间来确定量化间隔的。

对于信号取值小的区间,其量化间隔D v 也小;反之,量化间隔就大。

非均匀量化与均匀量化相比,有两个突出的优点:首先,当输入量化器的信号具有非均匀分布的概率密度(实际中往往是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例,因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的信噪比。

非均匀量化的实际过程通常是将抽样值压缩后再进行均匀量化。

现在广泛采用两种对数压缩,美国采用μ压缩律,我国和欧洲各国均采用 A 压缩律。

本实验中 PCM 编码方式也是采用 A 压缩律。

A 律压扩特性是连续曲线,实际中往往都采用近似于 A 律函数规律的 13 折线(A=87.6)的压扩特性。

这样,它基本保持连续压扩特性曲线的优点,又便于用数字电路来实现,如下图所示。

图2-2 13 折线特性表 2-1 列出了 13 折线时的x 值与计算得的x 值的比较。

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

实验报告实验名称语音编码实验课程名称信息处理技术专业综合实验实验二 语音编码一、实验目的熟悉语音基本压缩编码的方法,观察语音压缩效果,加深对语音线性预测编码(LPC )的理解。

二、实验内容1、编写并调试语音LPC 参数提取程序。

2、编写并调试语音基音周期提取程序。

3、编写并调试语音LPC 合成程序。

三、实验原理语音信号中含有大量的冗余信息,采用各种信源编码技术减除语音信号的冗余度,并充分利用人耳的听觉掩蔽效应,就可以将其编码速率压缩很多倍,而仍能提供可懂语音。

LPC 声码器是一种比较简单实用的语音压缩方法,其基本原理是:根据语音生成模型,将语音看作激励源通过一个线性时不变系统产生的输出,利用线性预测分析对声道参数进行估值,将求得的线性预测系数,结合基音周期等少量参数进行传输,就可以在接收端利用合成滤波器重构语音信号。

线性预测系数的估计方法为:假设语音的当前样值可以用过去的M 个语音样值来进行预测()()()()()∑=-=-++-+-=Mi i M i n x a M n x a n x a n x a n x 12121~式中{}i a 即为线性预测系数。

实际值和预测值之间的均方误差可表示为()()()∑∑∑⎪⎭⎫ ⎝⎛--===n Mi i n i n x a n x n E 212ε 要求均方误差总和最小,将E 关于i a 的偏导数设置为零,可以得到()()()01=⎪⎭⎫ ⎝⎛---∑∑=Mi i n i n x a n x k n x通过采用自相关法、协方差法或格形法求解该方程,即可得到最优的{}i a 。

四、实验方法及程序1. 调用xcorr命令计算一帧语音的自相关函数。

2. 调用toeplitz命令形成该帧语音的自相关矩阵。

3. 调用durbin命令,采用杜宾递推算法计算该帧语音的线性预测系数。

4. 编写lpcauto.m函数,求取一句语音信号的线性预测系数及预测残差。

选择设当的窗函数对语音信号进行分幀。

5. 编写lpcpitch函数,由残差信号计算该句语音的基音周期。

6.编写lpcgain函数,由预测残差能量,求出该句语音的增益。

7. 编写lpcsyn函数,由该句语音的基音周期、预测残差能量和增益进行LPC合成。

五、实验结果与分析1.如何对全极点模型的线性预测参数进行提取?加窗等预处理对提取结果有何影响?2.如何实现线性预测参数的各种表现方式之间的转换?3. 使用预测残差求基音周期有何优点?4. 如何根据线性预测系数求得LPC频谱?5. LPC频谱与基于DFT求得的语音对数幅度谱相比有何不同?6. LPC合成语音的质量如何?有何改进措施?实验过程记录与结果分析1、计算短时自相关函数1.1分别计算正弦信号和白噪声的短时自相关函数,估计正弦信号的基音周期。

其Matlab代码如下:x=sin(2*pi*0.01*(0:499)');[r,eta]=xcorr(x,100,'unbiased');stem(eta,r);w=randn(500,1);[r,eta]=xcorr(w,100,'unbiased');stem(eta,r);-100-80-60-40-200204060801001.2计算正弦信号叠加白噪声的短时自相关函数,试估计正弦信号的基音周期。

其Matlab代码如下:x=sin(2*pi*0.01*(0:499)');w=randn(500,1);x1=x+w;[r,eta]=xcorr(x1,100,'unbiased');stem(eta,r);-100-80-60-40-200204060801001.3 分别画出一帧浊音和一帧清音的语音自相关波形(采样频率为10kHz,帧长为25.6ms,每帧有256个样点),估计浊音的基音周期。

load digits; x=digits.three1;m=2756; N=256; n=m-N+1:m;[r,eta]=xcorr(x(n),250,'unbiased');plot(eta,r);m=500; N=256; n=m-N+1:m;[r,eta]=xcorr(x(n),250,'unbiased');plot(eta,r);-250-200-150-100-50050100150200250-3-2-10123454-250-200-150-100-5050100150200250-30-20-100102030405060702、求取LPC 系数2.1加载“digits.three1”语音数据。

基于自相关法,求出其中一帧数据(采样频率为10kHz ,帧长为25.6ms ,每帧有256个样点)的14阶LPC 系数。

画出相应的LPC 谱。

load digits; x=digits.three1;m=2756; N=256; n=m-N+1:m; M=14; [r,eta]=xcorr(x(n),250,'unbiased'); Rx=toeplitz(r(M+1:2*M)); rx=r(M+2:2*M+1); a=Rx\rx;NFFT=1024; k=1:NFFT/2; X=fft(x(n).*hann(N),NFFT); Theta=1./fft([1:-a],NFFT);plot(k,20*log10(abs([353*Theta(k)’ X(k)]))) axis([0 NFFT/2 -inf inf])05010015020025030035040045050010203040506070802.2编写一个用以实现杜宾递推算法的函数“durbin.m ”,其Matlab 代码如下: function [a,xi,kappa]=durbin(r,M) kappa = zeros (M,1);a = zeros (M, 1);xi=[r(1); zeros(M,1)];for (j=1:M)kappa(j)=(r(j+1)-a(1:j-1)'*r(j:-1:2))/xi(j);a(j)=kappa(j);a(1:j-1)=a(1:j-1)-kappa(j)*a(j-1:-1:1);xi(j+1)=xi(j)*(1-kappa(j)^2);end2.3利用函数“durbin.m”,计算2.1中语音数据帧的14阶LPC系数,并与2.1中的结果进行比较:x=digits.three1;m=2756; N=256; n=m-N+1:m; M=14;[r,eta]=xcorr(x(n),250,'unbiased');[aLD,xi,kappa]=durbin(r(M+1:2*M+1),M);a, aLD, norm(a-aLD)2.4编写一个用以实现反射系数转换为LPC系数的函数“rf2lpc.m”,其Matlab代码如下:function a = rf2lpc(kappa)M = length(kappa);a = zeros(M,1);for (j=1:M)a(j) = kappa(j);a(1:j-1) = a(1:j-1) - kappa(j)*a(j-1:-1:1);end2.5 编写一个用以实现LPC系数转换为反射系数的函数“lpc2rf.m”,其Matlab 代码如下:function kappa = lpc2rf(a)M = length(a);kappa = zeros(M,1);for (j=M:-1:1)kappa(j) = a(j);a(1:j-1) = (a(1:j-1) + a(j)*a(j-1:-1:1))/(1 - kappa(j)^2);end2.6使用函数“rf2lpc.m ”和“lpc2rf.m ”,检验反射系数和LPC 系数相互转换结果。

norm(kappa-lpc2rf(aLD)) norm(aLD-rf2lpc(kappa))3、语音信号的逆滤波3.1 利用2.3中求出的一帧语音数据的LPC 系数,构造逆滤波器,并画出该帧语音信号的残差波形。

ehat=filter([1;-1],1,x(n)); plot([x(n) ehat])050100150200250300-600-400-2002004006003.2编写一个用以实现语音信号LPC 分析的函数“lpcauto ”,其Matlab 代码如下:function [ar,xi,e,m] = lpcauto(x,M,win,Olap)Nx = length(x);N = length(win);if (N == 1)N = win;win = ones(N,1);endF = fix((Nx-Olap)/(N-Olap));ar = zeros(M+1,F);xi = zeros(M+1,F);e = zeros(Nx,1);m = zeros(F,1);n = 1:N;n1 = 1:Olap;n2 = N-Olap+1:N;n3 = Olap+1:N;win1 = win(n1)./(win(n1)+win(n2)+eps);win2 = win(n2)./(win(n1)+win(n2)+eps);for (f=1:F)[r,eta] = xcorr(x(n).*win,M,'biased');[a,xi(:,f),kappa] = durbin(r(M+1:2*M+1),M);ar(:,f) = [1; -a];ehat = filter(ar(:,f),1,x(n));e(n) = [e(n(n1)).*win2 + ehat(n1).*win1; ehat(n3)]; % Overlap-add.m(f) = n(N);n = n + (N-Olap);end3.3加载“timit1”语音数据,利用“lpcauto”函数对该句语音进行LPC分析。

画出语音信号及其残差波形。

load timit1; x=timit1;M=14; N=256;[ar,xi,e,m]=lpcauto(x,M,hann(N),N/2); plot([x,e]) soundsc(x) soundsc(e) soundsc(x-e)123456x 104-1-0.8-0.6-0.4-0.200.20.40.60.814、LPC 谱估计4.1编写一个用以计算和显示LPC 谱的函数“lpcplot ”,其Matlab 代码如下: function lpcplot(A,Nfft,Fs,m) [M,N] = size(A); if (N==1)[Theta,F] = freqz(1,A,Nfft,Fs); plot(F,20*log10(abs(Theta)));xlabel('Frequency, {\it F} [Hz]');ylabel('Magnitude, |\theta(\omega)| [dB]'); elseif (length(m) ~= N)error('The column dimension of A must be equal to the length of m.') endTheta = zeros(Nfft,N); for (n=1:N)[Theta(:,n),F] = freqz(1,A(:,n),Nfft,Fs); endMeshHndl = meshz(m,F,20*log10(abs(Theta)));axis ij; view(-45,45); set(MeshHndl,'MeshStyle','Column'); axis tight; axis 'auto y'; axis 'auto z';xlabel('Sample Number, {\it n}'); ylabel('Frequency, {\it F} [Hz]');zlabel('Magnitude, |\theta(\omega)| [dB]'); end4.2利用“lpcplot ”函数,画出3.3中语音数据的几帧(采样频率为16kHz ,帧长为32ms ,每帧有512个样点)LPC 谱。

相关文档
最新文档