语音信号的采集与频谱分析(附代码)

语音信号的采集与频谱分析(附代码)
语音信号的采集与频谱分析(附代码)

《信号与系统》大作业

语音信号的采集与频谱分析

——基于Matlab的语音信号处理

学生姓名:

学号:

专业班级:电子工程学院卓越班

指导老师:

2015年6月22日

摘要

本设计用苹果手机自带的录音设备采集了原始语音,并导入了电脑转成wav格式,然后用MATLAB和Adobe audition对其进行时域分析。

接着利用傅里叶变换进行了频域分析,绘制频谱图,再录制一段加上歌曲的伴奏的语音与原唱进行了对比分析,得出了我与歌星在频域上的差别。

本设计给信号加了两种噪声并通过观察加噪后的频谱和试听回放效果比较加噪前后的差别,

最后,设计了FIR数字低通滤波器和带通滤波器,分析滤波前后的频谱。再次试听回放效果,得出结论。

关键词:语音、FFT、频谱图、噪声、滤波器

Abstract

This design is based on the general function of Matlab and Adobe edition to deal with Audio signals. The original signals are collected by iPhone’s built-in recording equipment.

First,I compare the file generated by myself with that of thesame song sang by a famous singer.The emphasis is generally laid on analysing the difference in frequncy domain,but time domain will be included too.

After that,two noise signals are added to the original signal respectively and let them pass a filter to analyse it.In the two process mentioned before,I make comparison between the before and after frequency domain.

Sampling Theorem is the base of my design.It is by sampling we can get discrete signals from the original one and draw the image in time domain.Also,fast fourier transform is employed(FFT)to get the signals in frequency domain.The ayalysis of frequency domain is the highlight of this design.

Through this design,I can deepen my comprehension of principles of audio signals and I have learnt how to deal with it.Through met with much hindrance,I improved my skills finally.

Keywords: audio signal、TTT、noise、filter

1 绪论

1.1课题的研究意义

语音信号处理属于信息科学的一个重要分支,它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。

学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,这为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。

1.2 课题的目的与要求

利用Matlab和Adobe audition对语音信号进行数字信号处理和分析,要求采集语音信号后,在软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,再进行频谱分析和再播放来感受噪声滤除的效果。

2.理论依据

采样频率、采样位数的概念,采样定理;时域信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较。

2.1. 时域信号的FFT分析

FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它利用“一分为二”的思想不断进行,点数越多,运算量的节约就越大,这就是FFT的优越性。

在MATLAB 的信号处理工具箱中函数FFT 和IFFT 用于快速傅立叶变换和逆

变换。函数FFT 用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x 是序列,y 是序列的FFT ,x 可以为一向量或矩阵,若x 为一向量,y 是x 的FFT 且和x 相同长度;若x 为一矩阵,则y 是对矩阵的每一列向量进行FFT 。如果x 长度是2的幂次方,函数fft 执行高速基-2FFT 算法,否则fft 执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT 的另一种调用格式为y=fft(x,N),式中,x ,y 意义同前,N 为正整数。函数执行N 点的FFT ,若x 为向量且长度小于N ,则函数将x 补零至长度N ;若向量x 的长度大于N ,则函数截短x 使之长度为N ;若x 为矩阵,按相同方法对x 进行处理。

2.1.2采样定理

采样定理,又称香农采样定律、奈奎斯特采样定律,是信息论,特别是通

讯与信号处理学科中的一个重要基本结论。

采样是将一个信号(即时间或空间上的连续函数)转换成一个数值序列

(即时间或空间上的离散函数),这个数值序列即是一个数字信号。采样定理是将连续的模拟信号转变为离散的数字信号的方法。

对于一个时域连续的信号f(t) 利用开关函数s(t)进行采样,或者冲激函

数序列进行采样(()T t δ)。两种取样都具有一定的取样间隔,同时要求f(t)为频带带限信号,否则取样后将发生频谱混合重叠,破坏原信号。采样定理公式如下:

其中Ts 为采样间隔,设f(t)的频谱区间在

(,)m m ωω-之间,即信号频带带限,需满足的采样条件为:2s m f f ≥,其中fs 为采样频率, 这样便完成了对于连续信号的采样形成离散的数字信号方便处理。

2.1.2 数字滤波器

()()()()

2s s s n t f t f nT t nT Sa ωδ∞=-∞=

-*∑2m ωπ

数字滤波器是一个输入输出都是离散时间信号的特定功能装置。应用数字

滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、

抽样和模数转换。数字滤波器输入信号的数字频率(2π*f/fs,f为模拟信号的

频率,fs为采样频率,注意区别于模拟频率),按照奈奎斯特取样定理,要使抽

样信号的频谱不产生重叠,应小于折叠频率(ws/2=π),其频率响应具有以

2π为间隔的周期重复特性,且以折叠频率即ω=π点对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换。数字滤波器具有高精度、高可

靠性、可程控改变特性或复用、便于集成等优点。

数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的

或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不

变数字滤波器,以及FIR滤波器。

从单位脉冲响应的角度,可以把数字滤波器分为:IIR滤波器(无限长单

位冲激响应滤波器)和FIR滤波器(有限长单位冲激响应滤波器)

3.设计思想

3.1语音信号的采集

此次我选择的歌曲是赵薇的《情深深雨蒙蒙》,用苹果手机自带的录音功

能(Voice Memos)录音,和windows自带的录音机程序相比,优点是方便,而且可以忽略电脑运行本身的噪声。然后将其导入到电脑,转换格式存为wave格式,并对从网上下载原唱的语音用同样的方式转换格式,并保存到正确的目录,以便以后能在matlab中打开。同时手机自带的录音功能还能完成简单的音频剪辑操作,减掉多余的不需要的部分。

3.2 语音处理工具的选择

① Matlab

Matlab是大家都熟悉的一种科学计算软件,在信号与系统中运用很广泛,

优点是可编程性强,且具有很好的可移植性和可扩展性,而且和专业信号与系

统关联更大。但缺点是数据都以矩阵形式进行处理,对我来说不够直观。

② Adobe audition

Adobe audition是一款专门处理音频的软件,可提供先进的编辑、混音、

控制和效果处理功能,优点是很方便,比如采样频率可以直接选择,处理效果

很直观,缺点是和信号与系统相关性较小,可编程性差。

这次设计的频谱分析主要是采用了matlab进行分析,但对原始语音频谱的分析以及由采样频率不同带来的变化中我同时采用了matlab和adobe

audition来分析。

3.3噪声函数的选择

①rand函数产生随机噪声,具体语句将在下面的列表中列出

②高斯白噪声Gaussian White Noise

此噪声在《随机信号分析课程》中已学过,此次向原始信号中加入此噪声,加强理解。

3.4 滤波器的选择

设计中选择的是FIR有限长单位冲激响应滤波器,相比于IIR滤波器,它

有如下的优点:

⑴ FIR滤波器,由于冲激响应有限长,可以用快速傅里叶变换,这样运算

速度可以快很多;

⑵ FIR滤波器可以做到严格的线性相位,而若要IIR得到严格的线性相位,则要大大增加滤波器的阶数,

⑶ FIR滤波器主要采用非递归结构,因而从理论上以及时性从实际的有限

精度的运算中,都是稳定的。有限精度运算误差也较小,IIR滤波器必须采用

递归的结构,极点必须在Z平面单位圆内,才能稳定,这种结构,运算中的四

舍五入处理,有时会引起寄生振荡。

但是IIR也有相同技术指标下阶数较少,存储单元少,运算次数少的有点,此处不再加以赘述。

两种滤波器:

①低通巴特沃斯滤波器

巴特沃斯滤波器的特点为的通频带频率响应最为平滑,阻带缓慢衰减。

用窗函数法设计低通滤波器,具体指标为

fp=3000Hz fc=4000Hz Ap=1dB As=100dB

②高通滤波器

具体指标为:fp=35ooHz fc=4000Hz Ap=1dB As=10dB

3.5 Matlab函数的选择

(1)[y,fs,bits]=wavread(‘filename’)

wavread函数可读入语音信号y是采样获得的离散时域信号,fs是返回的采样

频率, bits是采样位数,filename是音频信号的文件名。

(2)wavwrite(y,fs,bits,’filename’)

wavwrite函数,改变采样频率,可以将22.05KHz或者11.025KHz的信号写回

并观察这样的采样频率会产生什么样的结果。其中y是已经获得的时域离散信号,fs为写回的频率,bits是写回的位数,filename为要写回的文件名。

(3)sound(y,fs,bits)

sound函数,播放存在的离散音频信号其中的三个参数同wavread中的相同

(4)rnt=rand(a,b)

rand函数,为产生随机噪声,从而在信号中加入噪声。改随机噪声是在(0,1)内的随机数,均值为0.5其中a、b为产生随机数矩阵的行和列。

(5)fy=fft(y)

y为离散时域信号,fft函数是所有程序分析的核心。fft函数提供了以快速傅

立叶变换算法的离散傅里叶变换的计算,等于对一个离散信号进行DFT离散傅立叶变换。

(6)y1=awgn(y,q,’measured’)

awgn函数,为向一个现有的离散信号加入高斯白噪声的函数, y为被添加噪声的信号,q为信噪比,一般要大于1,measured是一种控制名称。

(7)[n,fo,ao,w]=firpmord(f,a,dev,fs)

firpmord函数,为设计滤波器阶数的函数,f是滤波器的参数,主要为带边沿的参数,低通滤波器则是通带与阻带截止频率。a是通带与止带的幅频响应的

幅度,也是一个向量。dev是通带与止带的震荡幅度大小比例(介于0到1),也是一个向量,fs则是采样频率。左边的4个参数,n是滤波器阶数,f0是频率向量,a0是幅频特性向量,w是权重。这四个参数是用来下一步制作模拟滤波器的。

(8)h=firpm(n,fo,ao,w)

firpm函数,利用firpmord所产生的参数制作模拟滤波器,后面四个参数

是firpmord所计算出的。

(9)[ht,w]=freqz(h)

freqz函数,对一个设计好的滤波器求冲激响应,h为前一步firmp设计好的

滤波器,ht为频率响应,用abs取绝对值得到幅频特性,或者用log转化成dB 作图。w是频率范围(归一化的)

(10) yf=fftfilt(h,y)

fftfilt函数,用设计好的滤波器滤波(数字信号)h为设计好的滤波器,y为待滤的信号。

(11)h=fir1(n,w,window)

fir1函数,用于使用做好的窗函数进行带通滤波器设计,做好窗函数如

hanning窗(MATLAB也有这个函数),根据相应其他参数做出带通滤波器。

window是已经做好的窗,n是滤波器阶数,w是通带范围(一定要在0到1

之间),为一个向量(因为是带通滤波器)。

(13) a=mean(y)

mean函数,用于求一个离散序列的均值,在实验中求采样所得的音频信号的均

值y是一个向量(数组),a是该数组的均值。

(14) a=var(y)

var函数,用于求离散序列的方差,在实验中用于求采样所得音频信号的方差, y为一个数组,a为该数组的方差。

4. 课程设计的具体实现及仿真结果分析

4.1 语音信号的采集、录入、与打开

把我的原始语音信号保存为qingshenshen.wav保存在相应路径,此语音信号的长度小于30s。

通过matlab的函数wavread()可读入一个.wav格式的音频文件,例如下面的语句

[y,fs,bits]=wavread(‘qingshenshen.wav’);

读入wav文件并放入向量y中,对于双声道的音频文件,y有两行,此处

我们仅对一个声道的音频进行分析。fs为采样频率,.wav格式默认的采样频率为44.1KHz,下文将比较不同采样频率对语音信号的影响。

回放声音:用sound()函数,例如:

sounf(x,fs,bits);

此处我将我唱的歌和伴奏合起来保存为qingshenshen.wav

(具体程序见附录一)

运行结果如下

原始语音信号时域频域图

此时可在workspace中看到fs的值value为44100

通过调整放大第三章小图,可以看出我声音的频率范围主要集中在200-450hz 之间属于女低音

原始语音信号频域幅值图

用Adobe audition画出的频域图为,分析可得频域范围与Matlab分析所得很接近,只是Adobe audition的横轴显示的标准不同。

然后我将原唱赵薇的(带伴奏)进行同样的分析,(具体程序见附录一)

原唱语音信号时域频域图

原唱语音信号频域幅值图

通过对比可以发现,赵薇的频域更宽,从几十到1000hz都有较大的分布,算是个女高音吧,但大部分集中在几十到600hz这个区间段,看来我在高音部分与原唱有较大差距,怪不得唱她的歌的时候总有种唱不上去的感觉。

特征值的分析:

通过matlab函数 mean()和var()的计算,可以得出原唱的均值与方差为:

m1= 1.0e-003 *0.1372

v1=0.8996

而我的语音的均值与方差为:

m2=1.0e-005*0.5838

v2=0.0046

比对可知,我唱的歌在均值和方差上和原唱差距都很差,说明我对歌曲的还原度不高,还需要加强唱歌技巧的联系。

特别要注意的是,在这次作图过程中,有两个横坐标的量要加以特别的控制,一个是时域分析的横坐标时间,所以加入了对横坐标的控制语句t=(0:n-1)/fs;,使它的单位为时间s;二是频域分析的横坐标控制语句

yol=(0:length(X)-1)'*fs/length(X);如果不加这句很可能出来的不是应有的频率范围。

上面的分析都是默认频率44.1KHz下进行的,可以通过wavwrite函数改变采样频率,例如:

wavwrite(x,220500,’qingshenshen.wav’)

以上语句便使得采样频率变成了22.05khz

然后用sound函数试听,发现音乐失真很大,速度变得很快,原本30s的音频几秒便放完了,同时音调也变得很高,这是我最直观的感受。同理,如果用500hz的频率去采样,声音就变得很低沉,像风的呼啸与野兽的低喘,可在workspace中观察到fs的值变了

4.2噪声的加入

此处,我对我的原始语音分别加入了两个噪声,一个是随机序列噪声,一个是高斯白噪声。注意,以下的分析全都是基于44.1khz的采样频率下进行的。

⑴随机序列噪声

程序中用rand函数产生与采样获得的信号y维度相同的噪声信号,加入原信号中,同样进行时域与频域的分析,画出时域图像、幅频特性,相频特性用处不大在此忽略不画。这里rand的维度通过y的维度得到,可用语句whos查看,

(具体程序见附录二)

运行结果如下:

