最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于MATLAB实现对语音信号频谱分析

来源:动视网 责编:小OO 时间:2025-10-05 10:09:24
文档

基于MATLAB实现对语音信号频谱分析

学术研究AcademicResearch摘要:语音信号处理技术是语音处理领域中新近发展起来的一个学科分支,MATLAB是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行语音信号的采集、分析和处理相当便捷。文章介绍了在Matlab环境中如何采集语音信号和语音信号采集后的频谱分析处理,并通过实例分析了语音信号处理的Matlab。关键字:MATLAB;语音信号;频谱分析;傅里叶变换中图分类号:TN911.6文献标识码:A文章编号:1673-1131(2010)04-015-03一、引言随着
推荐度:
导读学术研究AcademicResearch摘要:语音信号处理技术是语音处理领域中新近发展起来的一个学科分支,MATLAB是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行语音信号的采集、分析和处理相当便捷。文章介绍了在Matlab环境中如何采集语音信号和语音信号采集后的频谱分析处理,并通过实例分析了语音信号处理的Matlab。关键字:MATLAB;语音信号;频谱分析;傅里叶变换中图分类号:TN911.6文献标识码:A文章编号:1673-1131(2010)04-015-03一、引言随着
学术研究Academic Research

摘 要:

语音信号处理技术是语音处理领域中新近发展起来的一个学科分支,MATLAB 是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行语音信号的采集、分析和处理相当便捷。文章介绍了在Matlab 环境中如何采集语音信号和语音信号采集后的频谱分析处理,并通过实例分析了语音信号处理的Matlab 。

关键字:

MATLAB;语音信号;频谱分析;傅里叶变换中图分类号: TN911.6

文献标识码: A

文章编号:

1673-1131(2010)04-015-03一、引言

随着计算机技术和信息技术的发展,语音交互已经成为人机交互的必要手段,而语音信号的采集和处理是人机交互的前提和基础。Matlab 是美国Math Works 公司推出的一种面向工程和科学计算的交互式计算软件,它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易用的交互式工作环境中。同时由于Matlab 是一个数据分析和处理功能十分强大的工程实用软件,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。

基于MATLAB

实现对语音信号频谱分析

赵淑敏/兰州交通大学 电子与信息工程学院(甘肃 兰州·730070)

Application of Speech Signal Spectrum Analysis Based On MATLAB

Abstract: Speech signal processing technology is the field of voice processing in the newly developed branch of a subject.MATLAB is very powerful and practical engineering software which is used in data analysis and processing fraction,and use it to collect,analysis and process voice signal,which is very convenient.This article describes the Matlab enviironment,how to collect and process speech signal,and through example analysis of the speech signal processing in Matlab.

Key words: MATLAB;Speech signal; Spectrum Analysis;FFT

二、语音信号的采集

Windows 附件的娱乐中有个录音机程序,通过它可以驱动声片采集、播放和简单处理语音信号。为了清晰的阐明对语音信号进行频谱分析,首先使用Windows 的录音机功能可以用麦克风直接录制一段女声“世界上最遥远的距离不是生与死,而是我就站在你面前你确不知道我爱你”,并保存为WA V 格式文件,供MATLAB 相关函数直接读取、写入或播放。本文以W A V 格式语音信号作为分析处理的输入数据。

例:在MATLAB 中使用wavread 函数读取录制得到的声音采样频率Fs 为11kHz,且声音是8位单声道的声音文件

“test.wav ”。并利用wavplay 函数播放声音,可清晰地听到语音。然后绘制显示出语音数据的波形图(如图1所示)。

Clear

S=wavread('C:\\Documents and Settings\\administrator\\桌面 \est.wav'); %

读取语音数据

图1 原始语音信号

15

&Information

communications

信息通信

Plot(S),title('原始语音信号')%画波形图Wavplay(S);%播放语音

三、语音信号分析及MATLAB 的实现

3.1 语音信号的频谱分析过程

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

进行频谱分析时,在时域数据进行短时FFT 处理之前都要进行加窗处理。在FFT 处理之后,普通频谱分析可以进行频域上的滤波处理,从而使频谱更加平滑。最后IFFT 处理观察恢复后的时域信号图形,频谱分析过程(如图2所示)。

3.2 短时傅里叶变换(频谱分析)

傅里叶频谱分析的基础是傅里叶变换,用傅里叶变换及其反变换可以求得傅里叶谱、自相关函数、功率谱、倒谱。由于语音信号的特性是随着时间缓慢变化的,由此引出语音信号的短时分析。如同在时域特征分析中用到的一样,这里的傅里叶频谱分析也采用相同的短时分析技术。

信号x(n)的短时傅里叶变换定义为

式中,w (

n)为窗口函数。可以从两个角度理解函数的物理意义:第一种解释是,当n 固定时,如n =

n 0,则

是将窗函数的起点移

至n 0处截取信号x (n),再做傅里叶变换而得到的一个频谱函数。这是直接将频率轴方向来理解的。另一种解释是从时间轴方向来理解,

当频率固定时,例如

=,

以看作是信号经过一个中心频率为

的带通滤波器产生的

输出。这是因为窗口函数(

n)通常具有低通频率响应,而指数

对语音信号x (n)有调制的作用,使频谱产生移位,即

x (n)频谱中对应于频率

的分量平移到零频。

