⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tddmmask.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 3 页
字号:
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[410,40;440,40])
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Display','discrete\nmod-int',...
		'Mask Type','Module Integrator')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:|Sample time:')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Translate','init=@2; modu=@1;ts=@3;')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Help','The absolute value of this integrator will not exceed the specified module bound. The state value is set to be zero when the module bound is reached. This block can only be used for scale value calculation.')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Entries','1\/0\/ts\/')


%     Finished composite block ['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator'].

set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'orientation',2,...
		'position',[365,105,425,145])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[400,60;690,60])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[655,60;645,115])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[315,185;300,185;290,135])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[305,125;290,125])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[360,125;345,125])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[485,225;655,225;645,125])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[155,225;420,225])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[70,55;120,55])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[90,55;90,230;120,230])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[110,180;105,180;105,220;120,220])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[605,120;600,120])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[435,125;430,125])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[505,175;480,175;480,130;465,130])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[120,130;105,130;105,65;120,65])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[155,60;335,60])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[530,120;465,120])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[260,130;215,130])
add_line([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],[240,130;240,180;225,180])
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);DSB ADM',...
		'Mask Type','Passband DSB-SC ADM')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],...
		'Mask Dialogue','Demodulate a DSB-SC AM modulated signal.|Carrier frequency (Hz):|Lowpass filter numerator:|Lowpass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],...
		'Mask Translate','Fc=@1;num=@2;den=@3;Ph=@4;pi2=pi*2;ts=@5;[x,y]=moduicon(2);')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],...
		'Mask Help','This block demodulates a DSB-SC-AM modulated signal using Costas phase-locked loop method. This block uses a discrete-time lowpass filter that passes the signal message and eliminates the carrier signal. ')
set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],...
		'Mask Entries','Fc\/num\/den\/Ph\/ts\/')


%     Finished composite block ['MASK demod/DSB-SC-ADM',13,'passband'].

set_param([sys,'/',['MASK demod/DSB-SC-ADM',13,'passband']],...
		'ForeGround',4,...
		'position',[90,18,170,62])

add_block('built-in/Outport',[sys,'/','MASK demod/out_1'])
set_param([sys,'/','MASK demod/out_1'],...
		'position',[360,30,380,50])

add_block('built-in/Inport',[sys,'/','MASK demod/in_1'])
set_param([sys,'/','MASK demod/in_1'],...
		'position',[30,30,50,50])
add_line([sys,'/','MASK demod'],[55,40;85,40])
add_line([sys,'/','MASK demod'],[175,40;210,40])
add_line([sys,'/','MASK demod'],[300,40;355,40])
set_param([sys,'/','MASK demod'],...
		'Mask Display','plot(0,0,100,100,x,y);MASK',...
		'Mask Type','Passband MASK demodulation')
set_param([sys,'/','MASK demod'],...
		'Mask Dialogue','Demodulate a MASK modulated signal.|M-ary number (output integer in range [0, M-1]):|Symbol interval (sec):|Carrier Frequency (Hz):|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/','MASK demod'],...
		'Mask Translate','M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;[num,den]=butter(5,Fc*2*ts);[x,y]=moduicon(6);')
set_param([sys,'/','MASK demod'],...
		'Mask Help','This block demodulates a MASK modulated signal. The output signals are digits in range [0, M-1]. When the symbol interval is a two element vector, the second element is the offset (default 0). A default lowpass filter is used in the demodulation, which is [num, den]=butter(5, Fc*2*ts). Ungroup this block to specify the numerator and denominator of the lowpass filter.')
set_param([sys,'/','MASK demod'],...
		'Mask Entries','M\/td\/100/2/pi\/0\/ts\/')


%     Finished composite block 'MASK demod'.

set_param([sys,'/','MASK demod'],...
		'hide name',0,...
		'position',[330,53,410,97])


%     Subsystem  'Error rate1'.

new_system([sys,'/','Error rate1'])
set_param([sys,'/','Error rate1'],'Location',[255,368,509,510])

add_block('built-in/Inport',[sys,'/','Error rate1/in_2'])
set_param([sys,'/','Error rate1/in_2'],...
		'Port','2',...
		'position',[15,60,35,80])

add_block('built-in/Inport',[sys,'/','Error rate1/in_1'])
set_param([sys,'/','Error rate1/in_1'],...
		'position',[15,45,35,65])

add_block('built-in/Mux',[sys,'/','Error rate1/Mux'])
set_param([sys,'/','Error rate1/Mux'],...
		'inputs','2',...
		'position',[65,46,100,79])

add_block('built-in/S-Function',[sys,'/','Error rate1/S-function'])
set_param([sys,'/','Error rate1/S-function'],...
		'function name','sbiterr',...
		'parameters','num_lin, K, TDelay, Sample',...
		'position',[130,52,195,78])
add_line([sys,'/','Error rate1'],[40,70;60,70])
add_line([sys,'/','Error rate1'],[40,55;60,55])
add_line([sys,'/','Error rate1'],[105,65;125,65])
set_param([sys,'/','Error rate1'],...
		'Mask Display','Error\nmeter',...
		'Mask Type','Symbol/bit error counter')
set_param([sys,'/','Error rate1'],...
		'Mask Dialogue','Use the input data from the 1st port as the reference signal to detect the number of errors and error rate of the 2nd port inputted signal.|Bit per symbol:|Number of digits on display:|Delay between input (1st port) and output (2nd port):|Sampling time (sec):')