与上文未加噪声的波形对比,可看出时域波形幅值变化较大,波形更加参差不齐,二频域波形变化不大。用sound回放,可明显感觉到有杂音,就像老式的电视机放出的那种刺啦刺啦的声音。

然后再计算加噪后的均值与方差:

mean=1.0e-004*0.1374

var=0.048

与加噪声前相比,均值变增大了135%,而方差只变化了4.3%,主要因为加入了大小同信号大小幅度差不多的噪声,并且全都在大于0的区域。

此处分析时我仅仅分析了我翻唱的音频信号,对翻唱的信号加噪声分析,对于原唱的分析类似,只要改变文件名即可,因此不再赘述。

同样在画图时有坐标控制,此后的程序也有,不再加以称述。

⑵高斯白噪声

用函数awgn()产生高斯白噪声,这里取信噪比为10dB,防止噪声太大而淹没

原始信号。

(具体程序如下见附录二)

运行结果如下:

从图片上可以看出,通过对比可以明显看出加完噪声后时域幅值变大,频域变

化不大。

加入高斯白噪声后试听的效果同加入随机噪声的结果都有刺啦刺啦的声音但相

对而言高斯白噪声的噪声更大。同样对于歌星原唱的音频信号不再重复操作。

均值与方差分别为:

mean2=1.0e-001*1.2676

var2=0.0460

与未加噪声前相比,均值变化很大,而方差仍基本没有变化。

4.3滤波器的设计及滤波结果

⑴低通滤波器

具体的指标为:通带截止频率为3000Hz ,阻带截止频为4000Hz,通带最大衰减为1dB,阻带最大衰减为100dB. 通带阻带的幅频相应幅度一个是1一个是0,震荡比例在通带是0.05,阻带为0.01。

并用frez计算频率响应。

(具体程序见附录三)

设计出滤波器后,画出幅频响应和相频响应图为:

通过滤波器前后的噪声的时域和频域图为:

对比可看出,低频部分,尤其是频率小于3000hz的部分的频谱基本没有发生变化,而在蓝色的途中看以明显看出绿色图中的高频部分被滤除了。

试听感觉,声音相比未滤波之前的更加沉闷一些,因为高频成分被滤去的缘故。

⑵高通滤波器

此处采用凯塞窗函数构成高通滤波器,设计指标为:阻带截止频率为

3500Hz,通带截止频率为4000Hz,阻带衰减为1dB,通带衰减为100dB。

(具体程序见附录三)滤波器的频率响应图为:

加噪信号通过滤波器前后频谱的变化如下图:

从视觉上可以很明显地看出,通过滤波器后,低频信号都被滤除了,只剩蓝色

的高频分量,同时滤波前后的波形变化也很大,滤波后的波形更为规整。试听

后觉得声音很尖,是因为低频部分的分量被滤除的原因。

5.设计中遇到的问题及总结

5.1问题

遇到的问题首先与矩阵的维度有关,Matlab是以矩阵形式存储和处理数据的,而我经常忽略矩阵的维度而直接对两个矩阵进行加减运算,无疑会出现矩阵维度不匹配的问题,一开始我并不知道数据的维度究竟是多少,也不知道如何解决,但后来我学会了用whos语句查看变量的维度,之后又学会了怎么取出矩阵的某一行某一列,问题便得到了解决。

然后遇到的问题是如何改变采样频率,一开始我会直接在程序开头定义采样频率为22050Hz或者5500Hz,但之后发现这样做出来的试听效果是一样的,后来查阅了才知道wave格式默认的采样频率为44.1kHz,要用wavwrite函数改变信号的采样频率,问题迎刃而解。

接着还遇到了滤波器怎么设计的问题,这方面老师上课虽然有提到过,但是并没有深入地讲,但我记得老师说过滤波器是一个很专业的东西,有人为此设计了一辈子。然后我通过查阅资料了解了IIR滤波器和FIR滤波器,并知道了通过Matlab如何去模拟滤波器。虽然如此我觉得我设计的滤波器还只是最最简单的,从滤波效果来看,还有许多问题,还需加强对滤波器的学习。5.2设计的

5.2感悟与总结

通过这次设计,又加深了我对傅里叶变换以及采样定理的理解,深感信号与系统真是博大精深,我们平时所学都只是冰山一角,只是皮毛,更多的内容在等着我们去探索。

一开始想直接用Adobe audition进行滤波,但是说来惭愧,连教程都看不懂,想要将歌曲的伴奏滤都做的很差。想想也是,哪有那么轻易的事,怎么可能用简答的几步就完成人家苦苦研究的课题。

后来用Matlab编程,感觉自己的编程能力还是很欠缺,遇到了很多问题,一些细节一些小的指令总是被我轻易的忽略。但我同时也再次感受到了Matlab 的神奇,它有那么多功能,和信号与系统一样,也许我原来知道的只是其中很小的一部分。

