北京理工大学 数字信号处理 实验报告 程序.docx
- 文档编号:3742126
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:25
- 大小:665.88KB
北京理工大学 数字信号处理 实验报告 程序.docx
《北京理工大学 数字信号处理 实验报告 程序.docx》由会员分享,可在线阅读,更多相关《北京理工大学 数字信号处理 实验报告 程序.docx(25页珍藏版)》请在冰豆网上搜索。
北京理工大学数字信号处理实验报告程序
数字信号处理实验报告
一、实验目的
1.深入掌握应用DFT分析信号的频谱的理论方法,针对该问题进行一次全面综合练习,完成一个完整的信号分析软件实现方法和流程,这种全面完整的综合练习可以帮助学生深入理解和消化基本理论,锻炼学生独立解决问题的能力,培养学生的创新意识,为今后的科研和工作打下良好的实践基础。
2.综合利用数字信号处理的理论知识完成数字滤波器的设计与实现,完成一个完整的数字滤波器设计软件的实现方法和流程。
这种全面完整的综合练习可以帮助学生深入理解和消化基本理论,锻炼学生独立解决问题的能力,培养学生的创新意识,为今后的科研和工作打下良好的实践基础。
二、实验设备与环境
计算机、MATLAB软件环境
三、实验内容
1.基于MatlabGUI的离散傅里叶变换分析
2.基于MatlabGUI的数字滤波器分析设计
四、实验结果
1.基于MatlabGUI的离散傅里叶变换分析
信号:
t=1:
100;
x=2*sin(t/25*2*pi)+5*sin(t/5*2*pi);
说明:
输入信号从MatlabCommandWindows中生成,通过变量名导入本软件,并可输出DFT变换后的结果,默认名为DFT_输入变量名。
2.基于MatlabGUI的数字滤波器分析设计
IIR低通:
(巴特沃兹)
IIR高通:
(切比雪夫I)
IIR带通:
(切比雪夫II)
IIR带阻:
(椭圆滤波器)
FIR低通:
(矩形窗)
FIR高通:
(汉宁窗)
FIR带通:
(布莱克曼窗)
FIR带阻:
(凯瑟窗)
五、程序界面设计及程序源代码
1.基于MatlabGUI的离散傅里叶变换分析
界面设计:
程序代码:
functionvarargout=SignalDFTSoftware(varargin)
%SIGNALDFTSOFTWAREMATLABcodeforSignalDFTSoftware.fig
%SIGNALDFTSOFTWARE,byitself,createsanewSIGNALDFTSOFTWAREorraisestheexisting
%singleton*.
%%H=SIGNALDFTSOFTWAREreturnsthehandletoanewSIGNALDFTSOFTWAREorthehandleto
%theexistingsingleton*.
%%SIGNALDFTSOFTWARE('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinSIGNALDFTSOFTWARE.Mwiththegiveninputarguments.
%%SIGNALDFTSOFTWARE('Property','Value',...)createsanewSIGNALDFTSOFTWAREorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeSignalDFTSoftware_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.AllinputsarepassedtoSignalDFTSoftware_OpeningFcnviavarargin.
%%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%EdittheabovetexttomodifytheresponsetohelpSignalDFTSoftware
%LastModifiedbyGUIDEv2.526-Nov-201112:
55:
11
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@SignalDFTSoftware_OpeningFcn,...
'gui_OutputFcn',@SignalDFTSoftware_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---ExecutesjustbeforeSignalDFTSoftwareismadevisible.
functionSignalDFTSoftware_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%varargincommandlineargumentstoSignalDFTSoftware(seeVARARGIN)
%ChoosedefaultcommandlineoutputforSignalDFTSoftware
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesSignalDFTSoftwarewaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=SignalDFTSoftware_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---IfEnable=='on',executesonmousepressin5pixelborder.
%---Otherwise,executesonmousepressin5pixelborderoroverrandom.
functionrandom_ButtonDownFcn(hObject,eventdata,handles)
%hObjecthandletorandom(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%---Executesonbuttonpressinrandom.
functionrandom_Callback(hObject,eventdata,handles)
%hObjecthandletorandom(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
globalx;
globalx_flag;
x=rand(1,50)*20-10;
x_flag=1;
if(x_flag)
plot(handles.TD,0:
(length(x)-1),x);
end
%---ExecutesonbuttonpressinDelete.
functionDelete_Callback(hObject,eventdata,handles)
%hObjecthandletoDelete(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
globalx;
globalX;
globalx_flag;
globalX_flag;
x=0;
X=0;
x_flag=0;
X_flag=0;
plot(handles.TD,0,0);
plot(handles.FD,0,0);
%---IfEnable=='on',executesonmousepressin5pixelborder.
%---Otherwise,executesonmousepressin5pixelborderoroverDelete.
functionDelete_ButtonDownFcn(hObject,eventdata,handles)
%hObjecthandletoDelete(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%---IfEnable=='on',executesonmousepressin5pixelborder.
%---Otherwise,executesonmousepressin5pixelborderoroverAnalyse.
functionAnalyse_ButtonDownFcn(hObject,eventdata,handles)
%hObjecthandletoAnalyse(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%---ExecutesonbuttonpressinAnalyse.
functionAnalyse_Callback(hObject,eventdata,handles)
%hObjecthandletoAnalyse(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
globalx;
globalX;
globalx_flag;
globalX_flag;
if(x_flag)
X=fft(x);
X_flag=1;
end
if(X_flag)
stem(handles.FD,linspace(0,2*pi,length(X)),abs(X));
xlim(handles.FD,[0,2*pi])
end
%---ExecutesonbuttonpressinExport.
functionExport_Callback(hObject,eventdata,handles)
%hObjecthandletoExport(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
globalX;
globalX_flag;
if(X_flag)
assignin('base',get(handles.edit4,'String'),X);
end
%---Executesduringobjectcreation,aftersettingallproperties.
functiontext1_CreateFcn(hObject,eventdata,handles)
%hObjecthandletotext1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
globalx_flag;
globalX_flag;
globalx;
globalX;
x_flag=0;
X_flag=0;
x=0;
X=0;
functionname_Callback(hObject,eventdata,handles)
%hObjecthandletoname(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%Hints:
get(hObject,'String')returnscontentsofnameastext
%str2double(get(hObject,'String'))returnscontentsofnameasadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionname_CreateFcn(hObject,eventdata,handles)
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
%---Executesonbuttonpressinimport.
functionimport_Callback(hObject,eventdata,handles)
globalx;
globalx_flag;
globalsignal_name;
signal_name=get(handles.name,'String');
x='empty';
set(handles.name,'String','Notexist,Retry!
');
x=evalin('base',signal_name);
set(handles.name,'String','Succeed');
x_flag=1;
if(x_flag)
plot(handles.TD,0:
(length(x)-1),x);
end
set(handles.edit4,'String',strcat('DFT_',signal_name));
functionedit4_Callback(hObject,eventdata,handles)
functionedit4_CreateFcn(hObject,eventdata,handles)
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
globalsignal_name;
2.基于MatlabGUI的数字滤波器分析设计
界面设计:
程序设计:
functionvarargout=filter(varargin)
%EDITByYuYizhe
%V1.0
%2011/11/20
%allrightreserve
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@filter_OpeningFcn,...
'gui_OutputFcn',@filter_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforefilterismadevisible.
functionfilter_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%vararginunrecognizedPropertyName/PropertyValuepairsfromthe
%commandline(seeVARARGIN)
%Choosedefaultcommandlineoutputforfilter
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesfilterwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=filter_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
functiontext1_CreateFcn(hObject,eventdata,handles)
globalch1;
globalch2;
globalch31;
globalch32;
ch1=1;
ch2=1;
ch31=1;
ch32=1;
functionIIRtype_Callback(hObject,eventdata,handles)
globalch1;
globalch2;
globalch31;
globalch32;
ch31=get(hObject,'Value');
functionIIRtype_CreateFcn(hObject,eventdata,handles)
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functione11_Callback(hObject,eventdata,handles)
functione11_CreateFcn(hObject,eventdata,handles)
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
functione12_Callback(hObject,eventdata,handles)
functione12_CreateFcn(hObject,eventdata,handles)
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundCo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 数字信号处理 实验报告 程序 数字信号 处理 实验 报告