matlab怎么对语音信号处理,语音信号处理MATLAB程序

试验一语音信号处理

语音信号处理综合运用了数字信号处理的理论知识,对信号进行计算及频谱分析,设计滤波器,并对含噪信号进行滤波。

一,具体分为以下步骤:

(1)语音信号的采集:利用Windows下的录音机,录制一段话音。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,播放语音信号,并绘制原始语音信号;

(2)对原始信号加入噪声:对原始语音信号加入

s=0.05*sin(2*pi*f*Ts*n)

的噪声,采样后可知Fs ,选择f = 2500,播放加入噪声信号的语音信号,并绘制噪声信号和含噪语音信号;

(3)频谱分析:分别对原始语音信号,噪声信号和含噪声的语音信号进行频谱分析,并绘出各频谱图;

(4)设计滤波器:计算滤波器的性能指标,设计滤波器,绘制滤波器的特性曲线;

(5)滤波器滤波:用自己设计的滤波器对采集的信号进行滤波,得出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化,并回放语音信号,感觉滤波前后的声音有变化。

(6) 对原始信号进行整数倍抽取,比较抽取前后的频谱图

(7)对原始信号进行整数倍内插,比较原始信号频谱,内插零值时的频谱和滤波后的频谱图。

二,源程序:

[x,fs,bits]=wavread('he.wav');

N=length(x);%测定语音信号长度

f=2500;

x=x';%对语音信号进行转置,使N行1列矩阵变为1行N列矩阵

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

s=0.05*sin(2*pi*f*n);%噪声信号

y=x+s;%信号加噪声

f1=0:fs/N:fs*(N-1)/N;%横坐标,f1为频率

x1=fft(x,N);

你可能感兴趣的:(matlab怎么对语音信号处理)