基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx

上传人:b****5 文档编号:19892564 上传时间:2023-01-11 格式:DOCX 页数:14 大小:507.82KB
下载 相关 举报
基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx_第1页
第1页 / 共14页
基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx_第2页
第2页 / 共14页
基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx_第3页
第3页 / 共14页
基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx_第4页
第4页 / 共14页
基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx

《基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

基于MATLAB的语音信号的频谱分析Word文档下载推荐.docx

选择一个wav文件作为分析的对象,或录制一段语音信号,对其进行频谱分析,分别对加噪前后的语音信号进行频谱分析,再通过不同滤波器根据信号的频谱特点重构语音信号,选出最佳滤波方案。

4.课程设计实现步骤

(1)语音信号的获取

选择一个wav文件作为分析的对象,可以利用Windows下的录音机或其他软件,录制一段自己的话音,在MATLAB中,[y,fs,bits]=wavread('

Blip'

[N1N2]);

用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。

[N1N2]表示读取的值从N1点到N2点的值。

sound(y);

用于对声音的回放。

向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。

下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘出了语音信号时域波形,然后对语音信号进行频谱分析。

在MATLAB中,可以利用函数fft对信号进行快速傅里叶变化,得到信号的频谱特性。

在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻的两点之间的距离为。

其中,N是离散傅里叶变换用的点数,是采样的时间,前面在读取wav文件时得到了采样频率。

既然知道了该声波的频谱,按频率就可以反演它的时域值,利用以上分析的主要峰值来重构声波。

由于没有考虑相位和其他的频谱分量,所以波形和原来的波形相差甚大,但大体的频率是没有错的。

fs=25600;

%语音信号采样频率为25600

[x,fs,bits]=wavread('

C:

\windows\system32\config\systemprofile\Desktop\mayue.wav'

);

sound(x,fs,bits);

%播放语音信号

y1=fft(x,4096);

%对信号做2048点FFT变换

f=fs*(0:

2047)/4096;

figure

(1)

magy1=abs(y1);

angy1=angle(y1);

subplot(3,1,1),plot(x);

title('

原始信号波形'

subplot(3,1,2),plot(magy1);

原始信号幅值'

subplot(3,1,3),plot(angy1);

原始信号相位'

figure

(2)

freqz(x)%绘制原始语音信号的频率响应图

频率响应图'

figure(3)

plot(f,abs(y1(1:

2048)));

原始语音信号频谱'

xlabel('

Hz'

ylabel('

fudu'

axis([045000400])

图1.1原始信号波形、幅值和相位图

图1.2频率响应图

图1.3原始语音信号频谱

(2)wav语音信号加噪声

在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:

1)单频噪色(正弦干扰);

2)高斯随机噪声。

绘出加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。

本实验采用正弦干扰。

clc;

clear;

fs=22050;

%语音信号采样频率为22050

%读取语音信号的数据,赋给变量x

%对信号做4096点FFT变换

511)/4096;

t=(0:

length(x)-1)/22050;

x1=[0.05*sin(2*pi*10000*t)]'

;

x0=x(:

1);

x2=x1+x0;

sound(x2,fs,bits);

subplot(2,1,1)

plot(x)%做原始语音信号的时域图形

原语音信号时域图'

subplot(2,1,2)

plot(x2)%做原始语音信号的时域图形

加高斯噪声后语音信号时域图'

timen'

y2=fft(x2,4096);

plot(abs(y1))

plot(abs(y2))

加噪语音信号频谱'

axis([045000300]);

wavwrite(x2,fs,'

\windows\system32\config\systemprofile\Desktop\加噪.wav'

图1.4语音信号时域图

图1.5语音信号频谱图

(3)IIR数字滤波器的设计:

分别利用巴特沃斯滤波器、切比雪夫I型和II型滤波器、椭圆滤波器进行滤波,写出详细的分析结果。

巴特沃斯低通滤波

对加入高斯随机噪声和正弦噪声的语音信号进行滤波。

用双线性变换法设计了巴特沃斯数字低通IIR滤波器对两加噪语音信号进行滤波,并绘制了巴特沃斯低通滤波器的幅度图和两加噪语音信号滤波前后的时域图和频谱图。

clearall;

fb=1000;

fc=1200;

fs=22050;

wp=0.1*pi;

ws=0.4*pi;

Rp=1;

Rs=15;

Fs=22050;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2);

%将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'

s'

%选择滤波器的最小阶数

[Z,P,K]=buttap(N);

%创建butterworth模拟滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn);

[bd,ad]=bilinear(b,a,Fs);

%用双线性变换法实现模拟滤波器到数字滤波器的转换

[h,w]=freqz(bd,ad);

subplot(111);

plot(w*fs/(2*pi),abs(h))

grid;

滤波器的性能分析'

pause;

n=length(x);

(n/2-1))/n;

X=fft(x);

z=filter(bd,ad,x);

subplot(211);

plot(x);

原始信号的波形'

subplot(212);

plot(z);

滤波后信号的波形'

sound(z,fs,bits);

plot(f,abs(X(1:

n/2)));

原始信号的频谱'

Z=fft(z);

plot(f,abs(Z(1:

滤波后的信号频谱'

wavwrite(z,fs,C:

\windows\system32\config\systemprofile\Desktop\巴滤.wav'

图1.6滤波器的性能分析

图1.7滤波前后信号分析波形图

图1.8滤波前后信号频谱图

(4)FIR数字滤波器的设计:

分别利用矩形窗、三角形窗、汉明窗、哈明窗进行滤波,写出几种滤波器的优缺点,写出详细的分析结果。

汉明窗的FIR低通滤波

使用窗函数法,选用海明窗设计了数字FIR低通滤波器对加了正弦噪声的语音信号进行滤波,并绘制了滤波器滤波后的语音信号时域图和频谱图。

%FIR滤波

wp=0.25*pi;

ws=0.3*pi;

wdelta=ws-wp;

N=ceil(6.6*pi/wdelta);

%取整

t=0:

(size(x)-1);

wn=(0.2+0.3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1));

%选择窗函数,并归一化截止频率

f1=fftfilt(b,x);

freqz(b,1,512)

[h1,w1]=freqz(b,1);

plot(w1*fs/(2*pi),20*log10(abs(h1)));

plot(t,x)

滤波前的时域波形'

plot(t,f1);

滤波后的时域波形'

sound(f1);

%播放滤波后的语音信号

F0=fft(f1,1024);

511)/1024;

y2=fft(x,1024);

subplot(2,1,1);

plot(f,abs(y2(1:

512)));

%画出滤波前的频谱图

滤波前的频谱'

fuzhi'

F1=plot(f,abs(F0(1:

%画出滤波后的频谱图

滤波后的频谱'

wavwrite(f1,fs,'

\windows\system32\config\systemprofile\Desktop\F滤.wav'

图1.9语音信号波形

图1.10滤波前后时域波形

图1.11滤波前后频谱图

5.课程设计心得体会

本设计采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。

从频率响应图中可以看出:

巴特沃斯滤波器具有单调下降的幅频特性,通带内是平滑的。

海明窗设计的FIR滤波器的频率特性几乎在任何频带上都比巴特沃斯滤波器的频率特性好,过渡带也比较小,只是海明窗设计的滤波器下降斜度较小对语言的过渡失真进行了补偿。

经过本次课程设计,让我真正明白了语音信号处理的过程,开始以为这是一个很难的过程,随着设计的进行,发现原来也不是很难。

在设计的过程中,由于有很多信号,所以要搞清楚信号有点困难,而且在设计开始的时候没有按顺序来,导致里面的程序错综复杂,所以我将各种信号都写在了纸上,这样使自己的条理又清晰了一大步。

6.参考文献

[1]姚天任.数字语音处理(M).武汉:

华中科技大学出版社,1991.

[2]刘卫国.MATLAB程序设计教程(M).北京:

中国水利水电出版社,2005.

[3]王树勋.数字信号处理处理基础及试验.北京:

机械工业出版社,1992.

[4]周辉,董正宏.数字信号处理及MATLAB实现.北京:

北京希望出版社,2006.

[5]徐靖涛,王金根.基于MATLAB的语音信号分析和处理(J).重庆:

重庆科技学院学报,2008.

如有侵权请联系告知删除,感谢你们的配合!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1