基于MATLAB的语音信号采集和双线性变换法滤波器设计

合集下载

基于Matlab的对语音信号采集处理及滤波器的设计

基于Matlab的对语音信号采集处理及滤波器的设计

目录摘要 (2)1 课程设计实现 (3)1.1整体设计思路 (3)1.2整体实现过程 (3)1.2.1 信号的采样 (3)1.2.2 语音信号的读取 (5)1.2.3 语音信号的频谱分析 (6)1.2.4 噪声信号的构建 (7)1.2.5 加入噪声的语音信号的频谱 (8)2 数字滤波器的设计 (9)2.1滤波器的设计原理 (9)2.2滤波器的性能指标 (10)2.3IIR数字滤波器设计 (10)2.4FIR数字滤波器设计 (12)2.5滤波器对信号滤波 (13)2.6语音信号回放 (17)3 心得体会 (17)4 主要参考资料.............................................................. 错误!未定义书签。

附录.................................................................................... 错误!未定义书签。

摘要MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是MATLAB 重要应用的领域之一。

本课程设计介绍了基于Matlab的对语音信号采集、处理及滤波器的设计,并使之实现的过程。

理解与掌握课程中的基本概念、基本原理、基本分析方法,用Matlab进行数字语音信号处理,并阐述了课程设计的具体方法、步骤和内容。

综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。

关键词: MATLAB 工具信号语音采集滤波器1 课程设计实现1.1整体设计思路Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是 Matlab 重要应用的领域之一。

基于Matlab的语音滤波处理

基于Matlab的语音滤波处理

数字信号处理课程设计基于matlab的语音信号处理摘要利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。

同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。

基于MATLAB的语音信号处理语音信号的采集录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。

然后利用wavread对语音信号进行采样。

我们一共选择了3段语音,其中d.wav 真心英雄(周华健)(男声)man.wav我的歌声里(自己录制)(男声)girl.wav看的最远的地方(韶涵)(女声)语音信号的频谱分析使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。

这里我们分析的是d.wav,通过分析知道频率分布在0—10KHz,主要分布在低频。

数字滤波器设计这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。

各滤波器的设计如下:椭圆低通滤波器:fb=1 200 Hz,fc=1 400 Hz,As=100 dB,Ap=1 dB椭圆高通滤波器:fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB等波纹逼近法设计FIR带通滤波器fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3000Hz,As=100dB,Ap=1dB双线性变换法切比雪夫数字高通滤波器fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。

基于MATLAB的语音信号采集和双线性变换法滤波器设计

基于MATLAB的语音信号采集和双线性变换法滤波器设计

第一章语音信号的采集第一节语音信号采集的介绍MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析.使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等.在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号:1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。

操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。

2.调用wavrecord功能函数采集语音信号。

wavrecord功能函数只适用于windows95/98/N平台,它使用windows声音输入设备录制声音。

函数调用方式:wavrecord(N,fs,ch,nbits); N:采集的样本数据量; fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); nbits:每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位; 3.运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。

fs:样本采集频率,为8000Hz、11025Hz、22050Hz 和44100Hz之一,默认值为8000Hz; nbits:每个样本的位数,8位或16位,默认值为8位; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。

基于MATLAB的语音信号滤波处理毕业设计(论文)

基于MATLAB的语音信号滤波处理毕业设计(论文)

学号14112220266毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作者夏杰届别2015届院别信息与通信工程学院专业电子信息工程指导教师罗朝明职称副教授完成时间2015年5月17日摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。

本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。

在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。

关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image processing, communication, bio-medical engineering and many other fields.This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice signal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;V oice signal;Filter;Simulation;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 语音信号滤波处理的简介 (1)1.2 数字滤波器的概念 (1)1.3 MATLAB软件的介绍 (2)1.4 论文各章节的安排 (3)第二章语音信号的频谱分析 (5)2.1 快速傅里叶算法的原理 (5)2.2语音信号的采集及频谱分析 (10)2.3语音信号的加噪处理及频谱分析 (12)第三章数字滤波器的设计 (15)3.1数字滤波器的设计原理 (15)3.2 用窗函数法设计FIR数字滤波器 (17)3.3 用双线性法设计IIR数字滤波器 (21)第四章语音信号的滤波 (24)4.1 语音信号的滤波测试 (24)4.2加噪语音信号的滤波处理 (27)第五章总结和展望 (29)5.1 课题总结 (29)5.2课题展望 (29)参考文献 (30)致谢 (31)第一章绪论1.1语音信号滤波处理的简介语音信号的基本组成单位是“音素”。

基于MATLAB的语音信号分析及滤波

基于MATLAB的语音信号分析及滤波

基于MATLAB的语音信号分析及滤波MATLAB是一种强大的数值计算和数据分析工具,也可以用于语音信号的分析和滤波。

本文将介绍基于MATLAB的语音信号分析和滤波方法。

首先,我们需要将语音信号导入MATLAB中进行分析。

语音信号可以以.wav格式的文件保存,可以使用`audioread`函数将.wav文件导入MATLAB中。

例如:```matlab[x, fs] = audioread('speech.wav');```其中,`x`是导入的语音信号,`fs`是采样率。

接下来,我们可以通过绘制波形图和频谱图来对语音信号进行分析。

波形图可以用`plot`函数绘制,频谱图可以用`spectrogram`函数绘制。

```matlabsubplot(2, 1, 1);plot(x);title('Waveform');xlabel('Sample');ylabel('Amplitude');subplot(2, 1, 2);spectrogram(x, hann(256), 128, 512, fs, 'yaxis');title('Spectrogram');```绘制的波形图显示了语音信号的振幅随时间的变化,而频谱图显示了语音信号在不同频率上的能量分布。

在分析完语音信号的基本特征后,我们可以应用滤波器对语音信号进行滤波。

常用的语音信号滤波器包括低通滤波器、高通滤波器和带通滤波器。

可以使用MATLAB中的`filter`函数来应用这些滤波器。

例如,下面的代码展示了如何使用低通滤波器对语音信号进行滤波:```matlabfc = 4000; % 截止频率为4000 Hz[b, a] = butter(6, fc/(fs/2), 'low'); % 6阶Butterworth低通滤波器filtered_x = filter(b, a, x);figure;subplot(2, 1, 1);plot(x);title('Original Signal');xlabel('Sample');ylabel('Amplitude');subplot(2, 1, 2);plot(filtered_x);title('Filtered Signal');xlabel('Sample');ylabel('Amplitude');```通过调整截止频率和滤波器阶数,可以实现不同的滤波效果。

基于MATLAB的语音信号滤波处理讲解

基于MATLAB的语音信号滤波处理讲解

学号14112220266毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作者夏杰届别2015届院别信息与通信工程学院专业电子信息工程指导教师罗朝明职称副教授完成时间2015年5月17日摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。

本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。

在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。

关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image processing, communication, bio-medical engineering and many other fields.This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice signal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;V oice signal;Filter;Simulation;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 语音信号滤波处理的简介 (1)1.2 数字滤波器的概念 (1)1.3 MATLAB软件的介绍 (2)1.4 论文各章节的安排 (3)第二章语音信号的频谱分析 (5)2.1 快速傅里叶算法的原理 (5)2.2语音信号的采集及频谱分析 (10)2.3语音信号的加噪处理及频谱分析 (12)第三章数字滤波器的设计 (15)3.1数字滤波器的设计原理 (15)3.2 用窗函数法设计FIR数字滤波器 (17)3.3 用双线性法设计IIR数字滤波器 (21)第四章语音信号的滤波 (24)4.1 语音信号的滤波测试 (24)4.2加噪语音信号的滤波处理 (27)第五章总结和展望 (29)5.1 课题总结 (29)5.2课题展望 (29)参考文献 (30)致谢 (31)第一章绪论1.1语音信号滤波处理的简介语音信号的基本组成单位是“音素”。

MATLAB语音滤波实验

MATLAB语音滤波实验

《数字信号处理》实验报告实验目的1、学会MATLAB的使用,掌握其程序设计方法,学会对信号进行分析和处理;2、掌握语音信号的采集、存储和时频分析;3、要求掌握IIR数字滤波器的设计原理、设计方法和设计步骤;4、学习用窗函数法设计FIR数字滤波器的原理及其设计步骤;5、了解学习GUI图形用户界面,进行实验程序的演示。

二.实验内容1、录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;2、给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,并画出滤波器的频率响应;3、用设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;4、换一个性别相异的人录制同样一段语音内容,分析两段内容相同的语音信号频谱之间的特点;5、录制一段同样长时间的背景噪声叠加到语音信号中,分析叠加前后信号频谱的变化,设计一个合适的滤波器,能够把该噪声滤除。

三.实验原理分析实验的几个要求可以看出,实验主要考察的是数字滤波器的设计及语音信号的滤波,涉及到男声和女声的分析。