3.3 短时傅里叶反变换(倒谱分析)

傅里叶变换建立了信号从时域到频域的变换桥梁,而傅里叶反变换则建立了

信号从频域到时域的变换桥梁这两个域之间的变换为一对一映射关系。我们知道,

以看作是加窗后函数的傅里叶变换,为了实现反变换,

进行频率采样,即令=2πk /L ,则有

其中,

L 为频率采样点数。将在时域n 上每隔R 个

样本采样,则可令

用这些

求出其离散傅里叶反变换y r (n )如下:

可以证明,x (n )和y (n )之间只相差一个比例因子,它们的关系如下:

3.4 MATLAB 处理语音信号

Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然

后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。下面以语音信号的波形图、频谱图和倒谱图(如图3所示)分析为例来说明Matlab 在语音信号处理中的具体实现方法。

%分段fourier 变换,每段长为512,每段加矩形窗,连续断之间重叠的长度100

S=wavread('C:\\Documents and Settings\\administrator\\桌面\est.wav');

subplot(3,1,1);plot(S),title('波形图')wavplay(S);%播放语音n=size(S);

d=100;%连续段之间的重叠长度L=512;k=L-d;t=fi x(n/k);

frame_length=512;

%采用滑动窗进行短时fft 变换r=(rectwin(frame_length));for a=1:t

n1=(L-d)*(a-1)+1;

n2=(L-d)*(a-1)+frame_length;y=S(n1:n2);

sf=fft(y'.*r',512 );

图2

频谱分析过程

16

X1(n1:n2)=sf(1:frame_length);

end

FFTSIZE=8000; %FFT长度为8000点,每点对应于1Hz Y=zeros(FFTSIZE,1);

Y=20*log10(abs(X1));

subplot(3,1,2);plot(Y(1:4000)),title('频谱图');%画前4000点

%IFFT变换

T1=length(X1);

t1=fi x(T1/L);

for i=1:t1

z=ifft(X1((i-1)*L+1:i*L),512);

z=real(z./r');

y((i-1)*k+1:i*k)=z(1:k);

end

subplot(3,1,3);plot(y),title('倒谱图')

四、结束语

本文主要是基于高级面向对象开发语言MATLAB的基本特征,以及MATLAB强大的工具箱功能,实现信号的预处理、信号的时域处理和信号的频域处理。其中实现信号的时域处理过程中,设计了加窗处理;在信号频域处理过程中,实现对低于20kHz语音信号进行频谱分析。同时,通过上述实例说明,基于MATLAB可以很好的达到对语音信号的频谱的分析处理。

参考文献

[1] 姚天任. 数字语音处理[M] 武汉:华中科技大学出版社,1991

[2] 刘卫国. MATLAB程序设计教程[M] 北京:中国水利水电出版社,2005

[3] 张登奇,蒋敏. 基于MATLAB的音频信号处理技术实现[J] 电脑知识与技术,2009(2)

[4] 陈宇锋. 基于声卡和MATLAB的语音信号采集和处理[J] 高教装备,2006(5)

[5] 徐靖涛,王金根, 基于MATLAB的语音信号分析和处理[J] 重庆科技学院学报,2008(1)

作者简介

赵淑敏(1985-),女,汉族,在读硕士,兰州交通大学电子与信息工程学院,

主要研究方向为信号与信息处理。

(上接第31页)

四、结论

由于视频信号在无线网络中传输时数据出错率和丢包率都很大,所以基于后处理的误码隐藏技术不会因为带宽扩容和信源、信道编码技术的发展而失去意义。通过阐述加权内插算法的原理,实验验证了加权内插算法对于提升无线传输视频效果明显,但是加权插值和其他掩盖算法(如模糊集方法、小波变换方法等)的误码隐藏效果比较还有待进一步研究。此外,由于手机等嵌入式设备CPU资源的紧张,在采用更优误码掩盖算法来提高视频效果时,还需要研究误码掩盖的快速算法[4],进一步降低运算复杂度,使其在实际视频通信应用中发挥重要作用。

参考文献

[1] 沈兰荪,卓力,田栋,等. 视频编码与低速率传输[M]. 北京:电子工业出版社,2001.

[2] 李非一. 无线信道下误码控制和误码隐藏研究与实现[D]. 武汉:武汉大学,2005.

[3] ISOPIEC C D 13818 - 2 : C oding of moving pictures and associated audio- Part 2 : video , 1994.

[4] Dapeng Wu, Yiwei Thomas Hou, Ya-Qin Zhang. “Transporting Real-time Video over the Internet: Challenges and Approaches”. Proceedings of the IEEE, V ol. 88, No. Y. 2000.

作者简介

裴红津(1976-),男,湖北宜都人,工程师,硕士,主要研究方向为移动通信、信息处理。

17

文档

基于MATLAB实现对语音信号频谱分析

学术研究AcademicResearch摘要:语音信号处理技术是语音处理领域中新近发展起来的一个学科分支,MATLAB是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行语音信号的采集、分析和处理相当便捷。文章介绍了在Matlab环境中如何采集语音信号和语音信号采集后的频谱分析处理,并通过实例分析了语音信号处理的Matlab。关键字:MATLAB;语音信号;频谱分析;傅里叶变换中图分类号:TN911.6文献标识码:A文章编号:1673-1131(2010)04-015-03一、引言随着
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top