1、图形用户界面GUI 湖北民族学院实验设计报告图形用户界面(GUI)课 程: 随机信号处理 专 业: 电子信息科学与技术 班 级: 0312412 学 号: 0312412XX 学生姓名: XXX 指导教师: XX 成 绩:_ 2014年 12月 1 日实验1:图形用户界面(Graphical User Interface)设计实验目的1. 熟悉MATLAB基本操作2. 掌握对音频信号的常规处理3. 掌握对随机信号进行简单的图形界面操作实验原理图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用
2、的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。GUI 是 Graphical User Interface 的简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee”准确来说 GUI 就是屏幕产品的视觉体验和互动操作部分。GUI 是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人机环境三者作为一个系统进行总体设计。这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。GUI 即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方
3、面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生GUI的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。实验要求在MATLAB中对一段wav音频文件进行简单操作,并设计20个GUI模块实验步骤及内容GUI整体界面模块1音频波形function pushbutton1_Callback(h
4、Object, eventdata, handles)x=wavread(QXA.wav);plot(x);axis(1 500000 -1 1);模块2音频播放function pushbutton3_Callback(hObject, eventdata, handles)x,fs,bits=wavread(QXA.wav); %读取音频信息(双声道,16位,频率44100Hz)x=x(:,1);sound(x,fs,bits); %回放该音频模块3信号频谱function pushbutton2_Callback(hObject, eventdata, handles)x,Fs,bits
5、=wavread (QXA.wav);% 读出信号,采样率和采样位数。x=x (:,1); X=fft (x,4096); % 对信号函数进行快速离散傅里叶变换分析magX=abs (X); % 求幅值angX=angle (X); % 求相位subplot (211);plot (x);title (原始信号波形);subplot (212);plot (X); title (原始信号频谱);模块4信号幅值function pushbutton7_Callback(hObject, eventdata, handles)x,Fs,bits=wavread (QXA.wav);% 读出信号,采
6、样率和采样位数。x=x (:,1); X=fft (x,4096); % 对信号函数进行快速离散傅里叶变换分析magX=abs (X); % 求幅值angX=angle (X); % 求相位subplot (211);plot (x);title (原始信号波形);subplot (212);plot (magX);title (原始信号幅值);模块5信号相位function pushbutton6_Callback(hObject, eventdata, handles)x,Fs,bits=wavread (QXA.wav);% 读出信号,采样率和采样位数。x=x (:,1); X=fft
7、(x,4096); % 对信号函数进行快速离散傅里叶变换分析magX=abs (X); % 求幅值angX=angle (X); % 求相位subplot (211);plot (x);title (原始信号波形);subplot (212);plot (angX);title (原始信号相位);模块6误差函数 function pushbutton4_Callback(hObject, eventdata, handles)x=wavread(QXA.wav);a=erf(x);plot(a);模块7补余误差函数function pushbutton5_Callback(hObject, e
8、ventdata, handles)x=wavread(QXA.wav);b=erfc(x);plot(b);axis();模块8希尔伯特变换function pushbutton8_Callback(hObject, eventdata, handles)x=wavread(QXA.wav);x=x(20000:35000);y=hilbert(x);y=real(y);plot(y);title(希尔伯特变换);axis();模块9功率谱function pushbutton9_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(Q
9、XA.wav);y1=y(1:1000);t=0:1/Fs:1;y1=periodogram(y1,1000,Fs);plot(y1);模块10 DFTfunction pushbutton23_Callback(hObject, eventdata, handles)x=wavread(QXA.wav);fs=100;N=1024; y=fft(x,N); magy=abs(y); f=(0:length(y)-1)*fs/length(y); plot(f,magy); xlabel(频率(Hz));ylabel(幅值); title(DFT);模块11概率密度function pushb
10、utton13_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(QXA.wav);y=y(1:1000);N=length(y);i=1:N;f,i=ksdensity(y);plot(i,f);grid;xlabel(x);ylabel(f(x);axis();title(概率密度);模块12自相关函数function pushbutton22_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(QXA.wav);y=y(1:1000);R=xcorr(y);plot(R)
11、;grid;title(自相关函数);模块13均值function pushbutton14_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(QXA.wav);y=y(1:1000);n=length(y);x=randn(50,n);average=zeros(1,50);for i=1:50 for j=1:1000 average(i)=average(i)+x(i,j); end average(i)=average(i)/1000; endEX=sum(average)/50;plot(average); grid;tit
12、le(截取声音信号的均值)模块14方差function pushbutton15_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(QXA.wav);y=y(1:1000);n=length(y);x=randn(50,n);average=zeros(1,50);for i=1:50 for j=1:1000 average(i)=average(i)+x(i,j); end average(i)=average(i)/1000; endEX=sum(average)/50;variance=zeros(1,50);for i=1:
13、50 for j=1:1000 variance(i)=variance(i)+(x(i,j)-average(i).2; end variance(i)=variance(i)/1000;endDX=sum(variance)/50;plot(variance); grid;title(截取声音信号的方差);模块15均方值function pushbutton16_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(QXA.wav);y=y(1:1000);n=length(y);x=randn(50,n);square=zeros(
14、1,50);for i=1:50 for j=1:1000 square(i)=square(i)+x(i,j).2; end square(i)=square(i)/1000; endRMS=sum(square)/50;plot(square); grid;title(截取声音信号的均方值);模块16卷积function pushbutton18_Callback(hObject, eventdata, handles)y,Fs,bits=wavread(QXA.wav);y=y(500:1000);h=ones(1,10) zeros(1,10);y2=conv(h,y);stem(y2
15、,.);grid;title(截取声音信号的卷积);模块17低通function pushbutton17_Callback(hObject, eventdata, handles)x=wavread(QXA.wav);N=2;wc=0.3;b,a=butter(N,wc);X=fft(x);subplot(321);plot(x);title(滤波前信号的波形);subplot(322);plot(X);title(滤波前信号的频谱);y=filter(b,a,x);Y=fft(y);subplot(323);plot(y);title(IIR滤波后信号的波形);subplot(324);p
16、lot(Y);title(IIR滤波后信号的频谱);z=fftfilt(b,x);Z=fft(z);subplot(325);plot(z);title(FIR滤波后信号的波形);subplot(326);plot(Z);title(FIR滤波后信号的频谱);模块18高通function pushbutton19_Callback(hObject, eventdata, handles) x=wavread(QXA.wav);N=2;wc=0.3;b,a=butter(N,wc,high);X=fft(x);subplot(321);plot(x);title(滤波前信号的波形);subplo
17、t(322);plot(X);title(滤波前信号的频谱);y=filter(b,a,x);Y=fft(y);subplot(323);plot(y);title(IIR滤波后信号的波形);subplot(324);plot(Y);title(IIR滤波后信号的频谱);z=fftfilt(b,x);Z=fft(z);subplot(325);plot(z);title(FIR滤波后信号的波形);subplot(326);plot(Z);title(FIR滤波后信号的频谱);模块19带通function pushbutton20_Callback(hObject, eventdata, han
18、dles) x=wavread(QXA.wav);N=2;wc=0.3,0.6;b,a=butter(N,wc);X=fft(x);subplot(321);plot(x);title(滤波前信号的波形);subplot(322);plot(X);title(滤波前信号的频谱);y=filter(b,a,x);Y=fft(y);subplot(323);plot(y);title(IIR滤波后信号的波形);subplot(324);plot(Y);title(IIR滤波后信号的频谱);z=fftfilt(b,x);Z=fft(z);subplot(325);plot(z);title(FIR滤
19、波后信号的波形);subplot(326);plot(Z);title(FIR滤波后信号的频谱);模块20带阻function pushbutton21_Callback(hObject, eventdata, handles)x=wavread(QXA.wav);N=2;wc=0.2,0.7;b,a=butter(N,wc,stop);X=fft(x);subplot(321);plot(x);title(滤波前信号的波形);subplot(322);plot(X);title(滤波前信号的频谱);y=filter(b,a,x);Y=fft(y);subplot(323);plot(y);title(IIR滤波后信号的波形);subplot(324);plot(Y);title(IIR滤波后信号的频谱);z=fftfilt(b,x);Z=fft(z);subplot(325);plot(z);title(FIR滤波后信号的波形);subplot(326);plot(Z);title(FIR滤波后信号的频谱);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2