📄 testssba.m
字号:
new_system([sys,'/',['SSB-ADM',13,'baseband']])
set_param([sys,'/',['SSB-ADM',13,'baseband']],'Location',[283,122,827,380])
add_block('built-in/Outport',[sys,'/',['SSB-ADM',13,'baseband/out_1']])
set_param([sys,'/',['SSB-ADM',13,'baseband/out_1']],...
'position',[480,70,500,90])
add_block('built-in/Note',[sys,'/',['SSB-ADM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[285,280,290,285])
add_block('built-in/Filter',[sys,'/',['SSB-ADM',13,'baseband/Filter']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Filter']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[390,61,445,99])
add_block('built-in/Product',[sys,'/',['SSB-ADM',13,'baseband/Product']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Product']],...
'position',[260,43,290,67])
add_block('built-in/Sum',[sys,'/',['SSB-ADM',13,'baseband/Sum']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Sum']],...
'inputs','+-',...
'position',[335,70,355,90])
add_block('built-in/Constant',[sys,'/',['SSB-ADM',13,'baseband/Constant']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Constant']],...
'Value','x1',...
'position',[155,40,175,60])
add_block('built-in/Demux',[sys,'/',['SSB-ADM',13,'baseband/Demux']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Demux']],...
'outputs','2',...
'position',[105,105,160,140])
add_block('built-in/Product',[sys,'/',['SSB-ADM',13,'baseband/Product1']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Product1']],...
'position',[260,123,290,147])
add_block('built-in/Inport',[sys,'/',['SSB-ADM',13,'baseband/in_1']])
set_param([sys,'/',['SSB-ADM',13,'baseband/in_1']],...
'position',[55,115,75,135])
add_block('built-in/Constant',[sys,'/',['SSB-ADM',13,'baseband/Constant1']])
set_param([sys,'/',['SSB-ADM',13,'baseband/Constant1']],...
'Value','x2',...
'position',[150,175,170,195])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[450,80;475,80])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[360,80;385,80])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[80,125;100,125])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[295,135;305,135;305,85;330,85])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[295,55;305,55;305,75;330,75])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[180,50;255,50])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[165,130;255,130])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[165,115;230,115;230,60;255,60])
add_line([sys,'/',['SSB-ADM',13,'baseband']],[175,185;210,185;210,140;255,140])
set_param([sys,'/',['SSB-ADM',13,'baseband']],...
'Mask Display','plot(0,0,100,100,x,y,u,v);SSB ADM',...
'Mask Type','SSB-SC ADM CE')
set_param([sys,'/',['SSB-ADM',13,'baseband']],...
'Mask Dialogue','Demodulate the complex envelope of a\nSSB AM modulated signal.|Lowpass filter numerator:|Lowpass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['SSB-ADM',13,'baseband']],...
'Mask Translate','num=@1;den=@2;Ph=@3;ts=@4;x1=cos(-Ph);x2=sin(-Ph);[x,y]=moduicon(2);[u,v]=cmplxicn(0,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['SSB-ADM',13,'baseband']],...
'Mask Help','This block demodulates the complex envelope of a SSB-SC-AM modulated signal. This block requires you to specify a lowpass filter which eliminates the carrier frequency and keeps the message signal. This block takes a complex signal.')
set_param([sys,'/',['SSB-ADM',13,'baseband']],...
'Mask Entries','num\/den\/pi/4\/ts\/')
% Finished composite block ['SSB-ADM',13,'baseband'].
set_param([sys,'/',['SSB-ADM',13,'baseband']],...
'ForeGround',2,...
'hide name',0,...
'position',[225,193,305,237])
% Subsystem 'LSB-AM'.
new_system([sys,'/','LSB-AM'])
set_param([sys,'/','LSB-AM'],'Location',[76,558,518,713])
% Subsystem 'LSB-AM/QAM discr-filt'.
new_system([sys,'/','LSB-AM/QAM discr-filt'])
set_param([sys,'/','LSB-AM/QAM discr-filt'],'Location',[302,478,834,743])
add_block('built-in/Clock',[sys,'/','LSB-AM/QAM discr-filt/Clock'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Clock'],...
'position',[80,85,100,105])
add_block('built-in/Gain',[sys,'/','LSB-AM/QAM discr-filt/Gain'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Gain'],...
'Gain','Fc',...
'position',[130,76,180,114])
add_block('built-in/Inport',[sys,'/','LSB-AM/QAM discr-filt/in_2'])
set_param([sys,'/','LSB-AM/QAM discr-filt/in_2'],...
'Port','2',...
'position',[160,145,180,165])
add_block('built-in/Inport',[sys,'/','LSB-AM/QAM discr-filt/in_1'])
set_param([sys,'/','LSB-AM/QAM discr-filt/in_1'],...
'position',[160,30,180,50])
add_block('built-in/Outport',[sys,'/','LSB-AM/QAM discr-filt/out_1'])
set_param([sys,'/','LSB-AM/QAM discr-filt/out_1'],...
'position',[490,90,510,110])
add_block('built-in/Sum',[sys,'/','LSB-AM/QAM discr-filt/Sum2'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Sum2'],...
'position',[430,90,450,110])
add_block('built-in/Product',[sys,'/','LSB-AM/QAM discr-filt/Product1'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Product1'],...
'position',[355,112,380,143])
add_block('built-in/Product',[sys,'/','LSB-AM/QAM discr-filt/Product'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Product'],...
'position',[355,47,380,78])
add_block('built-in/Note',[sys,'/','LSB-AM/QAM discr-filt/Ref: Hambley: An Intro to Comm. Systems. pp72'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Ref: Hambley: An Intro to Comm. Systems. pp72'],...
'position',[250,305,255,310])
add_block('built-in/Fcn',[sys,'/','LSB-AM/QAM discr-filt/Fcn1'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Fcn1'],...
'Expr','sin(u[1]+Ph)',...
'position',[230,105,325,135])
add_block('built-in/Fcn',[sys,'/','LSB-AM/QAM discr-filt/Fcn'])
set_param([sys,'/','LSB-AM/QAM discr-filt/Fcn'],...
'Expr','cos(u[1]+Ph)',...
'position',[230,55,325,85])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[185,95;200,95;200,70;225,70])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[200,95;200,120;225,120])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[105,95;125,95])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[385,130;400,130;400,105;425,105])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[385,65;400,65;400,95;425,95])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[185,155;330,155;330,135;350,135])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[330,120;350,120])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[185,40;335,40;335,55;350,55])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[330,70;350,70])
add_line([sys,'/','LSB-AM/QAM discr-filt'],[455,100;485,100])
set_param([sys,'/','LSB-AM/QAM discr-filt'],...
'Mask Display','QM DSB\nAM',...
'Mask Type','Quadrature Multiplexed DSB-SC AM')
set_param([sys,'/','LSB-AM/QAM discr-filt'],...
'Mask Dialogue','Quadrature multiplexed double-sideband suppressed-carrier amplitude modulation:|Amplitude scale factor:|Carrier frequency (Hz):|Initial phase (rad):|Sample time:')
set_param([sys,'/','LSB-AM/QAM discr-filt'],...
'Mask Translate','Am=@1;Fc=@2*2*pi;Ph=@3;ts=@4;')
set_param([sys,'/','LSB-AM/QAM discr-filt'],...
'Mask Help','The Quadratic Multiplexed Double-Sideband-Supressed-Carrier AM block causes the amplitude of the sinusoidal carrier to depend on the input message signal, resulting in amplitude modulation. There are two input signal being modulated at the same time by using two orthogonal sinusoidal carriers.')
set_param([sys,'/','LSB-AM/QAM discr-filt'],...
'Mask Entries','1\/Fc\/Ph\/ts\/')
% Finished composite block 'LSB-AM/QAM discr-filt'.
set_param([sys,'/','LSB-AM/QAM discr-filt'],...
'ForeGround',3,...
'position',[280,45,360,85])
add_block('built-in/Outport',[sys,'/','LSB-AM/out_1'])
set_param([sys,'/','LSB-AM/out_1'],...
'position',[400,55,420,75])
add_block('built-in/Note',[sys,'/','LSB-AM/Ref: Hambley: An Intro to Comm. Systems. pp82'])
set_param([sys,'/','LSB-AM/Ref: Hambley: An Intro to Comm. Systems. pp82'],...
'position',[355,290,360,295])
add_block('built-in/Inport',[sys,'/','LSB-AM/in_1'])
set_param([sys,'/','LSB-AM/in_1'],...
'position',[30,20,50,40])
add_block('built-in/Filter',[sys,'/','LSB-AM/Filter'])
set_param([sys,'/','LSB-AM/Filter'],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[95,66,150,104])
add_block('built-in/Gain',[sys,'/','LSB-AM/Gain'])
set_param([sys,'/','LSB-AM/Gain'],...
'Gain','k',...
'position',[185,72,215,98])
add_line([sys,'/','LSB-AM'],[365,65;395,65])
add_line([sys,'/','LSB-AM'],[55,30;255,30;255,55;275,55])
add_line([sys,'/','LSB-AM'],[55,30;65,30;65,85;90,85])
add_line([sys,'/','LSB-AM'],[155,85;180,85])
add_line([sys,'/','LSB-AM'],[220,85;240,85;240,75;275,75])
set_param([sys,'/','LSB-AM'],...
'Mask Display','plot(0,0,100,100,x,y);SSB AM',...
'Mask Type','Passband SSB-AM')
set_param([sys,'/','LSB-AM'],...
'Mask Dialogue','Modulate the input signal using \nsingle-sideband amplitude modulation\nmethod with Hilbert transform filter.|Carrier frequency (Hz):|Initial Phase (rad):|Bandwidth of the input signal (Hz):|Time delay for Hilbert transform filter (sec):|Sample time (sec):|"upper" sideband or "lower" sideband:')
set_param([sys,'/','LSB-AM'],...
'Mask Translate','Fc=@1;Ph=@2;ban=@3;dly=@4;ts=@5;sd=@6;if ban>1/ts, ban=1/ts-ts;end;[num,den]=hilbiir(ts,dly,ban);pi2=2*pi;pih=pi/2;k=-1;if sd(1)==''l'',k=1;end;[x,y]=moduicon(1);')
set_param([sys,'/','LSB-AM'],...
'Mask Help','This block modulates the input signal using the SSB-AM method. The block uses Hilbert transfer filter. Hilbert transform filter is a non-causal filter. A positive time delay is requested in the implementation. You can specify the modulation to be an USB or LSB modulation.')
set_param([sys,'/','LSB-AM'],...
'Mask Entries','100/2/pi\/pi/2\/1/ts/10\/ts*10\/ts\/''lower''\/')
% Finished composite block 'LSB-AM'.
set_param([sys,'/','LSB-AM'],...
'ForeGround',4,...
'position',[110,118,190,162])
% Subsystem 'LSB-AM spectrum'.
new_system([sys,'/','LSB-AM spectrum'])
set_param([sys,'/','LSB-AM spectrum'],'Location',[276,440,798,541])
% Subsystem 'LSB-AM spectrum/Magnitude'.
new_system([sys,'/','LSB-AM spectrum/Magnitude'])
set_param([sys,'/','LSB-AM spectrum/Magnitude'],'Location',[30,216,487,404])
add_block('built-in/Note',[sys,'/','LSB-AM spectrum/Magnitude/R'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/R'],...
'position',[245,55,250,60])
add_block('built-in/Inport',[sys,'/','LSB-AM spectrum/Magnitude/in_1'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/in_1'],...
'position',[15,80,35,100])
add_block('built-in/Outport',[sys,'/','LSB-AM spectrum/Magnitude/Magnitude'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Magnitude'],...
'position',[410,80,430,100])
add_block('built-in/Sum',[sys,'/','LSB-AM spectrum/Magnitude/R^2+I^2'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/R^2+I^2'],...
'position',[275,64,300,111])
add_block('built-in/Demux',[sys,'/','LSB-AM spectrum/Magnitude/Split'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Split'],...
'outputs','2',...
'Mask Display','plot(0,0,100,100,x,y,x1,y1)',...
'Mask Type','Complex to Real/Imag',...
'Mask Dialogue','Real and imaginary components of complex vector.')
set_param([sys,'/','LSB-AM spectrum/Magnitude/Split'],...
'Mask Translate','o=get_param(gcb,''orientation''); [x,y]=cmplxicn(0,50,o); [x1,y1]=joinicon(o+2); ')
set_param([sys,'/','LSB-AM spectrum/Magnitude/Split'],...
'Mask Help','The Decomposes a complex vector into its real and imaginary components using a Demux block. The real part is directed to output 1, and the imaginary to output 2.')
set_param([sys,'/','LSB-AM spectrum/Magnitude/Split'],...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -