0
点赞
收藏
分享

微信扫一扫

【信号处理】数字信号处理系统含Matlab源码

梦想家们 2022-03-12 阅读 63

1 简介

​当前计算机应用朝着多领域发展,信息化技术涉及多方面的工作,主要包括计算机的广泛利用;企业内部网的建立并与外界实现网络互联;方便访问和利用的信息资源;生产过程控制方面的信息技术应用;计算机辅助设计用于设计新产品;企业生产,流通或服务信息系统有效运转并利用信息网络等手段与外界进行商务往来;建立企业综合管理信息系统等等.随着计算机新技术的不断出现,信息化的内容和工作也将不断扩展.凡是关心国家信息化建设.

2 部分代码

function varargout = main(varargin)% MAIN M-file for main.fig%      MAIN, by itself, creates a new MAIN or raises the existing%      singleton*.%%      H = MAIN returns the handle to a new MAIN or the handle to%      the existing singleton*.%%      MAIN('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in MAIN.M with the given input arguments.%%      MAIN('Property','Value',...) creates a new MAIN or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before main_OpeningFunction gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to main_OpeningFcn via varargin.%%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one%      instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help main% Last Modified by GUIDE v2.5 08-Jul-2020 22:07:09% Begin initialization code - DO NOT EDITglobal y;global z;global mix;global t;global amp;global fre;global nak;gui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @main_OpeningFcn, ...                   'gui_OutputFcn',  @main_OutputFcn, ...                   'gui_LayoutFcn',  [] , ...                   'gui_Callback',   []);if nargin & isstr(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else    gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before main is made visible.function main_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% varargin   command line arguments to main (see VARARGIN)% Choose default command line output for mainhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes main wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = main_OutputFcn(hObject, eventdata, handles)% varargout  cell array for returning output args (see VARARGOUT);% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes during object creation, after setting all properties.function amp_edit_CreateFcn(hObject, eventdata, handles)% hObject    handle to amp_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction amp_edit_Callback(hObject, eventdata, handles)global amp;amp=str2num(get(handles.amp_edit,'String'));% hObject    handle to amp_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of amp_edit as text%        str2double(get(hObject,'String')) returns contents of amp_edit as a double% --- Executes during object creation, after setting all properties.function fre_edit_CreateFcn(hObject, eventdata, handles)% hObject    handle to fre_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction fre_edit_Callback(hObject, eventdata, handles)global fre;fre=str2num(get(handles.fre_edit,'String'));% hObject    handle to fre_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of fre_edit as text%        str2double(get(hObject,'String')) returns contents of fre_edit as a double% --- Executes on button press in sin_button.function sin_button_Callback(hObject, eventdata, handles)global y;global t;global amp;global fre;global nak;amp=str2num(get(handles.amp_edit,'String'));fre=str2num(get(handles.fre_edit,'String'));nak=50*fre;t=0:1/nak:15;y=zeros(length(t),length(amp),length(fre));cla;for k=1:length(amp)    for j=1:length(fre)        for i=1:length(t)         y(i,k,j)=amp(k)*sin(2*pi*fre(j).*t(i));        end   findobj('tag','sig_axes');   plot(t, y(:,k,j),'parent',handles.sig_axes);    endend% hObject    handle to sin_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on button press in tri_button.function tri_button_Callback(hObject, eventdata, handles)global y;global t;global amp;global fre;global nak;amp=str2num(get(handles.amp_edit,'String'));fre=str2num(get(handles.fre_edit,'String'));nak=50*fre;t=0:1/nak:15;y=zeros(length(t),length(amp),length(fre));cla;for k=1:length(amp)    for j=1:length(fre)        pe=1/fre(j);        NUM=15*fre(j);        for i=1:length(t)            for l=1:NUM            %for l=0:(15*fre(j)-1)              %  if (t(i)>=l/fre(j) && t(i)<=(l/fre(j)+1/(2*fre(j))))              if (t(i)>=(l-1)*pe && t(i)<=(l-1)*pe+pe/2)                  y(i,k,j)=2*amp(k)/pe*t(i)-2*amp(k)*(l-1);                    %y(i)=amp(k)*2*fre(j)*t(i)-2*l*amp(k);              else if (t(i)<=l*pe && t(i)>=(l-1)*pe+pe/2)                  y(i,k,j)=-2*amp(k)/pe*t(i)+2*amp(k)*l;                    %y(i)=-amp(k)*2*fre(j)*t(i)+2*l*amp(k);                    % end              end          end          end        end           % y(:,k,j)=amp(k)*sin(2*pi*fre(j).*t);    findobj('tag','sig_axes');    plot(t, 2*y(:,k,j)-amp,'parent',handles.sig_axes);     endend        % hObject    handle to tri_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on button press in rec_button.function rec_button_Callback(hObject, eventdata, handles)global y;global t;global amp;global fre;global nak;amp=str2num(get(handles.amp_edit,'String'));fre=str2num(get(handles.fre_edit,'String'));nak=50*fre;t=0:1/nak:15;y=zeros(length(t),length(amp),length(fre));cla;for k=1:length(amp)    for j=1:length(fre)        pe=1/fre(j);        NUM=15*fre(j);        for i=1:length(t)            for l=1:NUM            %for l=0:(15*fre(j)-1)              %  if (t(i)>=l/fre(j) && t(i)<=(l/fre(j)+1/(2*fre(j))))              if (t(i)>=(l-1)*pe && t(i)<=(l-1)*pe+pe/2)                  y(i,k,j)=-amp(k);                    %y(i)=amp(k)*2*fre(j)*t(i)-2*l*amp(k);              else if (t(i)<l*pe && t(i)>(l-1)*pe+pe/2)                  y(i,k,j)=amp(k);                    %y(i)=-amp(k)*2*fre(j)*t(i)+2*l*amp(k);                    % end              end          end          end        end     findobj('tag','sig_axes');     plot(t, y(:,k,j),'parent',handles.sig_axes);     endend% hObject    handle to rec_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes during object creation, after setting all properties.function snr_edit_CreateFcn(hObject, eventdata, handles)% hObject    handle to snr_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction snr_edit_Callback(hObject, eventdata, handles)snr=str2num(get(handles.snr_edit,'String'));% hObject    handle to snr_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of snr_edit as text%        str2double(get(hObject,'String')) returns contents of snr_edit as a double% --- Executes on button press in plot1_button.function plot1_button_Callback(hObject, eventdata, handles)global z;global t;global amp;global fre;global nak;amp=str2num(get(handles.amp_edit,'String'));fre=str2num(get(handles.fre_edit,'String'));snr=str2num(get(handles.snr_edit,'String'));nak=50*fre;snr1=10^(snr/10);t=0:1/nak:15;% x=ones(1,length(t));% z=awgn(x,snr1,'measured')-1;deta=sqrt((amp^2)/(2*snr1));z=randn(1,length(t))*deta;% hObject    handle to plot1_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)findobj('tag','noi_axes');plot(t,z,'parent',handles.noi_axes); % --- Executes on button press in plot2_button.function plot2_button_Callback(hObject, eventdata, handles)global y;global z;global mix;global t;global amp;global fre;global nak;amp=str2num(get(handles.amp_edit,'String'));fre=str2num(get(handles.fre_edit,'String'));nak=50*fre;t=0:1/nak:15;mix=zeros(1,length(t));for k=1:length(amp)    for j=1:length(fre)          mix=y(:,k,j)'+z;    endend% hObject    handle to plot2_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)findobj('tag','add_axes');plot(t,mix,'parent',handles.add_axes); % --- Executes on button press in back_button.function back_button_Callback(hObject, eventdata, handles)close all;% hObject    handle to back_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on button press in next_button.function next_button_Callback(hObject, eventdata, handles)fig=openfig('filterfig.fig');handles = guihandles(fig);guidata(fig, handles);% get(handles.filter_figure);% hObject    handle to next_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on button press in quit_button.function quit_button_Callback(hObject, eventdata, handles)close all;% hObject    handle to quit_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)

3 仿真结果

4 参考文献

[1]赵红怡, 张常年. 数字信号处理及其MATLAB实现[M]. 化学工业出版社, 2002.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

举报

相关推荐

数字信号处理-基础

0 条评论