当前位置:文档之家› 在Matlab下实现语音信号的频谱分析(论文正文)

在Matlab下实现语音信号的频谱分析(论文正文)

在Matlab下实现语音信号的频谱分析(论文正文)
在Matlab下实现语音信号的频谱分析(论文正文)

毕业设计(论文)

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

学生姓名:张彦利

学号:

所在系部:信息工程学院

专业班级:

指导教师:

日期:二○一贰年五月

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

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

摘要

MATLAB是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行信号的分析和处理相当便捷。

本文介绍了在Matlab环境中如何采集语音信号和语音信号采集后的频谱分析处理,并通过实例分析了语音信号处理的Matlab。

并以理想正弦分布的纹理图像的Matlab仿真和正弦纹理图像的频谱特征分析为例,叙述了基于傅立叶能量谱的纹理图像分析的基本原理和基本过程。编写了程序,获得了具有理想正弦分布的空域纹理图像,并对其频谱特征进行了分析。

并且根据离散傅里叶变换DFT的定义,推导出一种用DFT计算离散信号幅值谱的方法,通过MATLAB 仿真验证了该方法的有效性。

关键词:MATLAB;频谱分析;傅里叶变换;语音信号;信号分析

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

Analysis of Signal Spectrum Based on MATLAB

Abstract

MATLAB is very powerful and practical engineering software which is used in data analysis and processing fraction,and use it to analysis and process voice signal,which is very convenient.

This paper describes the Matlab enviironment,how to collect and process speech signal,and through example analysis of the speech signal processing in Matlab.

Then take the Matlab simulation of ideal sinusoid texture image and analysis of its spectrum characteristics for example; basic principles and process of analyzing the texture image based on Fourier energy spectrum were described. The program was written for obtaining spatial domain texture image with ideal sinusoid distribution. And its spectrum characteristics were analyzed.

Moreover, according to the definition of DFT, a calculation method of amplitude spectrum for periodic signal is derived in this paper. Through simulation of amplitude spectrum calculation in MATLAB, the efficiency of the method is validated to satisfy the need for project. In the end, the problems of spectrum leakage and picket fence effect are explained and the corresponding solution is proposed.

Keywords: MATLAB; Spectrum Analysis;FFT; Speech signal; signal analysis

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

目录

1. 绪论 (1)

1.1 课题背景 (1)

1.2 研究意义 (1)

1.3 本文研究内容 (1)

2. 频谱分析及MATLAB简介 (2)

2.1 频谱分析技术 (2)

2.1.1 时域抽样定理[7] (2)

2.1.2 离散傅立叶变换(DFT)[8] (2)

2.1.3 快速傅立叶变换(FFT)[9] (3)

2.1.4 频谱分析原理[10] (3)

2.2 MATLAB简介 (4)

2.2.1 MATLAB软件的发展 (4)

2.2.2 MATLAB组成 (5)

2.3 本章小结 (5)

3. 程序与算例 (6)

3.1 声音信号频谱分析 (6)

3.2 图像信号频谱分析 (7)

3.3 离散信号/序列 (9)

3.4 本章小结 (11)

结论 (12)

致谢 (13)

参考文献 (14)

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

1. 绪论

1.1 课题背景

随着信息时代和数字世界的到来,数字信号处理己成为当今一门极其重要的学科和技术领域,数字信号处理在通信、语音、图像、自动控制、医疗和家用电器等众多领域得到了广泛的应用。任意一个信号都具有时域与频域特性,信号的频谱完全代表了信号,因而研究信号的频谱就等于研究信号本身。通常从频域角度对信号进行分析与处理,容易对信号的特性获得深入的了解。因此,信号的频谱分析是数字信号处理技术中的一种较为重要的工具[1-3]。

在工程领域中,MATLAB是一种倍受程序开发人员青睐的语言,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算法MATLAB显得游刃有余[4]。

1.2 研究意义

信号处理几乎涉及到所有的工程技术领域,而频谱分析又是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件,使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析[5-6]。

1.3 本文研究内容

信号的频谱分析就是利用傅里叶分析的方法,求出与时域描述相对应的频域描述,从中找出信号频谱的变化规律,以达到特征提取的目的。不同信号的傅里叶分析理论与方法,在有关专业书中都有介绍。

但实际的待分析信号一般没有解析式,直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换,适合数值计算且有快速算法,是分析信号的有力工具。

DFT及FFT是数字信号处理的重要内容。DFT是FFT的基础,FFT是DFT的快速算法,在MAT LAB中可以利用函数FFT来计算序列的离散傅里叶变换DFT。基于此首先介绍了Matlab软件;其次给出了基于Matlab软件的DFT和FFT频谱分析的方法,利用Matlab软件方法,使得设计方便、快捷,大大减轻了工作量;最后结合实例给出了仿真结果。

本文将重点介绍基于MATLAB的频谱分析设计,包括:

(1) 音频信号频谱分析;

(2) 图像信号频谱分析;

(3) 离散信号/序列频谱分析。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

2. 频谱分析及MATLAB简介

2.1 频谱分析技术

2.1.1 时域抽样定理[7]

时域抽样定理给出了连续信号抽样过程中信号不失真的约束条件:对于基带信号,信号抽样频率

sam

f大于等于2倍的信号最高频率m f,即

2

sam m

f f

≥。时域抽样是把连续信号()

