MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx

上传人:b****1 文档编号:14669271 上传时间:2022-10-23 格式:DOCX 页数:24 大小:240.32KB
下载 相关 举报
MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx_第1页
第1页 / 共24页
MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx_第2页
第2页 / 共24页
MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx_第3页
第3页 / 共24页
MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx_第4页
第4页 / 共24页
MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx

《MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

MATLAB课程设计报告语音信号的采集与处理Word文件下载.docx

二、实验内容

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

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

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

这里涉及到采样下重采样的问题,请大家思考如何去做。

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

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

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

7、如果精力和时间允许,鼓励利用MATLABGUI制作语音信号采集与分析演示系统。

三、MATLAB仿真

任务一(陈康负责)

1.利用频谱的分析

利用Windows下的录音机,录制一段男生和女生的语音,存为*.WAV的文件。

然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。

首先画出语音信号的时域波形;

然后对语音号进行快速傅里叶变换(FFT变换),得到信号的频谱特性,分析语音信号频谱。

源程序:

fs=44100;

[x,fs,Nbits]=wavread('

E:

\GQQQ\leo'

);

derta_fs=fs/length(x);

t=0:

1/44100:

(length(x)-1)/44100;

sound(x,fs);

%对加载的语音信号进行回放

figure

(1)

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

title('

原始语音信号'

);

xlabel('

timen'

ylabel('

fuzhin'

n=length(x);

%求出语音信号的长度

y1=fft(x,n);

%傅里叶变换

w=1/n*[0:

n-1]*fs;

figure

(2)

plot([-fs/2:

derta_fs:

fs/2-derta_fs],abs(fftshift(y1)*2/n));

%做原始语音信号的FFT频谱图

原始语音信号FFT频谱'

频谱分析对比

运行结果:

女生:

频谱分析:

从300hz到2000hz都有分布,主要集中在300—1200Hz,声音尖锐,是女生频谱。

男生:

从200hz到1000hz都有分布,集中在300—1000Hz声音低沉,是男生频谱。

任务二(詹筱珊负责)

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

clear;

[y,fs,bits]=wavread('

\GQQQ\WOMAN'

%x语音数据fs采样频率bits采样点数

sound(y,fs,bits);

%话音回放

n=length(y);

derta_fs=fs/length(y);

Y=fft(y,n);

figure

(1);

subplot(2,1,1);

plot(y);

原始信号波形'

subplot(2,1,2);

fs/2-derta_fs],abs(fftshift(Y)*2/n));

原始信号频谱'

grid

y1=decimate(y,2);

%采样频率为22050Hz,过采样

fs1=fs/2;

sound(y1,fs1,bits);

n1=length(y1);

derta_fs=fs/length(y1);

Y1=fft(y1,n1);

figure

(2);

plot(y1);

过采样信号波形'

fs/2-derta_fs],abs(fftshift(Y1)*2/n1));

过采样信号频谱'

y2=decimate(y,4);

%每4个取一个,采样频率为11025Hz接近临界采样

fs2=fs/4;

sound(y2,fs2,bits);

n2=length(y2);

derta_fs=fs/length(y2);

Y2=fft(y2,n2);

figure(3);

plot(y2);

临界采样信号波形'

fs/2-derta_fs],abs(fftshift(Y2)*2/n2));

临界采样信号频谱'

y3=decimate(y,8);

%抽取函数,频率变为原来1/8,欠采样

fs2=fs/8;

n3=length(y3);

derta_fs=fs/length(y3);

Y3=fft(y3,n3);

figure(4);

plot(y3);

欠采样信号波形'

fs/2-derta_fs],abs(fftshift(Y3)*2/n3));

欠采样信号频谱'

任务三(郭前负责)

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

%变速-快放%

fs=25600;

[z,fs,nbits]=wavread('

%读取声音文件

derta_fs=fs/length(z);

x=z(:

1);

%读入的y矩阵有两列,取第1列

y1=voice(x,1.5);

%调整voice()第2个参数转换音调,>

1降调,<

1升调,y1为x转换后的声音

w=1.5;

F=w*fs;

%w>

1为快放,w<

1为慢放

sound(y1,F)

N=length(x);

M=length(y1);

n=0:

N-1;

m=0:

M-1;

X=fft(x);

Y=fft(y1);

%傅里叶变换

T=1/fs;

T1=1/(fs*w);

f=n/N*fs;

f1=m/M*fs*w;

t=n*T;

t1=m*T1;

figure;

plot(t,x);

xlabel('

t/s'

幅值'

转换前的波形'

plot(t1,y1);

转换后的波形'

fs/2-derta_fs],abs(fftshift(X))*2/N);

frequency/Hz'

转换前的频谱'

fs/2-derta_fs],abs(fftshift(Y))*2/N);

转换后的频谱'

快放:

快放之后时间缩短。

慢放:

慢放之后时间变长。

倒放

fs=22050;

[x,fs,Nbits]=wavread('

1/22050:

(length(x)-1)/22050;

%对加载的语音信号进行回放

y=flipud(x)%对加载的语音信号实现翻转函数

plot(x);

%声音的时域波形

原声音的波形'

倒放后声音的波形'

wavplay(y,fs);

回声:

[y,fs,nbits]=wavread('

x=y(:

z=[zeros(50000,1);

x];

%延时50000个点

x1=[x;

zeros(50000,1)];

%使原声音长度与延时后相等

y1=x1+0.4*z;

%原声+延时衰减

figure

(2)

加入回声的波形'

sound(5*y1,fs,nbits);

男声转换为女声

y1=voice(x,0.71);

Fs=2*fs;

%2倍频

T=1/Fs;

T1=1/Fs*0.71;

f=n/N*Fs;

f1=m/M*Fs/0.71;

derta_Fs=Fs/length(x);

derta_Fs1=Fs/length(y1);

magnitude'

plot([-Fs/2:

derta_Fs:

Fs/2-derta_Fs],abs(fftshift(X)*2/N));

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

当前位置:首页 > 自然科学 > 天文地理

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

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