数字信号处理实验报告含噪语音信号的分析.docx

上传人:b****8 文档编号:12372878 上传时间:2023-06-05 格式:DOCX 页数:12 大小:189.09KB
下载 相关 举报
数字信号处理实验报告含噪语音信号的分析.docx_第1页
第1页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第2页
第2页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第3页
第3页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第4页
第4页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第5页
第5页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第6页
第6页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第7页
第7页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第8页
第8页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第9页
第9页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第10页
第10页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第11页
第11页 / 共12页
数字信号处理实验报告含噪语音信号的分析.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字信号处理实验报告含噪语音信号的分析.docx

《数字信号处理实验报告含噪语音信号的分析.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告含噪语音信号的分析.docx(12页珍藏版)》请在冰点文库上搜索。

数字信号处理实验报告含噪语音信号的分析.docx

数字信号处理实验报告含噪语音信号的分析

大连理工大学实验报告

学院(系):

专业:

班级:

姓名:

学号:

组:

___

实验时间:

实验室:

实验台:

指导教师签字:

成绩:

实验五含噪语音信号的分析

一、实验目的和要求二、实验原理和内容

三、实验结果与分析

第一部分:

产生含噪的语音信号

首先分析原始的语音信号的波形和频谱:

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

%sound(x,fs,bits);

X=fft(x);

t1=(0:

length(x)-1)*fs/length(x)-fs/2;

figure

(1);

subplot(2,1,1);

plot(x);

axis([0,400000,-2,2]);

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

subplot(2,1,2);

plot(t1,fftshift(abs(X)));title('原始语音信号的频谱');

%添加噪声

N=length(x);

noise=0.3*randn(size(x));

x1=x+noise;

X1=fft(x1);

t2=(0:

length(x1)-1)*fs/length(x1)-fs/2;

%sound(x1,fs,bits);

figure

(2);

subplot(2,1,1);

plot(x1);title('加噪语音信号时域波形');

subplot(2,1,2);

plot(t2,fftshift(abs(X1)));title('加噪语音信号的频谱');

利用MATLAB命令生成含噪语音信号:

wavwrite(x1,fs,16,'x1.wav');

将生成的x1.wav文件作为后续的GUI图形界面中用于分析的语音信号。

第二部分:

GUI的设计

首先搭建含有各个模块的界面:

利用callback在.m文件中对各个模块进行代码的编辑(下面列出主要部分):

1、输入音频信号部分:

functiontext1_Callback(hObject,eventdata,handles)

%hObjecthandletotext1(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

%读入一段音频文件

[filename,filepath]=uigetfile('.wav','选择音频文件');

if(filename==0)

return;

end

audeofile=strcat(filepath,filename);

globalfs;

globalyt;

[handles.tdata,fs,handles.NBITS]=wavread(audeofile);

%绘制时域波形图

yt=handles.tdata;

t=[0:

1/fs:

(length(handles.tdata)-1)/fs];%信号的时域长度

subplot(handles.axes1);

plot(t,handles.tdata);

title('输入f1的波形图');

%绘制频谱图

N=length(t);

fftdata=fft(handles.tdata,N);

fdata=abs(fftdata);

df=fs/N;

f=[0:

df:

df*(N-1)]-fs/2;%求频率

subplot(handles.axes3);

plot(f,fftshift(fdata));

title('输入F1(w)的频谱');

2、设置低通部分:

functionpopupmenu2_Callback(hObject,eventdata,handles)

%hObjecthandletopopupmenu2(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

%Hints:

contents=cellstr(get(hObject,'String'))returnspopupmenu2contentsascellarray

%contents{get(hObject,'Value')}returnsselecteditemfrompopupmenu2

fc=str2double(get(handles.edit1,'String'));

globalfs;

globalbz;

globalaz;

wp=2*fc/fs;

ws=2*1.2*fc/fs;

ap=3;as=18;

[N,wn]=buttord(wp,ws,ap,as);

[bz,az]=butter(N,wn);

[H,W]=freqz(bz,az);

subplot(handles.axes4)

plot(W,20*log10(abs(H)));

xlabel('频率/弧度');

ylabel('对数幅频响应/dB');

axis([00.3*pi-5010]);

title('低通滤波器的频率响应');

3、输出音频信号部分:

functiontext3_Callback(hObject,eventdata,handles)

%hObjecthandletotext3(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

globalfs;

globalbz;

globalaz;

globalyt;

mm=filter(bz,az,yt);

t=[0:

1/fs:

(length(yt)-1)/fs];%信号的时域长度

subplot(handles.axes2);

plot(t,mm);

%axis([01001]);

title('输出f2的波形图');

%绘制频谱图

N=length(t);

fftdata=fft(mm,N);

fdata=abs(fftdata);

df=fs/N;

f=[0:

df:

df*(N-1)]-fs/2;%求频率

subplot(handles.axes5);

plot(f,fftshift(fdata));

title('输出F2(w)的频谱');

第三部分GUI界面的操作

首先是运行出的GUI界面:

然后选择音频文件:

添加了音频文件后的波形和频谱:

观察频谱,取截止频率为1000Hz,选择低通滤波器:

得到滤波器的频率响应(单位为db):

最后点击输出音频信号,得到滤波后的频谱和时域波形:

对比GUI界面滤波后的信号,该信号与原始语音信号基本相似,噪声的影响已经很小。

四、实验建议与体会

做完本实验遇到了以下问题:

首先是关于设置低通滤波器,由于只知道截止频率,而不知道阻带衰减和通带衰减,所以只能人为的设置,阻带截止频率为通带的1.2倍,通带衰减为3db,阻带衰减为18db,这里会存在误差。

然后是关于滤波,运用mm=filter(bz,az,yt)函数,但是输入语音信号在不同的函数中不能直接拿来用,所以就将输入的语音信号定义为全局变量globalyt,从而用在输出音频信号的函数中。

同时为了保证取样频率fs在各函数中都能被利用,所以也设置globalfs作为全局变量。

作为本学期最后一个数字信号处理实验,经过该实验,我的MATLAB编程能力又有了近一步的提升。

最后感谢老师本学期的指导。

 

THANKS!

!

!

 

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

 

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2