X t变成适于数字系统处理的离散信号[]k

X。对连续信号()

X t以间隔T抽样,则可得到的离散序列为[]()

k

X X kT t kT

==。

图2-1 连续信号抽样的离散序列

若[]()

k

X X kT t kT

==,则信号()

X t与[]k

X的频谱之间存在:

()

j

sam

1

(e)j()

n

X X n

T

ωω

Ω

=-∞

=-

其中,j(e)

XΩ的频谱为(j)

Xω,[]k

X的频谱为j(e)

Xω。

可见,信号时域抽样导致信号频谱的周期化。2/

sam

T

ωπ

=(rad/s)为抽

样角频率,1

sam

f=为抽样频率。数字角频率Ω与模拟角频率ω的关系为:Ω=ωT。

2.1.2 离散傅立叶变换(DFT)[8]

有限长序列)

(n

x的离散傅立叶变换(DFT)为

1

,

)

(

)]

(

[

)

(

1

-

=

=∑-

=

-N

n

W

n

x

n

x

DFT

k

X

N

n

kn

N

逆变换为

1

,

)

(

1

)]

(

[

)

(

1

-

=

=∑-

=

-N

n

W

k

X

N

k

X

IDFT

n

x

N

n

kn

N

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊2.1.3 快速傅立叶变换(FFT)[9]

在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。

有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。

MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有Fft、Ifft、Fft2 、Ifft2, Fftn、ifftn和Fftshift、Ifftshift等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。所以,要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。

Fft函数调用方式:○1Y=fft(X);

○2Y=fft(X,N);

○3Y=fft(X,[],dim)或Y=fft(X,N,dim)。

函数Ifft的参数应用与函数Fft完全相同。

2.1.4 频谱分析原理[10]

时域分析只能反映信号的幅值随时间的变化情况,除单频率分量的简单波形外,很难明确提示信号的频率组成和各频率分量大小,而频谱分析能很好的解决此问题。由于从频域能获得的主要是频率信息,所以本节主要介绍频率(周期)的估计与频谱图的生成。

1、频率、周期的估计

对于Y(kΔf),如果当kΔf = f时,Y(kΔf)取最大值,则f为频率的估计值,由于采样间隔的误差,f也存在误差,其误差最大为Δf / 2。

周期T=1/f。

从原理上可以看出,如果在标准信号中混有噪声,用上述方法仍能够精确地估计出原标准信号的频率和周期,这个将在下一章做出验证

2、频谱图

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

为了直观地表示信号的频率特性,工程上常常将Fourier变换的结果用图形的方式表示,即频谱图。

以频率f为横坐标,|Y(f)|为纵坐标,可以得到幅值谱;

以频率f为横坐标,arg Y(f)为纵坐标,可以得到相位谱;

以频率f为横坐标,Re Y(f)为纵坐标,可以得到实频谱;

以频率f为横坐标,Im Y(f)为纵坐标,可以得到虚频谱。

根据采样定理,只有频率不超过Fs/2的信号才能被正确采集,即Fourier变换的结果中频率大于Fs/2的部分是不正确的部分,故不在频谱图中显示。即横坐标f ∈[0, Fs/2]

2.2 MATLAB简介

2.2.1 MATLAB软件的发展

MATLAB 软件[11]是由美国Mathworks 公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB 是英文MATrix LABoratory(矩阵实验室)的缩写。它的第一版(DOS 版本 1.0)发行于1984年,经过10余年的不断改进,现今已推出它的Windows 98/NT 版本(6.1 版)。新的版本集中了日常数字处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB 环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。MATLAB 提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不要求作明确的维数说明。与利用 c 语言或FORTRAN 语言作数值计算的程序设计相比,利用MATLAB 可以节省大量的编程时间。在美国的一些大学里,MATLAB 正在成为对数值计算、算法预设计与验证,以及一些特殊的短阵计算应用,如自动控制理论、统计、数字信号处理(时间序列分拆)等。MATLAB 系统最初是由CieveMoler用FORTRAN语言设计的,有关矩阵的算法来自LINPACK 和EISPACK课题的研究成果;现在的MATLAB 程序是MathWorks 公司用 C 语言开发的,第一版由steve Bangert 主持开发编译解释程序,Steve Kleiman完成图形功能的设计,John Little 和Cleve Moler 主持开发各类数学分析的子模块,撰写用户指南和大部分M 文件。自从第1 版发行以来,已有众多的科技工作者加入到ATLAB 的开发队伍中,并为形成今天的MATLAB 系统做出了巨大的贡献,MATLAB 以商品形式出现后,仅短短几年,就以其良好的开放性和运行可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。到九十年代初期,在国际上30 几个数学类科技应用软件中,MATLAB 在数值计算方面独占鳌头。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊2.2.2 MATLAB组成

MATLAB 系统由五个主要部分组成,下面分别加以介绍:

1. MATLAB 语言体系。MATLAB 是高层次的矩阵/数组语言,具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。利用它既可以进行小规模编程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。

2. MATLAB 工作环境。这是对MATLAB 提高给用户使用的管理功能的总称。包括管理工作空间中的变量输入输出的方式和方法,以及开发、调试、管理M 文件的各种工具。

3. 图形句相系统。这是MATLAB 图形系统的基础,包括完成2D和3D 数据图示、图象处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图象等对象进行野性控制的低层MATLAB 命令,以及开发GUI 应用程序的各种工具。

4. MATLAB数学函数库。这是对MATLAB 使用的各种数学算法的总称。包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高层次数学算法。

5. MATLAB应用程序接口(API)。这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用C程序或FORTRAN 程序,包括从MATLAB中调用程序(动态连接),读写MAT 文件的功能。可以看出MATLAB 是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,MATLAB 还具有很强的功能扩展能力,与它的系统一起,可以配备各种各样的工具箱。

2.3 本章小结

本章详细介绍了频谱分析的基本原理,并对MATLAB软件的发展和组成展开介绍。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

3. 程序与算例

3.1 声音信号频谱分析

Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。下面以语音信号的波形图、频谱图和倒谱图分析为例来说明Matlab在语音信号处理中的具体实现方法。

程序代码:

S=wavread('1.wav')

subplot(3,1,1);plot(S);title('波形图')

n=size(S);

d=100;

L=512;

k=L-d;

t=fix(n/k);

frame_length=512;

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);

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

end

FFTSIZE=8000;

Y=zeros(FFTSIZE,1);

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

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

T1=length(X1);

t1=fix(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('倒谱图')

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

上程序将语音文件1.wav进行频谱分析,分析结果如图3-1所示。

图3-1 声音信号的频谱分析结果

3.2 图像信号频谱分析

纹理图像的频谱可以通过离散傅里叶变换(DFT)得到。用(,)

f x y表示一幅空域纹理图像,用(,)

F u v表示该图像的频谱,图像的大小为M×N,则(,)

f x y和(,)

F u v质检可以通过DFT计算,计算公式如下:

112

00

1

(,)(,)

0,1,...,1;0,1,...,1

xu yv

M N j

M N

x y

F u v f x y e

MN

u M v N

π??

---+

?

??

==

=

=-=-

∑∑

其中能量谱可采用公式:

2

(,)(,)

S u v F u v

=

基于傅立叶能量谱的纹理图像分析的前提是假设纹理有不同的正弦波组成。理想正弦分布的纹理图像,是最为典型的纹理图像之一,下面讨论理想正弦分布的纹理图像的仿真及其频谱特征分析。

编写下面的程序获得具有理想正弦分布的空域纹理图像,其中A为正弦纹理的幅值,uf0、vf0分别为x轴(垂直方向)、y轴(水平方向)方向的模拟频率,M、N 分别为x轴、y轴的采样的点数,Tsu、Tsv分别为x、y轴的采样间隔,为了便于观察和处理,取Tsu=1/M、Tsv= 1/N,即x轴、y轴的采样频率分别为M和N,这样在

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊空域中得到了0~1范围的纹理图像(如考虑成时域抽样信号的话,相当于在0~1s 间的抽样)。

A=1;

uf0=0;

vf0=25;

M=200;

N=200;

Tsu = 1/M;

Tsv = 1/N;

r = 0:M-1;

c = 0:N-1;

[C,R] = meshgrid(c,r);

g = A * sin(2* pi* uf0 * R * Tsu + 2 * pi * vf0 * C * Tsv);

f = mat2gray(g);

figure

imshow(f)

程序中输出变量g返回的是实际的理想正弦函数的取值,f返回的是g平移后的结果(取值限定在0~1范围内)。

在Matlab软件中仿真得到的一组具有理想正弦分布的纹理图像:

图3-2中各纹理的方向或周期是不同的。其中(a)和(b)中纹理呈竖直方向分布(即水平方向变化),(a)的y轴方向的频率为25Hz,(b)的y轴频率为5Hz,即(b)图是周期为(a)图的5倍的竖直纹理,所以在整个图像范围内(相当于一秒内)(a)和(b)分别有25和5个周期。(c)图纹理是x和y轴方向频率均为25Hz。

(a) (b) (c)

图3-2 理想正弦纹理图像

然后利用FFT算法对以上面三个图像信号进行频谱分析。

程序代码为:

I=imread('1.tif')

I = rgb2gray( I );

imshow(I);

fftI=fft2(I);

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

sfftI=fftshift(fftI);

RR=real(sfftI);

II=imag(sfftI);

A=sqrt(RR.^2+II.^2);

A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;

figure;

imshow(A);

图3-3为对应的图中各图的傅立叶频谱能量图(在Matlab中执行了FFT(快速傅立叶变换)后,使用了fftshift函数调整,以使频谱图像的原点从起始点(0,0),移到图像的中心点(M/2,N/2))。从图3-3中可以看出:竖直方向理想单一频率的正弦分布纹理的频谱能量集中在水平方向的三个点上,而水平方向单一频率的正弦分布纹理的频谱能量集中在竖直方向的三个点上;对于单一频率的理想正弦分布的纹理图像,其纹理方向和其频谱能量图的频点连线方向相垂直,如图(c)纹理为图(b)的纹理顺时针倾斜45度,其频谱能量图中频点也相应顺时针倾斜45度;垂直方向纹理和水平方向纹理的叠加图像的频谱能量图表现为水平和竖直方向的五个点上;纹理周期越小,对应的频点到频谱中心(中心点,即频率为0)的距离越大,如图3-3 (a)纹理的频点到中心的距离为图3-3(b)纹理的五倍。

(a) (b) (c)

图理想正弦纹理图像的频谱能量图

3.3 离散信号/序列

以()12sin(2*10)3sin(2*15)

x t t t

ππ

=++,采样频率100Hz,采样100个点,形成离散信号,利用MATLAB进行频谱分析。

程序如下:

N=100;Fs=100;t=(0:(N-1))/Fs;

xn=1+2*sin(2*pi*10*t)+3*sin(2*pi*15*t);

XK=abs(fft(xn,N));f=(0:N/2)*Fs/N;

XK(1)=XK(1)/N;XK(2:(N/2+1))=XK(2:(N/2+1))*2/N;

stem(f,XK(1:(N/2+1)));axis([-1 N/2 0 5]);

grid on;xlabel('f(Hz)');ylabel('|X( f )|');

程序运行结果:

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图3-4 N=100的幅值频谱图

从图3-4可以看出,DFT法分析的结果和实际信号吻合得很好,说明该方法确实有效。

但是,需要注意的是,离散傅里叶变换在频域是离散的,即限制在基频整数倍上,只能得到信号K 次谐波成分的幅值谱,而对于非K次谐波成分的频谱则无法检测出来,并且由于栅栏效应和频谱泄漏,对其它K次谐波的幅值也有影响。

如将上述程序中的N=100改为N=50,结果如图3-5所示。

图3-5 N=50的幅值频谱图

从图3-5可以看出,由于基频频率为100/50=2Hz,x(t)中的15Hz分量未检测出来,其它频率分量的幅值也出现了误差,这种栅栏效应也是DFT 应用中不可避免的问题之一。要减小栅栏效应和频谱泄漏,可以减小采样频率,增加采样点数,以减小基频值,使谱线变密,这样原来漏掉的某些频谱成分就可以检测出来,但注意采样频

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊率必须满足采样定理的要求,增加采样点数也会增加系统计算DFT 的开销。

3.4 本章小结

本章利用MATLAB分别对声音信号、图像信号和离散信号/序列开展频谱分析,得到频谱分析结果,并开展结果分析。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

结论

本文主要是基于高级面向对象开发语言MATLAB的基本特征,以及MATLAB 强大的工具箱功能,实现信号的预处理和频谱分析。

(1)通过实例说明,基于MATLAB可以很好的达到对语音信号的频谱的分析处理。

(2)采用频谱分析方法可以提取出纹理基本特征,如方向特征和周期特征。本文以理想正弦分布的纹理图像的Matlab仿真和正弦纹理图像的频谱特征分析为例,叙述了基于傅立叶能量谱的纹理图像分析的基本原理和基本过程。

(3)通过离散傅里叶变换对和周期信号傅立叶级数的定义,清楚地推导出X(k)与信号幅值的关系,提出了一种有效的计算离散信号/序列幅值谱的方法。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

致谢

本论文从拟定题目到定稿,从对论文设计原理一无所知到模糊了解再到逐渐清晰,此过程历时数月,我也经历了千辛万苦,但最终有一个结果,我感到很欣慰。通过本次设计,我感觉自己成长了很多,对自己所学的知识有了更深刻的了解掌握,提高了自己的动手能力,能够运用所学的知识实现自己的需要。而我这些进步和成长,都离不开XXX老师的帮助。XXX治学严谨,学识渊博,平易近人,在教学期间以及指导毕业设计期间,不仅传授了我做学问的秘诀,还传授了做人的准则,这些都使我终生受益。无论是在给我们上课期间,还是在我的论文选题、资料查询、开题、研究和撰写的每一个环节,都得到老师的悉心指导和帮助。借此机会我向老师表示衷心的感谢!

同时,我要感谢所有教过我的老师,正是由于他们的传道、授业、解惑,让我学到了求知的秘诀和做人的道理。我也要感谢我的母校湖北科技学院,是她提供了良好的学习环境和生活环境,让我的大学生活丰富多姿,为我的人生留下精彩的一笔。另外,感谢08信本全体同学的帮助和勉励。同窗之谊和手足之情,我将终生难忘!我愿在未来的学习和研究过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、老师、同学、和朋友。学无止境。明天,我将更加努力,更加完美!

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

参考文献

[1] 黄植功. 基于MATLAB的连续信号频谱分析[J]. 广西物理, 2009, (03) .

[2] 刘小群,周云波. 基于Matlab的DFT及FFT频谱分析[J]. 山西电子技术, 2010, (04) .

[3] 董静薇,于广艳. 基于Matlab的FFT频谱分析及IIR数字滤波器设计[J]. 软件导刊, 2008, (10) .

[4] 赵淑敏. 基于MATLAB实现对语音信号频谱分析[J]. 江西通信科技, 2010, (01) .

[5] 曾尚璀,沈华,俞振利. 基于Matlab系统的信号FFT频谱分析与显示[J]. 科技通报, 2000, (04) .

[6] 曾秀莲,程保胜,潘雪峰. 连续时间信号频谱分析及MATLAB实现[J]. 中国水运(学术版), 2006, (05) .

[7] 杨峰,苏玉萍,余冬菊. 用MATLAB模拟实现数字信号的调制与频谱分析[J]. 电脑学习, 2008, (04) .

[8] 王占丽. 频谱分析技术在实际中的应用[J]. 黑龙江科技信息, 2009, (27) .

[9] 赵淑敏. 基于MATLAB实现对语音信号频谱分析[J]. 信息通信, 2010, (04) .

[10] 李媛媛,徐岩,王靖岳. 对MATLAB实现数字信号的频谱分析[J]. 通信技术, 2008, (01) .

[11] 魏克新. MATLAB语言与自动控制系统设计. 北京: 机械工业出版社.2002:1-150

滤波器语音信号去噪要点

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2013年春季学期 信号处理课程设计 题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:通信工程(1)班 姓名:王兴栋 学号:10250114 指导教师:陈海燕 成绩:

摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB 软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。 关键字滤波器;MATLAB;仿真;滤波

前言 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。 本论文主要介绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。 对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。

应用Matlab对含噪声语音信号进行频谱分析及滤波

应用Matlab对含噪声的语音信号进行频谱分析及滤波 一、实验内容 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。 二、实现步骤 1.语音信号的采集 利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,(可用默认的采样频率或者自己设定采样频率)。 2.语音信号的频谱分析 要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。 在采集得到的语音信号中加入正弦噪声信号,然后对加入噪声信号后的语音号进行快速傅里叶变换,得到信号的频谱特性。并利用sound试听前后语音信号的不同。

分别设计IIR和FIR滤波器,对加入噪声信号的语音信号进行去噪,画出并分析去噪后的语音信号的频谱,并进行前后试听对比。 3.数字滤波器设计 给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz(可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。

报告内容 一、实验原理 含噪声语音信号通过低通滤波器,高频的噪声信号会被过滤掉,得到清晰的无噪声语音信号。 二、实验内容 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz (可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。 三、实验程序 1、原始信号采集和分析 clc;clear;close all; fs=10000; %语音信号采样频率为10000 x1=wavread('C:\Users\acer\Desktop\voice.wav'); %读取语音信号的数据,赋给x1 sound(x1,40000); %播放语音信号 y1=fft(x1,10240); %对信号做1024点FFT变换 f=fs*(0:1999)/1024; figure(1); plot(x1) %做原始语音信号的时域图形 title('原始语音信号'); xlabel('time n'); ylabel('fuzhi n'); figure(2); plot(f,abs(y1(1:2000))); %做原始语音信号的频谱图形 title('原始语音信号频谱') xlabel('Hz'); ylabel('fuzhi');

对正弦信号的采样频谱分析.doc

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计 课程名称:课程设计2 设计题目:对正弦信号的抽样频谱分析院系:电子与信息工程学院 班级:0805203 设计者:褚天琦 学号:1080520314 指导教师:郑薇 设计时间:2011-10-15 哈尔滨工业大学

一、题目要求: 给定采样频率fs,两个正弦信号相加,两信号幅度不同、频率不同。要求给定正弦信号频率的选择与采样频率成整数关系和非整数关系两种情况,信号持续时间选择多种情况分别进行频谱分析。 二、题目原理与分析: 本题目要对正弦信号进行抽样,并使用fft对采样信号进行频谱分析。因此首先对连续正弦信号进行离散处理。实际操作中通过对连续信号间隔相同的抽样周期取值来达到离散化的目的。根据抽样定理,如果信号带宽小于奈奎斯特频率(即采样频率的二分之一),那么此时这些离散的采样点能够完全表示原信号。高于或处于奈奎斯特频率的频率分量会导致混叠现象。设抽样周期为TS(抽样角频率为ωS),则 可见抽样后的频谱是原信号频谱的周期性重复,当信号带宽小于奈奎斯特频率的二分之一时不会产生频谱混叠现象。 因此,我们对采样频率的选择采取fs>2fo,fs=2fo,fs<2fo三种情况进行分析。对信号采样后,使用fft函数对其进行频谱分析。为了使频谱图像更加清楚,更能准确反映实际情况并接近理想情况,我们采用512点fft。取512点fft不仅可以加快计算速度,而且可以使频谱图更加精确。若取的点数较少,则会造成频谱较大的失真。 三、实验程序: 本实验采用matlab编写程序,实验中取原信号为 ft=sin(2πfXt)+2sin(10πfXt),取频率f=1kHz,实验程序如下: f=1000;fs=20000;Um=1; N=512;T=1/fs; t=0:1/fs:0.01; ft=Um*sin(2*pi*f*t)+2*Um*sin(10*pi*f*t); subplot(3,1,1); plot(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft'); title('抽样信号的连续形式'); subplot(3,1,2); stem(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft');

matlab语音信号采集与初步处理要点

《matlab与信号系统》实验报告 学院: 学号: 姓名: 考核实验——语音信号采集与处理初步 一、课题要求 1.语音信号的采集 2.语音信号的频谱分析 3.设计数字滤波器和画出频率响应 4.用滤波器对信号进行滤波 5.比较滤波前后语音信号的波形及频谱 6.回放和存储语音信号 (第5、第6步我放到一起做了) 二、语音信号的采集 本段音频文件为胡夏演唱的“那些年”的前奏(采用Audition音频软件进行剪切,时长17秒)。运行matlab软件,在当前目录中打开原音频文件所在的位置,采用wavread函数对其进行采样,并用sound函数可进行试听,程序运行之后记下采样频率和采样点。 利用函数wavread对语音信号的采集的程序如下: clear; [y,fs,bits]=wavread('music.wav'); %x:语音数据;fs:采样频率;bits:采样点数sound(y,fs,bits); %话音回放 程序运行之后,在工作区间中可以看到采样频率fs=44100Hz,采样点bits=16

三、语音信号的频谱分析 先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到信号的频谱特性。语音信号的FFT频谱分析的完整程序如下: clear; [y,fs,bits]=wavread('music.wav'); %x:语音数据;fs:采样频率;bits:采样点数sound(y,fs,bits); %话音回放 n = length (y) ; %求出语音信号的长度 Y=fft(y,n); %傅里叶变换 subplot(2,1,1); plot(y); title('原始信号波形'); subplot(2,1,2); plot(abs(Y)); title('原始信号频谱'); 程序结果如下图: 四、设计数字滤波器和画出频率响应 根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz,As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800 Hz,fp=5000 Hz As=100dB,Ap=1dB。

毕业论文--自适应噪声对消在语音信号处理中的应用研究

本科生毕业论文 (设计) 中文题目自适应噪声对消在语音信号处理中的应用研究 英文题目

摘要 在实际生活中,任何语音信号都不可避免的受到噪声信号的影响,如何有效的抑制和去除噪声,提高语音的可懂度是近年来的热门研究课题,文中介绍了自适应滤波器的基本原理,结构和应用,应用matlab软件,对自适应算法在噪声对消中的应用进行了仿真研究,并完成了语音信号噪声消除实例。 本文对自适应滤波算法在语音信号去噪方面进行了研究,对自适应对消系统进行了深入的学习与研究,在固定步长的基础上,建立了步长因子u与信噪比及噪声幅度之间的一种非线性函数关系,使步长随误差信号e(n)的变化而变化,从而提高了收敛速度,能够有效的滤除实际生活中语音信号中的高斯白噪声,工频干扰,以及其他讲话者的干扰,大幅度提高输出语音信号的信噪比,有效的提高语音的可懂度。通过实验证明,该算法在收敛速度,消噪性能,信噪比提高方面与常规的自适应算法相比均有一定的提高。 关键词:自适应滤波变步长LMS算法语音降噪

Adaptive noise cancellation in speech signal processing research Abstract: In our daily life ,all speech signal will be influenced by noise, How to effectively eliminate the noise is one of hot subjects for years.The paper begins with the principle of adaptive filter,structure and application. Based on the MATLAB platform, simulation is carried out for the applications of adaptive algorithms in noise cancelling,and completed the instance of voice signal noise reduction. This paper discuss about adaptive filtering algorithm in the speech signal denoising aspects of the research on the adaptive cancellation system in-depth study and research and establishes another step factor u and the error signal e (n) between the non-linear function of a new relationship, the algorithm using variable step size, the step with the magnitude of the noise signal to noise ratio and the change, to improve the convergence rate, can effectively filter out in real life speech signal Gaussian white noise, frequency interference, and interference with other speakers. Can greatly enhance the output speech signal to noise ratio, experiments show that the algorithm convergence rate, noise reduction performance, improving signal to noise ratio with the conventional adaptive algorithms have improved to some extent compared. In this paper, the coefficient of the formula

应用matlab对语音信号进行频谱分析及滤波.

数字信号处理 —综合实验报告 综合实验名称:应用MatLab对语音信号进行 频谱分析及滤波 系: 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间学年学期

目录 一.综合实验题目 (1) 二、综合实验目的和意义 (1) 2.1 综合实验目的 (1) 2.2 综合实验的意义 (1) 三.综合实验的主要内容和要求 (1) 3.2 综合实验的要求: (2) 四.实验的原理 (2) 4.1 数字滤波器的概念 (2) 4.2 数字滤波器的分类 (2) (1)根据单位冲激响应h(n)的时间特性分类 (2) 五.实验的步骤 (3) 下面对各步骤加以具体说明。 5.1语音信号的采集 (3) 5.2 语音信号的频谱分析; (3) 5.3 设计数字滤波器和画出其频率响应 (5) 5.3.1设计数字滤波器的性能指标: (5) 5.3.2 用Matlab设计数字滤波器 (6) 5.6 设计系统界面 (19) 六、心得体会 (20) 参考文献: (21)

一.综合实验题目 应用MatLab对语音信号进行频谱分析及滤波 二、综合实验目的和意义 2.1 综合实验目的 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,再者,加强学生对Matlab软件在信号分析和处理的运用 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.2 综合实验的意义 语言是我们人类所特有的功能,它是传承和记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。 语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展;它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。 三.综合实验的主要内容和要求 3.1综合实验的主要内容: 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;综合实验应完成的工作: (1)语音信号的采集; (2)语音信号的频谱分析;

用FFT对信号作频谱分析 实验报告

实验报告 实验三:用FFT 对信号作频谱分析 一、 实验目的与要求 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。 二、 实验原理 用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 三、 实验步骤及内容(含结果分析) (1)对以下序列进行FFT 分析: x 1(n)=R 4(n) x 2(n)= x 3(n)= 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: n+1 0≤n ≤3 8-n 4≤n ≤7 0 其它n 4-n 0≤n ≤3 n-3 4≤n ≤7 0 其它 n

实验结果图形与理论分析相符。(2)对以下周期序列进行谱分析: x4(n)=cos[(π/4)*n]

x5(n)= cos[(π/4)*n]+ cos[(π/8)*n] 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: (3)对模拟周期信号进行频谱分析: x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt) 选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】:

基于matlab的语音信号的采集与处理

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。 目录 第1章前言 ................................................................................................... 错误!未定义书签。第2章语音信号分析处理的目的和要求 ................................................... 错误!未定义书签。 2.1MATLAB软件功能简介................................................................. 错误!未定义书签。 2.2课程设计意义 .................................................................................. 错误!未定义书签。第3章语音信号的仿真原理..................................................................... 错误!未定义书签。第4章语音信号的具体实现..................................................................... 错误!未定义书签。 4.1语音信号的采集................................................................................ 错误!未定义书签。 4.2语音信号加噪与频谱分析................................................................ 错误!未定义书签。 4.3设计巴特沃斯低通滤波器................................................................ 错误!未定义书签。 4.4用滤波器对加噪语音滤波................................................................ 错误!未定义书签。 4.5比较滤波前后语音信号波形及频谱................................................ 错误!未定义书签。第5章总结................................................................................................... 错误!未定义书签。参考文献......................................................................................................... 错误!未定义书签。附录................................................................................................................. 错误!未定义书签。

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期: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 语音信号傅里叶变换低通滤波器

音频信号的谱分析及去噪

课程设计任务书 课程设计学生日志

课程设计考勤表 课程设计评语表

音频信号的谱分析及去噪 一、研究背景:……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 二、设计方案…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

三、设计目的和意义 通过MATLAB编程,用FFT函数绘制出音频信号的频谱。用噪音去干扰音频信号,画出干扰后信号的频谱。这样观察对比,便可分析出噪声对音频信号的干扰。主要目的是通过设计FIR 数字滤波器滤除噪音信号,体会滤波器可提取有用信号消除干扰的作用。去噪,可以减少或消除信号传输过程中的干扰,从而达到有效传输。…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 四、设计原理 1、FFT原理:运用快速傅里叶变换得信号的频谱,快速傅里叶变换是可以用计

算机编程实现的一种快速求得信号频谱的方法。在MATLAB 编程中可以直接调用FFT 函数。 2、FIR 数字滤波器的设计步骤: 1)将给定的数字滤波器性能指标转化成相应的模拟滤波器性能指标。 2)将模拟滤波器的性能指标变换成模拟低通滤波器的性能指标。 3)用所得的模拟低通滤波器的性能指标,利用某种模拟滤波器逼近方法,设计得出该滤波器。 低通滤波器的频率响应: 设计滤波器时主要考虑四个指标:通带截止频率、阻带起始频率、通带衰减、阻带衰减。 五、 详细设计步骤 1. 用Windows 附件中的录音机录制了一段歌曲,并且由MATLAB 中的FFT 函数绘制出它的频谱图和时域波形。 N=1024;%采样点数 fs=20000; %语音信号采样频率为20000 [x0,fs,NBTS]=wavread('d:\输入噪声\ly.wav'); % ly 为原始语音信号 [m0,n0]=size(x0); x0=wavread('d:\ 输 入 噪 声 \ly.wav'); %读取音频信号 sound(x0,fs); %播放音频信号 figure(1) 阻带 过渡带 通带

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

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

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

matlab声音信号频谱分析的课程设计

原语音信号 [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Y=fft(y,n); >> subplot(2,1,1);plot(y); >> subplot(2,1,2);plot(abs(Y));

加噪声 >> [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Noise=0.2*randn(n,2); >> s=y+Noise; >> sound(s) >> subplot(2,1,1); >> plot(s) >> S=fft(s); >> subplot(2,1,2); >> plot(abs(S)) >> title('加噪语音信号的频谱波形')

FIR 低通滤波器 fp=1000;fc=1200;As=100;Ap=1;fs=30000; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1; >> beta=0.1102*(As-8.7); >> Win=Kaiser(N+1,beta); b=fir1(N,wc,Win); >> freqz(b,1,512,fs); >> s_low=filter(b,1,s); >> plot(s_low);title('信号经过低通滤波器的时域图') >> S_low=fft(s_low,n); >> plot(abs(S_low));title('信号经过低通滤波的频谱') >> sound(s_low,fs,bits)

语音信号处理 (第2版)赵力 编著 语音信号处理勾画要点

语音信号处理(第2版)赵力编著 重点考点 第2章语音信号处理的基础知识 1.语音(Speech)是声音(Acoustic)和语言(Language)的组合体。可以这样定义语音:语音是由一连串的音组成语言的声音。 2.人的说话过程可以分为五个阶段:(1)想说阶段(2)说出阶段(3)传送阶段(4)理解阶段(5)接收阶段。 3.语音是人的发声器官发出的一种声波,它具有一定的音色,音调,音强和音长。其中,音色也叫音质,是一种声音区别于另一种声音的基本特征。音调是指声音的高低,它取决于声波的频率。声音的强弱叫音强,它由声波的振动幅度决定。声音的长短叫音长,它取决于发音时间的长短。 4.说话时一次发出的,具有一个响亮的中心,并被明显感觉到的语音片段叫音节(Syllable)。一个音节可以由一个音素(Phoneme)构成,也可以由几个音素构成。音素是语音发音的最小单位。任何语言都有语音的元音(Vowel)和辅音(Consonant)两种音素。 5.元音的另一个重要声学特性是共振峰(Formant)。共振峰参数是区别不同元音的重要参数,它一般包括共振峰频率(Formant Frequency)的位置和频带宽度(Formant Bandwidth)。 6.区分语音是男声还是女声、是成人声音还是儿童声音,更重要的因素是共振峰频率的高低。 7.浊音的声带振动基本频率称基音周期(或基音频率),F0表示。 8.人的听觉系统有两个重要特性,一个是耳蜗对于声信号的时频分析特性;另一个是人耳听觉掩蔽效应。 9.掩蔽效应分为同时掩蔽和短时掩蔽。 10.激励模型:一般分成浊音激励和清音激励。浊音激励波是一个以基音周期为周期的斜三角脉冲串。 11.声道模型:一是把声道视为由多个等长的不同截面积的管子串联而成的系统。按此观点推导出的叫“声管模型”。另一个是把声道视为一个谐振腔,按此推导出的叫“共振峰模型”。 12.完整的语音信号的数字模型可以用三个子模型:激励模型、声道模型和辐射模型的串联来表示。 13.语谱图:人们致力于研究语音的时频分析特性,把和时序相关的傅立叶分析的显示图形。 第三章语音信号分析 1.贯穿于语音分析全过程的是“短时分析技术”。 2.语音信号的数字化一般包括放大及增益控制、反混叠滤波、采样、A/D变换及编码(一般就是PCM码);预处理一般包括预加重、加窗和分帧等。 3.预滤波的目的有两个:

信号的频谱分析

实验三信号的频谱分析 方波信号的分解与合成实验 一、任务与目的 1. 了解方波的傅立叶级数展开和频谱特性。 2. 掌握方波信号在时域上进行分解与合成的方法。 3. 掌握方波谐波分量的幅值和相位对信号合成的影响。 二、原理(条件) PC机一台,TD-SAS系列教学实验系统一套。 1. 信号的傅立叶级数展开与频谱分析 信号的时域特性和频域特性是对信号的两种不同的描述方式。对于一个时域的周期信号f(t),只要满足狄利克莱条件,就可以将其展开成傅立叶级数: 如果将式中同频率项合并,可以写成如下形式: 从式中可以看出,信号f(t)是由直流分量和许多余弦(或正弦)分量组成。其中第一项A0/2是常数项,它是周期信号中所包含的直流分量;式中第二项A1cos(Ωt+φ1)称为基波,它的角频率与原周期信号相同,A1是基波振幅,φ1是基波初相角;式中第三项A2cos(Ωt+φ2)称为二次谐波,它的频率是基波的二倍,A2是基波振幅,φ2是基波初相角。依此类推,还有三次、四次等高次谐波分量。 2. 方波信号的频谱 将方波信号展开成傅立叶级数为: n=1,3,5… 此公式说明,方波信号中只含有一、三、五等奇次谐波分量,并且其各奇次谐波分量的幅值逐渐减小,初相角为零。图3-1-1为一个周期方波信号的组成情况,由图可见,当它包含的分量越多时,波形越接近于原来的方波信号,还可以看出频率较低的谐波分量振幅较大,它们组成方波的主体,而频率较高的谐波分量振幅较小,它们主要影响波形的细节。

(a)基波(b)基波+三次谐波 (c)基波+三次谐波+五次谐波 (d)基波+三次谐波+五次谐波+七次谐波 (e)基波+三次谐波+五次谐波+七次谐波+九次谐波 图3-1-1方波的合成 3. 方波信号的分解 方波信号的分解的基本工作原理是采用多个带通滤波器,把它们的中心频率分别调到被测信号的各个频率分量上,当被测信号同时加到多路滤波器上,中心频率与信号所包含的某次谐波分量频率一致的滤波器便有输出。在被测信号发生的实际时间内可以同时测得信号所包含的各频率分量。本实验便是采用此方法,实验中共有5路滤波器,分别对应方波的一、三、五、七、九次分量。 4. 信号的合成 本实验将分解出的1路基波分量和4路谐波分量通过一个加法器,合成为原输入的方波信号,信号合成电路图如图3-1-2所示。 图3-1-2 三、内容与步骤 本实验在方波信号的分解与合成单元完成。 1. 使信号发生器输出频率为100Hz、幅值为4V的方波信号,接入IN端。 2. 用示波器同时测量IN和OUT1端,调节该通路所对应的幅值调节电位器,使该通路输出方波的基波分量,基波分量的幅值为方波信号幅值的4/π倍,频率于方波相同并且没有相位差.(注意:出厂时波形调节电位器已调到最佳位置,其波形基本不失真,基本没有相位差。若实验中发现存在波形失真或有相位差的现象,请适当调节波形调节电位器,使波形恢复正常。) 3. 用同样的方法分别在OUT3、OUT5、OUT7、OUT9端得到方波的三、五、七、九此谐波分量(注意其他谐波分量各参数应当满足式3-1-1所示)。 4. 完成信号的分解后,先后将OUT1与IN1、OUT3与IN2、OUT5与IN3、OUT7与IN4、OUT9与IN5连接起来,即进行谐波叠加(信号合成),分别测量(1)基波与三次谐波;(2)基波、三次谐波与五次谐波;(3)基波、三次谐波、五次谐波与七次谐波;(4)基波、三次谐波、五次谐波、七次谐波与九次谐波合成后的波形。并分别保

相关主题
文本预览
相关文档 最新文档