从本质上说,本实验涉及的信号是人的语言,众所周知,人声的频率范围是20Hz到20000Hz,进一步的分析知声音范围大约在65-950 Hz,所以设计的是低通滤波器。

1.语音信号的采集熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数,在MATLAB 环境中,有关声音的函数有:a:y=wavrecord(N,fs,Dtype);利用系统音频输入设备录音,以fs为采样频率,默认值为11025,即以11025HZ进行采样。

Dtype为采样数据的存储格式,用字符串指定,可以是:‘double’、‘single’、‘int16’、‘int8’其中只有int8是采用8位精度进行采样,其它三种都是16位采样结果转换为指定的MATLAB数据;b:wavplay(y,fs);利用系统音频输出设备播放,以fs为播放频率,播放语音信号y;c:wavwrite((y,fs,wavfile);创建音频文件;d:y=wavread(file);读取音频文件;关于声音的函数还有sound();soundsc();等。

基于MATLAB的双线性变换法滤波器

基于MATLAB的双线性变换法滤波器

题目基于MATLAB的IIR数字滤波器内容摘要数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语言、雷达等领域都有着十分广泛的应用。

尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就、鉴于此,数字滤波器的设计就显得尤为重要。

根据IIR滤波器的特点,在MATLAB坏境下用双线性变换法设计IIR数字滤波器。

利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。

关键词双线性变换法;数字滤波器;MATLAB ;IIR一、 MATLAB 软件简介MATLAB是英文Matrix Laboratory(矩阵实验室)的缩写。

它是由美国Mathworks公司推出的用于数值计算和图形处理的数学计算环境。

在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。

它优秀的数值计算能力和卓越的数据可视化能力使其很快在同类软件中脱颖而出。

MATLAB系统最初是由Cleve Moler 用FORTRAN语言设计的,现在的MATLAB程序是Mathworks公司用C语言开发的。

它的第一版(DOS版本1.0)发行于1984年;经过20年的不断改进,MATLAB 已经成为国际上最流行的科学与工程计算的软件工具,最流行的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。

MATLAB语言的功能也越来越强大,不断适应新的要求提出新的解决方法。

可以预见,在科学运算、自动控制与科学绘图领域MATLAB语言将长期保持其独一无二的地位。

MATLAB语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同其他语言的特点。

1.语言简洁紧凑,使用方便灵活,库函数极其丰富。

MATLAB 程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编纂工作。

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

第一章语音信号的采集第一节语音信号采集的介绍MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析.使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等.在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号:1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。

操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。

2.调用wavrecord功能函数采集语音信号。

wavrecord功能函数只适用于windows95/98/N平台,它使用windows声音输入设备录制声音。

函数调用方式:wavrecord(N,fs,ch,nbits); N:采集的样本数据量; fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); nbits:每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位; 3.运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。

fs:样本采集频率,为8000Hz、11025Hz、22050Hz 和44100Hz之一,默认值为8000Hz; nbits:每个样本的位数,8位或16位,默认值为8位; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。

第二节语音信号的采集过程一般来说,人的听觉能感知的声音频率范围为20~20000Hz,在这一频率范围内可感知的声音强度为0~140dB,其中人耳比较敏感的区域在50~4000Hz。

因此,采集子系统的硬件参数可根据要分析的语音信号的频率和强度来确定。

笔者设计的语音采集子系统是通过Realtek Ac'97型声卡和MATLAB的数据采集工具箱实现的。

其中Realtek Ac'97型声卡的采样位数为16位,支持8~44.1 kHz的采样速率,可以满足语音采集的硬件要求。

MATLAB自带的数据采集工具箱(Data Acquisition Toolbox)是为简化和加快数据采集工作而专门设计的,提供了一整套专门用于数据采集的命令和函数,可用来直接控制与PC机兼容的数据采集设备的采集全过程。

数据采集硬件设备的内部特性对MATLAB的接口是完全透明的,通过调用MATLAB函数和命令可对其进行访问,并对其属性进行可视化监控,而且对于采集的数据既可以进行实时分析,也可在存储后再进行处理,这样既方便了对实验测量数据的分析、比较和可视化操作,又提高了语音信号采集的质量和灵活性。

配置好数据采集设备的参数后,使用start命令便可启动声卡开始语音信号的采集。

采集到的数据被暂时存放在PC机的内存里,理论上可采集的最大数据量是由PC机的内存容量决定的,这一点相对于一般的数据采集系统而言有较强的优势。

MATLAB还可以记录采集过程中出现错误,如出错的时间、错误产生的来源以及数据采集设备的状态等信息都会被记录下来作为以后工作的参考。

如图1所示,语音采集子系统是通过Realtek AC’97型声卡和Matlab 的数据采集工具箱实现的。

其中Realtek AC’97型声卡的采样位数为16位,支持8~44.1kHz的采样速率,可以满足语音采集的硬件要求[1]。

Matlab自带的数据采集工具箱里面,提供了专门用于语音采集的命令和函数。

数据采集的硬件设备的内部特性对Matlab的接口完全是透明的,通过调用Matlab提供的语音采集函数和命令可以对其进行访问。

而且,Matlab可以对其采集的数据进行实时的分析,也可在存储后再进行处理。

图1 语音信号采集框图第二章语音信号的MATLAB处理第一节语音信号的特点通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:①在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。

利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。

②在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。

在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。

下面是一段语音信号的时域波形图(图2)和频域图(图3),由这两个图可以看出语音信号的两个特点。

Frequency(Hz)Time(s)x 104图2语音信号时域波形图图3语音信号频域波形图第三章语音信号的分析第一节语音信号分析技术语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理[8]。

而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。

因此语音信号分析在语音信号处理应用中具有举足轻重的地位。

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

因为,语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非乎稳态过程,不能用处理乎稳信号的数字信号处理技术对其进行分析处理。

但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音倍号具有时变特性,但是在一个短时间范围内(一般认为在10~30ms的短时间内),其特性基本保持不变即相对稳定,因面可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。

所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10~30ms。

这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。

根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。

本文将简要介绍时域分析、频域分析。

第二节语音信号的时域分析语音信号的时域分析就是分析和提取语音信号的时域参数。

进行语音分析时,最先接触到并且也是最直观的是它的时域波形。

语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。

时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。

这种分析方法的特点是:①表示语音信号比较直观、物理意义明确。

②实现起来比较简单、运算且少。

③可以得到语音的一些重要的参数。

④只使用示波器等通用设备,使用较为简单等。

语音信号的时域参数有短时能量、短时过零率、短时白相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都要应用[6]。

在计算这些参数时使用的一般是方窗或汉明窗。

对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起谱的高频跌落,所以其话音能量约集中在3kHz以下。

而发清音时,多数能量出现在较高频率上。

高频就意味着高的平均过零率,低频意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。

当然,这种高低仅是相对而言,并没方精确的数值关系。

第三节语音信号的频域分析语音信号的频域分析就是分析语音信号的频域持征。

从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。

本文介绍的是语音信号的傅里叶分析法。

因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”。

根据时域和频域的分析,采集信号后的波形如图所示图4第四章语音信号的综合仿真分析第一节MATLAB波形图图5由图可以看出滤波后波形和频谱都有很大的变化语音信号虑除了高频部分。

第二节试验程序%做原始语音信号的时域图形fs=22050; %语音信号采样频率为22050 [fname,pname]=uigetfile('1.wav','Open Wave File');file=[pname,fname];[x1,fs,bits]=wavread(file); % 读入声音文件(*.wav)sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;figure(1)plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n');ylabel('fuzhi n');figure(2)freqz(x1) %绘制原始语音信号的频率响应图title('频率响应图')figure(3)subplot(2,1,1);plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512)));title('原始语音信号频谱')xlabel('Hz');%语音信号通过低通滤波器clear;close all;[fname,pname]=uigetfile('1.wav','Open Wave File');file=[pname,fname];[y,fs,bits]=wavread(file); % 读入声音文件(*.wav)sound(y,fs,bits);Y=fft(y,4096);fb=3000;fc=3500;As=27;Ap=1;fs=22050;wc=2*fc/fs; wb=2*fb/fs;[N,Wc]=buttord(wc,wb,1,27,'s')[b,a]=butter(N,Wc,'s');[h,f]=freqz(a,b);plot(f*fs/(2*pi),abs(h));figure(1);freqz(b,a,512,fs);x=filter(b,a,y);X=fft(x,4096);figure(2);subplot(2,2,1);plot(y);title('滤波前信号波形');subplot(2,2,2);plot(Y);title('滤波前信号频谱');Subplot(2, 2 ,3);plot(x);title('滤波后信号波形'); Subplot(2, 2 ,4);plot(abs(X));title('滤波后信号频谱'); sound(x,fs,bits);第五章设计体会这次课程设计,给我留下了很深的印象。

相关文档
最新文档