总的来说,在以后的学习中,要一手抓理论知识,即掌握老师上课讲的内容,同时也要加强编程能力的锻炼。

对于这次试验所做的内容,其实只是对语音信号的一个粗略的分析,通过结果也可以看出,滤波器设计得并不理想。由于本人能力和时间有限,所以未进行更深层次的研究,以后一定会加强。

参考资料:

【1】郭宝龙,闫允一,朱娟娟,吴宪祥.工程信号与系统[M].北京:高等教育出版社.

【2】王祯飞.基于 MATLAB 的语音信号分析和处理[C].福建师范大学协和学院.

【3】丁玉美,高西全,数字信号处理. 3 版[M]. 西安:西安电子科技大学出版社,2008.

附录

附录一:语音信号的打开与频域分析

%我的语音(原始语音)

fs=44100; %44.1KHz为默认采样频率,可改变[x,fs,bits]=wavread('qingshenshen.wav'); %读入原始语音:情深深雨蒙蒙sound(x,fs,bits);

X=fft(x);

aX=abs(X);

figure; %产生一个新图形界面

n=length(x); %取y数据的长度;

t=(0:n-1)/fs; %求时间单位s的运算公式;subplot(311);plot(t,x);

xlabel('s');

title('时域波形图') %绘制以时间单位s的时域波形subplot(312);plot(X);

title('原始信号频谱'); %画出原始信号频谱图

subplot(313);

yol=(0:length(X)-1)'*fs/length(X); %控制横坐标范围

plot(yol(1:length(yol)/2),aX(1:length(yol)/2)); %画出原始信号频谱的幅值

axis([0 1500 0 3000]);

xlabel('Hz');

title('原始信号幅值');

m2=mean(x);

v2=var(x);

%原唱语音

fs=44100; %44.1KHz为默认采样频率,可改变[x,fs,bits]=wavread('yuanchang.wav'); %读入原始语音:yuanchang.wav sound(x,fs,bits);

X=fft(x);

aX=abs(X);

figure; %产生一个新图形界面

n=length(x); %取y数据的长度;

t=(0:n-1)/fs; %求时间单位s的运算公式;subplot(311);plot(t,x,’g’);

xlabel('s');

title('时域波形图') %绘制以时间单位s的时域波形

subplot(312);plot(X);

title('原始信号频谱'); %画出原始信号频谱图

subplot(313);

yol=(0:length(X)-1)'*fs/length(X); %控制横坐标范围

plot(yol(1:length(yol)/2),aX(1:length(yol)/2)); %画出原始信号频谱的幅值

axis([0 1500 0 3000]);

xlabel('Hz');

title('原始信号幅值');

m1=mean(x);

v1=var(x);

附录二:像原始语音中加入噪声的Matlab程序

⑴加入随机噪声

%在原始语音中加入rand产生的随机噪声

[y,fs,bits]=wavread('qingshenshen.wav'); %打开原始语音(qingshenshen.wav)

wavwrite(y,44100,'qingshenshen.wav');

N=length(y); %求出语音信号的长度

Noise=0.01*randn(N,2); %随机函数产生噪声,列数为两列,与原始信号维度相同

Si=y+Noise; %语音信号加入噪声

sound(Si,fs,bits);

subplot(2,1,1);

n=length(y); %取y数据的长度;

t=(0:n-1)/fs; %控制时间轴的坐标s

plot(t,Si); %画出加噪后的时域波形

xlabel('s');

title('加噪语音信号的时域波形');

S=abs(fft(Si)); %傅里叶变换

subplot(4,1,4);

yol=(0:length(S)-1)'*fs/length(S); %控制频域轴坐标

plot(yol(1:length(yol)/2),S(1:length(yol)/2)); %画出加噪后的频谱

xlabel('Hz');

axis([100 1000 0 3000]); %坐标范围控制

title('加噪语音信号的频域波形');

⑵加入高斯白噪声

%加入高斯白噪声

[y,fs,bits]=wavread('qingshenshen.wav');

y=y*3; %放大信号

y2=awgn(y,10,'measured'); %加入高斯白噪声

sound(y2,fs,bits) %试听加高斯白噪声后的音频

fy2=fft(y2); %做傅里叶变换

y2l=(0:length(fy2)-1)'*fs/length(fy2);

subplot(211),plot(y2); %画出加入噪声后的时域图像

title('加高斯白噪声后的歌声信号时域图像');

axis([0,1200000,-1,1]); %坐标范围控制

subplot(212),plot(y2l(1:length(y2l)/2),abs(fy2(1:length(y2l)/2))); %画出加入噪声后的频域图像

axis([0 2000 0 4000]);

title('加噪声后的歌声信号幅度谱');

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

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

应用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');

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。

对正弦信号的采样频谱分析.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');

语音信号分析与处理2011

数字信号处理实验二:语音信号分析与处理 学号 姓名 注:1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。 2)请在授课教师规定的时间内完成; 3)完成作业后,请以word 格式保存,文件名为:学号+姓名 4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并给出程序内容。 1. 实验目的 (1) 学会MATLAB 的使用,掌握MATLAB 的程序设计方法 (2) 掌握在windows 环境下语音信号采集的方法 (3) 掌握MATLAB 设计FIR 和IIR 滤波器的方法及应用 (4) 学会用MATLAB 对语音信号的分析与处理方法 2. 实验内容 录制一段自己的语音信号,对录制的语音信号进行采样,画出采样后语音信号的时域波形和频谱图,确定语音信号的频带范围;使用MATLAB 产生白噪声信号模拟语音信号在处理过程中的加性噪声并与语音信号进行叠加,画出受污染语音信号的时域波形和频谱图;采用双线性法设计出IIR 滤波器和窗函数法设计出FIR 滤波器,画出滤波器的频响特性图;用自己设计的这两种滤波器分别对受污染的语音信号进行滤波,画出滤波后语音信号的时域波形和频谱图;对滤波前后的语音信号进行时域波形和频谱图的对比,分析信号的变化;回放语音信号,感觉与原始语音的不同。 3. 实验步骤 1)语音信号的采集与回放 利用windows 下的录音机或其他软件录制一段自己的语音(规定:语音内容为自己的名字,以wav 格式保存,如wql.wav ),时间控制在2秒之内,利用MATLAB 提供的函数wavread 对语音信号进行采样,提供sound 函数对语音信号进行回放。 [y,fs,nbits]=wavread(file), 采样值放在向量y 中,fs 表示采样频率nbits 表示采样位数。Wavread 的更多用法请使用help 命令自行查询。 2)语音信号的频谱分析 利用fft 函数对信号进行频谱分析 3)受白噪声干扰的语音信号的产生与频谱分析 ①白噪声的产生: N1=sqrt (方差值)×randn(语音数据长度,2)(其中2表示2列,是由于双声道的原因) 然后根据语音信号的频谱范围让白噪声信号通过一个带通滤波器得到一个带限的白噪声信号 N2; 带通滤波器的冲激响应为: h B (n )= ))((sin ))((sin 1122απ ωπωαπωπω---n c n c c c c c

应用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)语音信号的频谱分析;

语音信号采集与处理课程设计

河南科技大学 课程设计说明书课程名称微机应用技术课程设计 题目语音信号采集与处理课程设计 学院医学技术与工程学院 班级生物医学工程1201班 学生姓名 指导教师杨晓利 日期 2014年3月29日

课程设计任务书 (指导教师填写) 课程设计名称微机应用技术课程设计 学生姓名 专业班级生物医学工程1201班 设计题目语音信号采集与处理课程设计 课程设计目的 1.学会MATLAB的使用,掌握MATLAB的程序设计方法; 2.掌握在Windows环境下语音信号采集的方法; 3.掌握信号处理的基本概念、基本理论和基本方法; 4.学会用MATLAB对信号进行分析和处理。 设计内容、技术条件和要求 1.语音信号的采集 用windows自带的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)或其他软件,录制一段语音信号,时间控制在2秒左右。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,理解采样频率、采样位数等概念。 wavread函数调用格式: y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。 [y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。2.语音信号的频谱分析 首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性。 时间进度安排 第1周:查阅资料; 第2周:实现设计内容 第3周:整理资料,撰写课程设计任务书 1

基于Matlab语音信号的采集与分析

基于MATLAB 的语音信号分析和处理 【摘要】: 本文通过用三星手机系统自带录音机采集了一段语音,wav格式转换后再Matlab平台上对其进行了时域分析,频谱分析,分析语音信号的特性。利用函数对采样频率进行控制,比较其波形。通过对两段铃声(分别为男声、女声)进行分析初步找出男声女声的特点和区别。应用Matlab平台对录制的语音信号加入噪声,对比加噪前后的语音信号的时域和频域特性,回放加噪语音信号。 【关键词】: 语音信号;频域特性; 时域特性; 滤波器

目录 一、背景介绍 1.1 语音信号的概述 1.2 语音信号处理工具的选择 二、语音信号的录制采集和分析 2.1 语音信号的采集 2.2 语音信号的读入与打开 2.3 取不同采样频率得出的波形比较 三、对男声、女声语音信号特点的分析 3.1女声(vfemale.wav)男声(vmale.wav)的时域分析

3.2女声(vfemale.wav)男声(vmale.wav)的频域分析 四、加噪声与滤波处理分析 4.1 高斯白噪声(SNR=30) 4.2 单频正弦噪声 五、心得与体会 一、背景介绍 1.1语音信号的概述 语言是人类创造的,是人类区别于其他地球生命的本质特征之一。人类用语言交流的过程可以看成是一个复杂的通信过程,为了获取便于分析和处理的语音信源,必须将在空气中传播的声波转变为包含语音信息并且记载着声波物理性质的模拟(或数字)电信号,即语音信号,因此语音信号就成为语音的表现形式或载体。 1.2语音信号处理工具的选择 语音信号的进一步处理分析工作选用了Matlab平台。Matlab是一种科学计算软件,专门以矩阵的形式处理数据。Matlab将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,不断完善Matlab产品以提高产品自身的竞争能力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的语音信号的采集与处理详解

数字信号处理 课程设计 题目:基于MATLAB的语音信号的采集与处理学院:皖西学院 专业:通信工程 班级:通信1001班 学号:2010013461 2010013494 姓名:刘敏纵大庆指导教师:何富贵

摘要: 本次课程设计题目为<<基于MATLAB的语音信号的采集与处理>>。首先我们利用计算机上的录音软件获得语音信号,然后利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号!

1.背景 2. 设计目的 (2) 3. 设计原理 (2) 4. 设计过程 .......................................... ,,, 3 5. 实验代码及结果 (4) 5.1 语音信号的采集 (4) 5.2 语音信号加噪与频谱分析 ..................................... ,,,, 7 5.3 巴特沃斯滤波器的设计 .. (9) 5.4 比较滤波前后语音信号波形及频谱 (10) 6. 收获与体会 (12) 参考文献 (13)

1. 引言 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、 变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器,是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精 度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应(FIR, Finite Impulse Response)滤波器和无限冲激响应(IIR,Infin ite Impulse Resp on se) 滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在 z= R处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选 择性。FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是 不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限单位脉冲响应有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。FIR滤波器因具有系统稳定,易实现相位控制,允许 设计多通带(或多阻带)滤波器等优点收到人们的青睐[1]。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由 延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的 模拟滤波器的成果,如巴特沃斯滤波器等。

对语音信号进行分析及处理资料

一、设计目的 1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解; 2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力; 3.培养自我学习的能力和对相关课程的兴趣; 二、设计过程 1、语音信号的采集 采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。 采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实 采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。 利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。 [x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。 2 、语音信号的频谱分析 (1)首先画出语音信号的时域波形; 程序段: x=x1(60001:1:120000); %截取原始信号60000个采样点

plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A'); (2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性; y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2) subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|'); ylabel('幅度谱'); subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱'); (3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解; d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声 3、设计数字滤波器 (1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率 Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。 (2)FIR 低通滤波器性能指标通带截止频率Hz f c 1000=,阻带截止频率 Hz f st 1200=, 通带衰减1δ≤1dB ,阻带衰减 2δ≥ 100dB 。 (3)IIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 30=,通带最大衰减dB A P 1=。 (4)(4)FIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 50=,通带最大衰减dB A P 1=。 (5)用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab 中,FIR 滤波器利用函数fftfilt 对信号进行滤波,IIR 滤波器利用函数filter 对信号进行滤波。比较滤波前后语音信号的波形及频谱,在一个窗口同时画出滤波前后

数字信号处理 语音信号分析与处理及其MATLAB实现..

摘要 (2) 1 设计目的与要求 (3) 2 设计步骤 (4) 3 设计原理及内容 (5) 3.1 理论依据 (5) 3.2 信号采集 (6) 3.3 构造受干扰信号并对其FFT频谱分析 (8) 3.4 数字滤波器设计 (9) 3.5 信号处理 (10) 总结 (12) 致谢 (13) 参考文献 (14)

用MATLAB对语音信号进行分析与处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。 数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测和参数估计等处理。IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR滤波器的低的多。信号处理中和频谱分析最为密切的理论基础是傅立叶变换(FT)。离散傅立叶变换(DFT)和数字滤波是数字信号处理的最基本内容。 关键词:MATLAB;语音信号;加入噪声;滤波器;滤波

1. 设计目的与要求 (1)待处理的语音信号是一个在20Hz~20kHz频段的低频信号 (2)要求MATLAB对语音信号进行分析和处理,采集语音信号后,在MATLAB平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器进行滤除噪声,恢复原信号。

2. 设计步骤 (1)选择一个语音信号或者自己录制一段语音文件作为分析对象; (2)对语音信号进行采样,并对语音信号进行FFT频谱分析,画出信号的时域波形图和频谱图; (3)利用MATLAB自带的随机函数产生噪声加入到语音信号中,对语音信号进行回放,对其进行FFT频谱分析; (4)设计合适滤波器,对带有噪声的语音信号进行滤波,画出滤波前后的时域波形图和频谱图,比较加噪前后的语音信号,分析发生的变化; (5)对语音信号进行回放,感觉声音变化。

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)

基于某MATLAB地语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号:

指导老师: 一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,

语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数

语音信号的采集与时频域分析系统的设计

燕山大学 课程设计说明书 题目:语音信号的采集与时频域分系统的设计 学院(系):电气工程学院 年级专业: 09精仪一班 学号: 0901******** 学生姓名:乔召杰 指导教师:刘永红 教师职称:副教授

目录 引言 (2) 第1章语音信号时域分析 (3) 1、1 窗口选择 (3) 1、2 短时能量 (4) 1、3短时平均过零率 (5) 1、4 短时自相关函数 (6) 1、5 时域分析方法的应用 (7) 第2章语音信号频域分析 (8) 2、1 短时傅里叶变换 (8) 2、2 语谱图 (9) 2、3 复倒谱和倒谱 (9) 第3章加噪与滤波处理 (11) 3、1 原始信号加噪处理 (11) 3、2 加噪信号滤波处理 (12) 第4章总结 (13) 参考文献 (14) 附录 (15)

引言 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和频域等处理方法。语音信号可以认为在短时间内(一般认为在 10~30ms 的短时间内)近似不变,因而可以将其看作是一个准稳态过程, 即语音信号具有短时平稳性。任何语音信号的分析和处理必须建立在“短时”的基础上, 即进行“短时分析”。 时域分析:直接对语音信号的时域波形进行分析,提取的特征参数有短时能量,短时平均过零率,短时自相关函数等。 频域分析:对语音信号采样,并进行傅里叶变换来进行频域分析。主要分析的特征参数:短时谱、倒谱、语谱图等。 本文采集作者的声音信号为基本的原始信号。对语音信号进行时频域分析后,进行加白噪声处理并进行了相关分析,设计滤波器并运用所设计的滤波器对加噪信号进行滤波, 绘制滤波后信号的时域波形和频谱。整体设计框图如下图所示: 图0.1时频域分析设计图 图0.2加噪滤波分析流程图

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 通信与信息工程学院 二〇一八年