set_param([sys,'/','Error rate1'],...
		'Mask Translate','K=@1;num_lin=@2;TDelay=@3;Sample=@4;')
set_param([sys,'/','Error rate1'],...
		'Mask Help','The signal from the first port must be a scalar. The second input port can be a vector with a same-time delay to the input signal. The comparison happens only at the sampling point.')
set_param([sys,'/','Error rate1'],...
		'Mask Entries','3\/20\/td\/td\/')


%     Finished composite block 'Error rate1'.

set_param([sys,'/','Error rate1'],...
		'hide name',0,...
		'position',[440,43,520,87])


%     Subsystem  'MASK mod'.

new_system([sys,'/','MASK mod'])
set_param([sys,'/','MASK mod'],'Location',[652,470,1010,578])


%     Subsystem  ['MASK mod/DSB-SC AM',13,'passband'].

new_system([sys,'/',['MASK mod/DSB-SC AM',13,'passband']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],'Location',[103,459,555,641])

add_block('built-in/Sum',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Sum2']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Sum2']],...
		'position',[170,90,190,110])

add_block('built-in/Fcn',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Fcn']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Fcn']],...
		'Expr','cos(u[1])',...
		'position',[205,85,265,115])

add_block('built-in/Constant',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Constant1']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Constant1']],...
		'Value','Ph',...
		'position',[60,115,100,145])

add_block('built-in/Inport',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/in_1']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/in_1']],...
		'position',[205,20,225,40])

add_block('built-in/Outport',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/out_1']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/out_1']],...
		'position',[380,50,400,70])

add_block('built-in/Product',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Product']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Product']],...
		'position',[340,42,365,73])

add_block('built-in/Clock',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Clock']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Clock']],...
		'position',[20,65,40,85])

add_block('built-in/Gain',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Gain']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Gain']],...
		'Gain','Fc',...
		'position',[70,56,120,94])

add_block('built-in/Zero-Order Hold',[sys,'/',['MASK mod/DSB-SC AM',13,'passband/Zero-Order',13,'Hold',13,'timing control']])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband/Zero-Order',13,'Hold',13,'timing control']],...
		'Sample time','ts',...
		'position',[50,219,85,251])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[195,100;200,100])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[105,130;130,130;130,105;165,105])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[125,75;150,75;150,95;165,95])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[45,75;65,75])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[230,30;270,30;270,50;335,50])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[370,60;375,60])
add_line([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],[270,100;270,65;335,65])
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);DSB AM',...
		'Mask Type','Passband DSB-SC AM')
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],...
		'Mask Dialogue','Modulate the input signal using\nDSB-SC AM method.|Carrier frequency (Hz):|Initial Phase (rad):|Sample time (sec):')
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],...
		'Mask Translate','Fc=@1;Fc=Fc*2*pi;Ph=@2;ts=@3;[x,y]=moduicon(1);')
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],...
		'Mask Help','This block modulates the input signal using the double-sideband suppressed-carrier amplitude modulation. In general, the carrier frequency should be much higher than the message signal frequency.')
set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],...
		'Mask Entries','Fc\/Ph\/ts\/')


%     Finished composite block ['MASK mod/DSB-SC AM',13,'passband'].

set_param([sys,'/',['MASK mod/DSB-SC AM',13,'passband']],...
		'ForeGround',4,...
		'position',[195,13,275,57])


%     Subsystem  'MASK mod/MASK map1'.

new_system([sys,'/','MASK mod/MASK map1'])
set_param([sys,'/','MASK mod/MASK map1'],'Location',[520,162,902,335])

add_block('built-in/Constant',[sys,'/','MASK mod/MASK map1/Gain diff'])
set_param([sys,'/','MASK mod/MASK map1/Gain diff'],...
		'Value','Ac',...
		'position',[180,96,215,124])

add_block('built-in/Sum',[sys,'/','MASK mod/MASK map1/Sum1'])
set_param([sys,'/','MASK mod/MASK map1/Sum1'],...
		'inputs','+-',...
		'position',[250,63,270,87])

add_block('built-in/Gain',[sys,'/','MASK mod/MASK map1/Gain'])
set_param([sys,'/','MASK mod/MASK map1/Gain'],...
		'Gain','Kc',...
		'position',[180,25,220,55])

add_block('built-in/Inport',[sys,'/','MASK mod/MASK map1/in_1'])
set_param([sys,'/','MASK mod/MASK map1/in_1'],...
		'position',[40,30,60,50])

add_block('built-in/Zero-Order Hold',[sys,'/',['MASK mod/MASK map1/Zero-Order',13,'Hold']])
set_param([sys,'/',['MASK mod/MASK map1/Zero-Order',13,'Hold']],...
		'Sample time','td',...
		'position',[100,24,135,56])

add_block('built-in/Outport',[sys,'/','MASK mod/MASK map1/out_1'])
set_param([sys,'/','MASK mod/MASK map1/out_1'],...
		'position',[315,65,335,85])
add_line([sys,'/','MASK mod/MASK map1'],[140,40;175,40])
add_line([sys,'/','MASK mod/MASK map1'],[65,40;95,40])
add_line([sys,'/','MASK mod/MASK map1'],[275,75;310,75])
add_line([sys,'/','MASK mod/MASK map1'],[220,110;230,110;230,80;245,80])
add_line([sys,'/','MASK mod/MASK map1'],[225,40;230,40;230,70;245,70])
set_param([sys,'/','MASK mod/MASK map1'],...
		'Mask Display','MASK\nmap',...

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -