MATLAB语音信号采集与处理(DOC)

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

MATLAB课程设计报告课题:语音信号采集与处理

目录

一、实践目的 (3)

二、实践原理: (3)

三、课题要求: (3)

四、MATLAB仿真 (4)

1、频谱分析: (4)

2、调制与解调: (5)

3、信号变化: (8)

快放: (8)

慢放: (8)

倒放: (8)

回声: (8)

男女变声: (9)

4、信号加噪 (10)

5、用窗函数法设计FIR滤波器 (11)

FIR低通滤波器: (12)

FIR高通滤波器: (13)

FIR带通滤波: (14)

一、实践目的

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

此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。

二、实践原理:

利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。

三、课题要求:

○1利用windows 自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。

○2对录制的语音信号进行频谱分析,确定该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉or 尖锐)。

○3利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临界采样)对信号的影响。

○4对采集到的语音信号进行调制与解调,观测调制与解调前后信号的变化。

○5实现语音信号的快放、慢放、倒放、回声、男女变声。

○6对语音信号加噪,然后进行滤波,分析不同的滤波方式对信号的影响。

○7利用MATLAB GUI 制作语音信号采集与分析演示系统。

四、MATLAB仿真

1、频谱分析:

用WINDOWS下的录音机,用单声道录制一段音乐或声音,时间在5S内。然后MATLAB 软件平台下,利用函数WAVREAD对语音信号进行采样,记住采样频率和采样点数。对语音信号进行快速傅立叶变换,在一个窗口同时画出信号的时域波形图和频谱图,分析语音信号的频谱特点

程序:

fs =22050;

Nbits =16;

[x,fs,Nbits] =wavread('D:\matlab\22hexian.wav') ; %读声音文件

n=length(x);

t=0:1/fs:(length(x)-1)/fs; %求出语音信号的长度

y1=fft(x,n) ; %傅里叶变换

y2=fftshift(y1); %对频谱图进行平移

f=0:fs/n:fs*(n-1)/n; %得出频点

subplot(2,1,1);

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

title('原始信号时域波形图');

subplot(2,1,2);

plot(f,abs(y2));

title('原始信号频谱图')

仿真波形:

○1门铃:

○2和弦:

○3男女声:

2、调制与解调:

首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在Matlab 中可以利用函数fft 对信号行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。

程序:

clear;

dt=1/44100;

fs=44100;

[f1,fs,nbits]=wavread('D:\1huan.wav');

figure(1);

subplot(1,1,1);

N=length(f1);

t=0:1/fs:(N-1)/fs;

plot(t,f1);

title('信息信号的时域波形');

fy1=fft(f1);

w1=0:fs/(N-1):fs;

figure(2);

subplot(1,1,1);

plot(w1,abs(fy1));

title('信息信号的频谱');

f2=cos(22000*pi*t);

figure(3);

subplot(1,1,1);

fy2 = fft(f2);

N2=length(f2);

w2=fs/N*[0:N-1];

plot(w2,abs(abs(fy2)));

title('载波信号的频谱');

f1=f1(:,1);

f3=f1'.*f2;

figure(4);

subplot(1,1,1);

fy3 = fft(f3);

plot(w1,abs(abs(fy3)));

title('已调信号的频谱');

sound(f3,fs,nbits);

f4=f3.*f2;

figure(5);

subplot(1,1,1);

fy4=fft(f4);

plot(w1,abs(abs(fy4)));

title('解调信号的频谱');

sound(f4,fs,nbits);

fp1=0;

fs1=5000;

As1=100;

wp1=2*pi*fp1/fs;

ws1=2*pi*fs1/fs;

BF1=ws1-wp1;

wc1=(wp1+ws1)/2;

M1=ceil((As1-7.95)/(2.286*BF1))+1; N1=M1+1;

beta1=0.1102*(As1-8.7);

Window=(kaiser(N1,beta1));

b1=fir1(M1,wc1/pi,Window);

figure(6);

subplot(1,1,1);

相关文档
最新文档