大连理工大学数字信号处理实验报告nxxpgrm0.docVIP

  • 14
  • 0
  • 约4.22千字
  • 约 7页
  • 2018-09-11 发布于湖北
  • 举报

大连理工大学数字信号处理实验报告nxxpgrm0.doc

大连理工大学数字信号处理实验报告nxxpgrm0

大连理工大学实验报告 学院(系):信息与通信工程学院 专业: 电子信息工程 班级: 电子1201 姓 名: XX 学号: XX 组: 实验时间: 2015 5 26 实验室: C221 实验台: 指导教师签字: 成绩: 实验四 含噪语音信号的分析 实验目的和要求 (与预习报告相同,省略) 实验原理和内容 (与预习报告相同,省略) 实验程序和结果 含噪语音信号的滤波 1.1、按键输入音频信号,得到语音信号时域和频域的波形,程序如下: function pushbutton1_Callback(hObject, eventdata, handles) global tdata global f global t global Fs [filename,filepath]=uigetfile(.wav,选择音频文件); %读取文件 if(filename==0) return; end audeofile= strcat(filepath,filename); [tdata,Fs,handles.NBITS]=wavread(audeofile); t = [0:1/Fs:(length(tdata)-1)/Fs]; %信号的时域长度 subplot(handles.fig1); plot(t,tdata); N = length(tdata); %对音频信号进行傅立叶变换,获得信号的频谱图 fftdata = fft(tdata,N); fdata = abs(fftdata); df = Fs / N; f = [0 : df : df * (N - 1)] - Fs / 2; %求频率 subplot(handles.fig2); plot(f, fftshift(fdata) ); 1.2、按键END关闭程序,并且推出GUI界面,程序如下: function pushbutton2_Callback(hObject, eventdata, handles) close all; %关闭程序 clear all; 1.3、按键输出音频信号,输出滤波后时域和频域波形,程序如下: function pushbutton3_Callback(hObject, eventdata, handles) global y1 %全局变量 global f global t subplot(handles.fig4); plot(t,y1); N = length(y1); %对音频信号进行傅立叶变换,获得信号的频谱图 Y = fft(y1,N); Y1 = abs(Y); subplot(handles.fig5); plot(f, fftshift(Y1) ); 1.4、按键SAVE保存滤波后的音频信号,程序如下: function pushbutton4_Callback(hObject, eventdata, handles) global Fs global y1 [file,path] = uiputfile(.wav,存储路径); if(file==0) return; end wavwrite(y1,Fs,[path,file]); %保存文件 1.5、语音信号选择高低通以及带通滤波,程序如下: function Filter_Callback(hObject, eventdata, handles) str = get(handles.Filter,String); val = get(handles.Filter,Value); switch str{val}; case 低通滤波器系统 %用户选择的是低通滤波器 flag=0; %设置标志位是0 case 高通滤波器系统 %用户选择的是高通滤波器. flag=1; %设置标志位是1 case 带通滤波器系统 %用户选择的是带通滤波器 flag=2; %设置标志位是2 end; global Fs fc = str2double(get(handles.edit1,string)); %得到输入的截止频率 if flag==0 %选择的是低通滤波器,对音频信号进行滤波处理 Rp=1;Rs=15; wp=2*pi*fc/Fs; %通带截止频率 ws=2*

文档评论(0)

1亿VIP精品文档

相关文档