基于MATLAB的数字基带传输系统(7)

2019-05-24 14:27

附 录

JDCS.m(创建GUI时对应生成的m文件) function varargout = JDCS(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', n mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @JDCS_OpeningFcn, ... 'gui_OutputFcn', @JDCS_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

function JDCS_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles);

function varargout = JDCS_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function Untitled_1_Callback(hObject, eventdata, handles) set(handles.panel1,'Visible','on'); set(handles.panel2,'Visible','off'); set(handles.panel3,'Visible','off'); set(handles.panel4,'Visible','off'); set(handles.panel5,'Visible','off');

function Untitled_2_Callback(hObject, eventdata, handles) set(handles.panel2,'Visible','on'); set(handles.panel1,'Visible','off'); set(handles.panel3,'Visible','off'); set(handles.panel4,'Visible','off'); set(handles.panel5,'Visible','off');

% -------------------------------------------------------------------- function Untitled_3_Callback(hObject, eventdata, handles) set(handles.panel3,'Visible','on'); set(handles.panel1,'Visible','off'); set(handles.panel2,'Visible','off');

25

set(handles.panel4,'Visible','off'); set(handles.panel5,'Visible','off');

% -------------------------------------------------------------------- function Untitled_4_Callback(hObject, eventdata, handles) set(handles.panel4,'Visible','on'); set(handles.panel1,'Visible','off'); set(handles.panel2,'Visible','off'); set(handles.panel3,'Visible','off'); set(handles.panel5,'Visible','off');

% -------------------------------------------------------------------- function Untitled_5_Callback(hObject, eventdata, handles) set(handles.panel5,'Visible','on'); set(handles.panel1,'Visible','off'); set(handles.panel2,'Visible','off'); set(handles.panel3,'Visible','off'); set(handles.panel4,'Visible','off');

% --------------------------------------------------------------------

% --- Executes on button press in pushbutton_plot_xy.

function pushbutton_plot_xy_Callback(hObject, eventdata, handles) mxs=str2num(get(handles.edit_xy,'String')); mxh=get(handles.listbox_mx,'Value'); switch (mxh) case 1

[y,t]=NRZ(mxs); case 2

[y,t]=RZ(mxs); case 3

[y,t]=DNRZ(mxs); case 4

[y,t]=DRZ(mxs); case 5

[y,t]=MACH(mxs); case 6

[y,t]=DMACH(mxs); case 7

[y,t]=MILER(mxs); otherwise ; end

axes(handles.axes_xy) plot(t,y);

max_y=max(y); min_y=min(y);

26

axis([0 10 min_y-0.1 max_y+0.1]); assignin('base','mx',mxs); [f,glp]=GLP(mxh); axes(handles.axes12)

plot(f,10*log10(abs(glp).^2))

% --- Executes on button press in pushbutton_close_xy.

function pushbutton_close_xy_Callback(hObject, eventdata, handles) set(handles.panel2,'Visible','off');

function edit_xy_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton_sj.

function pushbutton_sj_Callback(hObject, eventdata, handles) mx=round(rand(1,10)); mx_string=num2str(mx);

set(handles.edit_xy,'string',mx_string);

function listbox_mx_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton_plot_lb.

function pushbutton_plot_lb_Callback(hObject, eventdata, handles) mx_tou=str2num(get(handles.edit_xy,'string')); mx_tou=sign(mx_tou-0.5);

num_lb=get(handles.listbox_lb,'value'); a=str2num(get(handles.edit_a,'string')); a

b=get(handles.radiobutton_noise,'value'); b_noise=str2num(get(handles.edit_noise,'string')); global st; Ts=1; N=15;

eye_num=6; N_data=1000; dt=Ts/N;

t=-3*Ts:dt:3*Ts;

d=sign(randn(1,N_data-20)); d=[mx_tou,mx_tou,d]; assignin('base','f_mx',d); global f_mx; f_mx=(d+1)/2;

dd=sigexpand(d,N);

ht_rcos=sinc(t/Ts).*(cos(a*pi*t/Ts))./(1-4*a^2*t.^2/Ts^2+eps); % ht_rcos=rcosine(1,15,a);

ht_rcos_sqrt=rcosine(1,15,'sqrt',a);

27

switch(num_lb) case 1

ht=rcosine(1,15,'normal',0); case 2

ht=ht_rcos; case 3

ht=ht_rcos_sqrt; otherwise end;

st=conv(dd,ht);

tt=-3*Ts:dt:(N_data+3)*N*dt-dt; if b==1

st=awgn(st,b_noise); else end;

assignin('base','f_st',st); assignin('base','f_tt',tt); axes(handles.axes_lb1) plot(tt,st);

axis([0,40,min(st)-0.1,max(st)+0.1]); axes(handles.axes_lb2) cla reset

ss=zeros(1,eye_num*N); ttt=0:dt:eye_num*N*dt-dt; for k=3:50

ss=st(k*N+1:(k+eye_num)*N); drawnow; plot(ttt,ss); hold on; end;

% --- Executes on button press in pushbutton_close_lb.

function pushbutton_close_lb_Callback(hObject, eventdata, handles) set(handles.panel3,'Visible','off');

% --- Executes on selection change in listbox_lb.

function listbox_lb_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit_a_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function edit_a_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all properties.

28

function edit_noise_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton_plot_slb.

function pushbutton_plot_slb_Callback(hObject, eventdata, handles) global st;

a=str2num(get(handles.edit_slb,'string')); num_slb=get(handles.listbox_slb,'value'); Ts=1; N=15;

eye_num=6; N_data=1000; dt=Ts/N;

t=-3*Ts:dt:3*Ts;

ht_rcos=sinc(t/Ts).*(cos(a*pi*t/Ts))./(1-4*a^2*t.^2/Ts^2+eps); % ht_rcos=rcosine(1,15,a);

ht_rcos_sqrt=rcosine(1,15,'sqrt',a); switch(num_slb) case 1

ht=rcosine(1,15,'normal',0); case 2

ht=ht_rcos; case 3

ht=ht_rcos_sqrt; otherwise end;

sts=conv(st,ht);

tt=-6*Ts:dt:(N_data+6)*N*dt-dt; assignin('base','s_st',sts); global s_st1; s_st1=sts;

assignin('base','s_tt',tt);

axes(handles.axes_slb1) plot(tt,sts); axis([0,40,min(sts)-0.1,max(sts)+0.1]); axes(handles.axes_slb2) cla reset ss=zeros(1,eye_num*N); ttt=0:dt:eye_num*N*dt-dt; for k=3:50

ss=sts(k*N+1:(k+eye_num)*N); drawnow; plot(ttt,ss); hold on; end;

29


基于MATLAB的数字基带传输系统(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新初中人教版七年级数学上册课题:余角和补角公开课教案

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

马上注册会员

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