MATLAB课设(打印)

2020-06-21 13:53

Matlab与信息处理课程设计

课题:语音信号采集与处理

姓名: 学号: 指导老师:

2016.7.5

目录

一、实践目的 ............................................. 2 二、课题要求: ........................................... 2 三、MATLAB仿真 .......................................... 2 1、录音及频谱分析 ..................................... 2 2、语音信号时域分析 ................................... 3 3、傅里叶变换性质 ..................................... 6 尺度变换: ......................................... 6 抽取: ............................................. 7 插值: ............................................. 8 调制与解调: ....................................... 9 四、信号加噪及滤波 ...................................... 13

低通滤波器 ........................................ 14 高通滤波器 ........................................ 16 带通滤波器 ........................................ 18 五、总结 ................................................ 20 六、参考文献 ............................................ 21

1

一、实践目的

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

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

二、课题要求

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

2、对录制的语音信号进行频谱分析。

3、对采集到的语音信号进行时域的尺度变换,抽取与插值,调制与解调,观测前后信号的变化。

4、实现语音信号的音量变大变小、快放、慢放、倒放、混音、回声、男女变声等效果。 5、对语音信号加噪,然后进行滤波,分析不同的滤波方式对信号的影响。 6、利用MATLAB GUI 制作语音信号采集与分析演示系统。

三、MATLAB仿真

1、录音及频谱分析

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

[y,fs]=audioread('I:\\zjk.wav'); %读声音文件

2

N=length(y);

t=0:1/fs:(length(y)-1)/fs; %求出语音信号的长度 Y=fft(y,N);%快速傅里叶变换 AM=abs(Y)/(N/2); AM(1,:)=AM(1,:)/2; ff=(0:N-1)/N*fs; subplot(2,1,1);

plot(t,y);%语音信号时域图 subplot(2,1,2);

plot(ff,AM)%语音信号频谱图; 运行如下:

图(1) 时域、频谱图

2、语音信号时域分析

(1)语音信号音量放大

[f1,fs]=audioread('I:\\zjk.wav'); sound(2*f1,fs)%“2”>1,所以放大 (2)语音信号音量变小

[f1,fs]=audioread('I:\\zjk.wav'); sound(0.5*f1,fs)%0.5<1,所以变小

3

(3)语音信号倒放

[x,fs]=audioread('I:\\zjk.wav');

y0=flipud(x);&flipud实现矩阵上下翻转,从而实现语音倒放 sound(y0,fs); (4)混音音效

[Y1,fs1]=audioread('I:\\xqq.wav');

[Y2,fs2]=audioread('I:\\zjk.wav');%读取两段不同的音频 y1=Y1(:,1);y2=Y2(:,1);%取单声道 T=0.1;

if length(y1)

y1=[y1;zeros((length(y2)-length(y1)),1)]; elseif length(y1)>length(y2)

y2=[y2;zeros((length(y1)-length(y2)),1)];%比较两段音频的长度,使两个音频长度

相等

end

y1=[zeros(T*fs2,1);y1]; y2=[y2;zeros(T*fs2,1)]; y3=y1+y2;%声音合成 sound(y3,fs2); (5)回音效果

[x,fs]=audioread('I:\\zjk.wav'); n1=0:2000;

b=x(:,1); %产生单声道信号 N=3;

yy2=filter(1,[1,zeros(1,80000/(N+1)),0.7],[b',zeros(1,40000)]);%三次回声滤波器 sound(yy2,fs); (6)男女变声 定义voice函数功能:

function Y=voice(x,f) %更改采样率使基频改变 f>1降低;f<1升高 f=round(f*1000);

4


MATLAB课设(打印).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《组织与管理》期末复习(2011) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: