西北工业大学Matlab实验报告(2016)(8)

2018-11-24 18:11

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit7_Callback(hObject, eventdata, handles) %方波频率 % --- Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in checkbox1. function checkbox3_Callback(hObject, eventdata, handles) %三角波输入 % --- Executes during object creation, after setting all properties. function checkbox3_CreateFcn(hObject, eventdata, handles) function edit3_Callback(hObject, eventdata, handles) %三角波幅值 % --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit8_Callback(hObject, eventdata, handles) %三角波频率 % --- Executes during object creation, after setting all properties. function edit8_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in checkbox1. function checkbox4_Callback(hObject, eventdata, handles) %语音信号输入

36

% --- Executes during object creation, after setting all properties. function checkbox4_CreateFcn(hObject, eventdata, handles) function edit4_Callback(hObject, eventdata, handles) %语音信号幅值 % --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in checkbox1. function checkbox5_Callback(hObject, eventdata, handles) %白噪声输入 % --- Executes during object creation, after setting all properties. function checkbox5_CreateFcn(hObject, eventdata, handles) function edit5_Callback(hObject, eventdata, handles) %白噪声幅值 % --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) %信号输入控制 global N;%信号取样数 N=110033; global n;%信号取样点 n=1:N; sgn1=get(handles.checkbox1,'value');%5类信号选择与否 sgn2=get(handles.checkbox2,'value'); sgn3=get(handles.checkbox3,'value'); sgn4=get(handles.checkbox4,'value'); sgn5=get(handles.checkbox5,'value');

37

rag1=str2num(get(handles.edit1,'string'));%5类信号幅值输入 rag2=str2num(get(handles.edit2,'string')); rag3=str2num(get(handles.edit3,'string')); rag4=str2num(get(handles.edit4,'string')); rag5=str2num(get(handles.edit5,'string')); frq1=str2num(get(handles.edit6,'string'));%5类信号频率输入 frq2=str2num(get(handles.edit7,'string')); frq3=str2num(get(handles.edit8,'string')); x1=sin(frq1*pi*n/N*2);%产生正弦波 x2=square(frq2*pi*n/N*2);%产生方波 x3=sawtooth(frq3*pi*n/N*2,0.5);%产生三角波 global x4;%读取语音信号 global fs; [x4,fs]=wavread('speech_dft.wav'); x4=x4'; x5=2*rand(1,N)-1;%产生白噪声 global x;%选择信号叠加的输入信号 x=rag1*sgn1.*x1+rag2*sgn2.*x2+rag3*sgn3.*x3+rag4*sgn4.*x4+rag5*sgn5.*x5; axes(handles.axes1); plot(x) title('输入信号时间序列'); % --- Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) %选择DFT变换 % --- Executes on button press in radiobutton2. function radiobutton2_Callback(hObject, eventdata, handles) %选择DCT变换 % --- Executes on button press in radiobutton3. function radiobutton3_Callback(hObject, eventdata, handles) %选择DWT变换 % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) %对输入信号进行DFT、DCT和DWT变换 global N;%全局变量

38

global n; global x; slect1=get(handles.radiobutton1,'value');%3种变换选择 slect2=get(handles.radiobutton2,'value'); slect3=get(handles.radiobutton3,'value'); if slect1%选择DFT变换 y=fft(x,N);?T变换 axes(handles.axes2); plot(abs(y(1:(N+1)/2))) title('输入信号的DFT变换'); else if slect2%选择DCT变换 y=dct(x);üT变换 axes(handles.axes2); plot(abs(y)) title('输入信号的DCT变换'); else if slect3%选择DWT变换 [cA,cD]=dwt(x,'db1');%DWT变换 %近似系数CA1和细节系数CD1 axes(handles.axes2); plot(1:(N+1)/2,abs(cA),1:(N+1)/2,abs(cD)) legend('cA','cD'); title('输入信号的DWT变换'); end end end % --- Executes on button press in radiobutton4. function radiobutton4_Callback(hObject, eventdata, handles) %选择低通滤波 set(handles.edit9,'Enable','off');%截止低频输入框灰暗显示 set(handles.edit10,'Enable','on');%截止高频输入框使能 % --- Executes on button press in radiobutton5. function radiobutton5_Callback(hObject, eventdata, handles) %选择低通滤波 set(handles.edit9,'Enable','on');%截止低频输入框使能 set(handles.edit10,'Enable','off');%截止高频输入框灰暗显示 % --- Executes on button press in radiobutton6. function radiobutton6_Callback(hObject, eventdata, handles) %选择低通滤波 set(handles.edit9,'Enable','on');%截止低频输入框使能

39

set(handles.edit10,'Enable','on');%截止高频输入框使能 function edit9_Callback(hObject, eventdata, handles) %截止低频输入 % --- Executes during object creation, after setting all properties. function edit9_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit10_Callback(hObject, eventdata, handles) %截止高频输入 % --- Executes during object creation, after setting all properties. function edit10_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) %实现低通、高通、带通滤波,得到输出信号的频域特性和时间序列 global N;%全局变量 global x; P=5;%滤波结束 slect4=get(handles.radiobutton4,'value');%滤波类型选择 slect5=get(handles.radiobutton5,'value'); slect6=get(handles.radiobutton6,'value'); if slect4%选择低通滤波 fs=str2num(get(handles.edit10,'string'));%得到截止高频 [b,a]=butter(P,fs/N);%巴特沃斯低通滤波器 y=filter(b,a,x);%滤波后信号 axes(handles.axes3); plot(y) title('低通滤波时间序列'); Y=fft(y,N);%滤波后信号频域特性 axes(handles.axes4); plot(abs(Y(1:(N+1)/2))); title('低通滤波频域特性');

40


西北工业大学Matlab实验报告(2016)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑所有英语词汇

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: