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

📄 tstcdma.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:

add_block('built-in/Inport',[sys,'/',['Triggered',13,'signal switch1/in_2']])
set_param([sys,'/',['Triggered',13,'signal switch1/in_2']],...
		'Port','2',...
		'position',[60,75,80,95])

add_block('built-in/S-Function',[sys,'/',['Triggered',13,'signal switch1/S-function']])
set_param([sys,'/',['Triggered',13,'signal switch1/S-function']],...
		'function name','stdmamux',...
		'parameters','sw,ke,in,tt',...
		'position',[205,60,275,90])
add_line([sys,'/',['Triggered',13,'signal switch1']],[90,30;120,30;120,65;140,65])
add_line([sys,'/',['Triggered',13,'signal switch1']],[85,85;140,85])
add_line([sys,'/',['Triggered',13,'signal switch1']],[180,75;200,75])
add_line([sys,'/',['Triggered',13,'signal switch1']],[280,75;315,75])
set_param([sys,'/',['Triggered',13,'signal switch1']],...
		'Mask Display','plot(0,0,100,100,v,w);Vct re-arr',...
		'Mask Type','Vector signal re-distribution')
set_param([sys,'/',['Triggered',13,'signal switch1']],...
		'Mask Dialogue','The rising edge from the 2nd inport\ntriggers the block to output the input\nelement with the index given in the next row of the switch box.|Switch box (column number equals block output length):|Keeping value (flag 0 element in switch box):|Initial value (before the 1st trigger is detected):|Trigger threshold:')
set_param([sys,'/',['Triggered',13,'signal switch1']],...
		'Mask Translate','sw=@1;ke=@2;in=@3;tt=@4;[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Triggered',13,'signal switch1']],...
		'Mask Help','When current switch box row is [i,j], the 1st and 2nd elements output the ith and jth input respectively. The switch_box column number must be same lengths as the output, keep_value, and init_value. The rising edge of the 2nd inport triggers the distribution pattern following the next row of the switch_box. With 0 element in switch_box, the output keeps the last output value with a >=0 keep_value; it equals init_val otherwise.')
set_param([sys,'/',['Triggered',13,'signal switch1']],...
		'Mask Entries','[0 0 0;1 2 3;0 0 0;3 1 2;0 0 0;2 3 1]\/[1 1 1]\/[0 0 0]\/.1\/')


%     Finished composite block ['Triggered',13,'signal switch1'].

set_param([sys,'/',['Triggered',13,'signal switch1']],...
		'hide name',0,...
		'position',[635,78,715,122])


%     Subsystem  ['Frequency division',13,'three-signal demux'].

new_system([sys,'/',['Frequency division',13,'three-signal demux']])
set_param([sys,'/',['Frequency division',13,'three-signal demux']],'Location',[485,490,886,737])

add_block('built-in/Discrete State-Space',[sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']],...
		'hide name',0,...
		'A','a',...
		'B','b',...
		'C','c',...
		'D','d',...
		'Sample time','ts',...
		'Mask Display','plot(1:64,abs(h))')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']],...
		'Mask Type','butter(BP)')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']],...
		'Mask Dialogue','Butterworth band pass filter.\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Sample time:')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']],...
		'Mask Translate','bw = @2/2; [a,b,c,d]=butter(@3,[@1-bw,@1+bw] ); ts=@4; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']],...
		'Mask Help','IIR Butterworth band pass filter using MATLAB''s butter command.',...
		'Mask Entries','F0*ts*2\/0.05\/7\/ts\/')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter4']],...
		'position',[75,38,145,72])

add_block('built-in/Discrete State-Space',[sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']],...
		'hide name',0,...
		'A','a',...
		'B','b',...
		'C','c',...
		'D','d',...
		'Sample time','ts',...
		'Mask Display','plot(1:64,abs(h))')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']],...
		'Mask Type','butter(BP)')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']],...
		'Mask Dialogue','Butterworth band pass filter.\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Sample time:')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']],...
		'Mask Translate','bw = @2/2; [a,b,c,d]=butter(@3,[@1-bw,@1+bw] ); ts=@4; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']],...
		'Mask Help','IIR Butterworth band pass filter using MATLAB''s butter command.',...
		'Mask Entries','F2*ts*2\/0.05\/7\/ts\/')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter5']],...
		'position',[85,108,155,142])

add_block('built-in/Discrete State-Space',[sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']],...
		'hide name',0,...
		'A','a',...
		'B','b',...
		'C','c',...
		'D','d',...
		'Sample time','ts',...
		'Mask Display','plot(1:64,abs(h))')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']],...
		'Mask Type','butter(BP)')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']],...
		'Mask Dialogue','Butterworth band pass filter.\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Sample time:')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']],...
		'Mask Translate','bw = @2/2; [a,b,c,d]=butter(@3,[@1-bw,@1+bw] ); ts=@4; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']],...
		'Mask Help','IIR Butterworth band pass filter using MATLAB''s butter command.',...
		'Mask Entries','F4*ts*2\/0.05\/7\/ts\/')
set_param([sys,'/',['Frequency division',13,'three-signal demux/Butterworth',13,'IIR BP Filter6']],...
		'position',[85,178,155,212])


%     Subsystem  ['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband'].

new_system([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband']],'Location',[588,690,716,690])


%     Subsystem  ['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator'].

new_system([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],'Location',[40,403,515,507])

add_block('built-in/Outport',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/out_1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/out_1']],...
		'position',[445,30,465,50])

add_block('built-in/Unit Delay',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/Unit Delay']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/Unit Delay']],...
		'Sample time','ts',...
		'x0','init',...
		'position',[345,30,395,50])

add_block('built-in/Sum',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/Sum']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/Sum']],...
		'position',[195,30,215,50])

add_block('built-in/Fcn',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/module']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/module']],...
		'Expr','rem(u[1],modu)',...
		'position',[235,29,325,51])

add_block('built-in/Inport',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/in_1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/in_1']],...
		'position',[15,25,35,45])

add_block('built-in/Discrete Transfer Fcn',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/Dis. Transfer Fcn']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator/Dis. Transfer Fcn']],...
		'Numerator','ts(1)',...
		'Denominator','1',...
		'Sample time','ts',...
		'position',[90,17,135,53])
add_line([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[400,40;410,40;410,90;175,90;175,45;190,45])
add_line([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[410,40;440,40])
add_line([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[330,40;340,40])
add_line([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[220,40;230,40])
add_line([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[40,35;85,35])
add_line([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],[140,35;190,35])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Display','discrete\nmod-int',...
		'Mask Type','Module Integrator')
set_param([sys,'/',['Frequency division',13,'three-signal demux/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,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Translate','init=@2; modu=@1;ts=@3;')
set_param([sys,'/',['Frequency division',13,'three-signal demux/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,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'Mask Entries','1\/0\/ts\/')


%     Finished composite block ['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator'].

set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Dis module',13,'integrator']],...
		'orientation',2,...
		'position',[365,105,425,145])

add_block('built-in/Constant',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Carrier',13,'frequency']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Carrier',13,'frequency']],...
		'orientation',2,...
		'Value','Fc',...
		'position',[510,165,530,185])

add_block('built-in/Product',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Product1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Product1']],...
		'orientation',2,...
		'position',[610,110,640,130])

add_block('built-in/Filter',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Filter2']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Filter2']],...
		'orientation',2,...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[535,100,595,140])

add_block('built-in/Sum',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Sum']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Sum']],...
		'orientation',2,...
		'position',[440,115,460,135])

add_block('built-in/Gain',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Gain1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Gain1']],...
		'orientation',2,...
		'Gain','pi2',...
		'position',[310,110,340,140])

add_block('built-in/Constant',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Carrier',13,'frequency1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Carrier',13,'frequency1']],...
		'orientation',2,...
		'Value','Ph',...
		'position',[320,175,340,195])

add_block('built-in/Sum',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Sum1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Sum1']],...
		'orientation',2,...
		'position',[265,120,285,140])

add_block('built-in/Product',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Product2']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/Product2']],...
		'position',[125,215,150,235])

add_block('built-in/Fcn',[sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/sin1']])
set_param([sys,'/',['Frequency division',13,'three-signal demux/DSB-SC-ADM',13,'passband/sin1']],...

⌨️ 快捷键说明

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