实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分 (1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。

二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。 上述程序是在Matlab软件中画出语音信号的时域波形(图1),回放录入声音。从图中可以看出在时域环境下,信号呈现出3个不规则的信号峰值。然后对语音信号进行频谱分析,在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱图如图1所示。 3.MATLAB中的窗函数 实际应用的窗函数,可分为以下主要类型: a) 幂窗--采用时间变量某种幂次的函数,如矩形、三角形、梯形或其它时间(t)的高次幂; b)三角函数窗--应用三角函数,即正弦或余弦函数等组合成复合函数,例如汉宁窗、海明窗等; c)指数窗--采用指数时间函数,如形式,例如高斯窗等。 d)平顶窗--平顶窗在频域时的表现就象它的名称一样有非常小的通带波动。

数字信号处理课程设计报告-语音信号的采集与处理

数字信号处理 课程设计报告 课设题目:语音信号的采集与处理 学院: 专业: 班级: 姓名: 学号: 指导教师: 2011 年7月1日

课程设计报告撰写要求 1、页面设置 纸张大小设置为纵向A4,页边距设置为:上3.8厘米,下 3.5厘米,左3厘米,右3厘米,页眉设置为3厘米,页脚设置为2.7厘米,文档网络设置为指定行和字符网格,每行34字,每页34行。 2、段落及字体设置 除各级标题外,首行缩进2字符;图、表及图题、表题首行不缩进,居中放置;图表不应超出版心范围;行距采用单倍行距。 正文中文采用小四号宋体,英文采用新罗马字体(Times New Roman),段前0磅,断后0磅; 一级标题采用小二号黑体,段前12磅,段后12磅 二级标题采用小三号黑体,段前6磅,段后6磅 三级标题采用四号黑体,段前6磅,段后0磅 3、装订要求 采用左侧装订,订两钉。

目录 一. 课程设计任务 (1) 二. 课程设计原理及设计方案 (2) 三. 课程设计的步骤和结果 (6) 四. 课程设计总结 (39) 五. 设计体会 (40) 六. 参考文献 (41)

一. 课程设计任务 1、语音信号的采集 利用Windows下的录音机,录制一段自己的话音,时间在1s内,然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。 2、语音信号的频谱分析 在Matlab中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性,要求学生首先画出语音信号的时域波形,然后对语音信号进行频谱分析。 3、设计数字滤波器和画出其频率响应给出各滤波器的性能指标; 给定滤波器的性能指标如下: (1)低通滤波器的性能指标:fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB. (2)高通滤波器的性能指标:fc=4800Hz,fb=5000Hz,As=100dB,Ap=1dB. (3)带通滤波器的性能指标:fb1=1200Hz, fb2=3000Hz,fc1=1000Hz, fc2=3200Hz,As=100dB,Ap=1dB. 采用窗函数法和双线性变换法设计上面要求的3种滤波器,并画出滤波器的频率响应; 4、用滤波器对信号进行滤波 然后用自己设计的滤波器对采集到的信号进行滤波,画出滤波后信号的时域波形及频谱,并对滤波前后的信号进行对比,分析信号的变化; 5、回放语音信号,分析滤波前后的语音变化; 6、设计系统界面 为了使编制的程序操作方便,设计处理系统的用户界面,在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数、显示滤波器的频率响应,选择信号等。 - 1 -

相关文档
最新文档