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

📄 tsttcm.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/Memory1']],...
		'position',[125,80,165,110])

add_block('built-in/Inport',[sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/in_1']])
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/in_1']],...
		'position',[10,15,30,35])

add_block('built-in/Relational Operator',[sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/Relational',13,'Operator']])
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/Relational',13,'Operator']],...
		'position',[135,18,165,42])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[35,25;130,25])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[45,25;45,95;120,95])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[170,95;195,95])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[65,145;100,145;100,35;130,35])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[100,145;180,145;180,105;195,105])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[170,30;260,30])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[235,100;240,100;240,40;260,40])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[300,35;335,35])
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],...
		'Mask Display','Edge\nDetector',...
		'Mask Type','Edge Detection',...
		'Mask Dialogue','Rising edge detection:|Threshold:',...
		'Mask Translate','thld=@1;')
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],...
		'Mask Help','When the input signal rising edge passed the given shreshold, this block outputs one, otherwise outputs zero.',...
		'Mask Entries','thd\/')


%     Finished composite block ['Binary vector',13,'convol encode/Rising edge',13,'detector'].

set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],...
		'BackGround',5,...
		'position',[470,172,525,208])

add_block('built-in/Inport',[sys,'/',['Binary vector',13,'convol encode/in_2']])
set_param([sys,'/',['Binary vector',13,'convol encode/in_2']],...
		'Port','2',...
		'position',[420,180,440,200])

add_block('built-in/Memory',[sys,'/',['Binary vector',13,'convol encode/Memory']])
set_param([sys,'/',['Binary vector',13,'convol encode/Memory']],...
		'ForeGround',2,...
		'x0','zeros(n_st, 1)',...
		'position',[265,70,305,100])

add_block('built-in/Switch',[sys,'/',['Binary vector',13,'convol encode/Switch']])
set_param([sys,'/',['Binary vector',13,'convol encode/Switch']],...
		'Threshold','.1',...
		'position',[215,70,245,100])
add_line([sys,'/',['Binary vector',13,'convol encode']],[235,185;135,185;135,80;150,80])
add_line([sys,'/',['Binary vector',13,'convol encode']],[395,85;405,85;405,185;275,185])
add_line([sys,'/',['Binary vector',13,'convol encode']],[180,75;210,75])
add_line([sys,'/',['Binary vector',13,'convol encode']],[310,85;320,85;320,125;195,125;195,95;210,95])
add_line([sys,'/',['Binary vector',13,'convol encode']],[320,85;340,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[250,85;260,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[395,85;415,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[130,70;150,70])
add_line([sys,'/',['Binary vector',13,'convol encode']],[280,20;450,20;460,75])
add_line([sys,'/',['Binary vector',13,'convol encode']],[450,85;460,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[605,150;585,150;585,100;605,100])
add_line([sys,'/',['Binary vector',13,'convol encode']],[50,70;95,70])
add_line([sys,'/',['Binary vector',13,'convol encode']],[75,70;75,20;245,20])
add_line([sys,'/',['Binary vector',13,'convol encode']],[490,80;495,80])
add_line([sys,'/',['Binary vector',13,'convol encode']],[550,80;605,80])
add_line([sys,'/',['Binary vector',13,'convol encode']],[645,90;665,90;655,150])
add_line([sys,'/',['Binary vector',13,'convol encode']],[645,90;685,90])
add_line([sys,'/',['Binary vector',13,'convol encode']],[445,190;465,190])
add_line([sys,'/',['Binary vector',13,'convol encode']],[530,190;545,190;545,90;605,90])
add_line([sys,'/',['Binary vector',13,'convol encode']],[545,150;185,150;185,85;210,85])
set_param([sys,'/',['Binary vector',13,'convol encode']],...
		'Mask Display','plot(0,0,100,100,x,y,v,w);Convl en',...
		'Mask Type','Vector I/O convolution encode')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
		'Mask Dialogue','Convolution encode with codeword length\nN and message length K. Transfer function\nmatrix is a K-by-N matrix.|Transfer function (or SIMULINK diagram):|Trigger signal threshold:')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
		'Mask Translate','tf=@1;[a,b,c,d,n,k,n_st,m]=simviter(tf);thd=@2;[x,y]=codeicon(1);[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
		'Mask Help','This block encodes length K binary vector message input into length N binary vector codeword output using convolution code. The block refreshes its register memory and output at the rising edge of the second inport pulse. You can also use a SIMULINK block diagram to define the convolution code transfer function.')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
		'Mask Entries','''ungerboe''\/.5\/')


%     Finished composite block ['Binary vector',13,'convol encode'].

set_param([sys,'/',['Binary vector',13,'convol encode']],...
		'hide name',0,...
		'position',[425,48,505,92])

add_block('built-in/S-Function',[sys,'/',['Integer vector',13,'to scalar1']])
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
		'hide name',0,...
		'function name','simbi2de',...
		'parameters','p',...
		'Mask Display','Vec to sca\nconverter',...
		'Mask Type','Base M vector to decimal integer')
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
		'Mask Dialogue','Convert base M integer with each\nposition in the input vector into scalar decimal output.|Input integer base M:',...
		'Mask Translate','p=@1;')
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
		'Mask Help','This block convert the base M vector into scalar decimal integer output. Each element of the input vector is one position of the digit of the base M integer. The 1st element in the input vector contains the 1''s position. The 2nd element in the input vector contains the M''s position.')
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
		'Mask Entries','2\/',...
		'position',[600,43,680,87])

add_block('built-in/Mux',[sys,'/','Mux'])
set_param([sys,'/','Mux'],...
		'hide name',0,...
		'inputs','2',...
		'position',[540,46,575,79])


%     Subsystem  ['QASK',13,'circle-demap'].

new_system([sys,'/',['QASK',13,'circle-demap']])
set_param([sys,'/',['QASK',13,'circle-demap']],'Location',[96,182,645,417])

add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold']],...
		'ForeGround',2,...
		'Sample time','td',...
		'position',[120,29,155,61])

add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-demap/real']])
set_param([sys,'/',['QASK',13,'circle-demap/real']],...
		'position',[45,35,65,55])

add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-demap/imag']])
set_param([sys,'/',['QASK',13,'circle-demap/imag']],...
		'Port','2',...
		'position',[45,120,65,140])

add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold1']],...
		'ForeGround',4,...
		'Sample time','td',...
		'position',[120,114,155,146])

add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum1']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum1']],...
		'ForeGround',2,...
		'inputs','+-',...
		'position',[230,38,250,67])

add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum6']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum6']],...
		'ForeGround',4,...
		'inputs','+-',...
		'position',[230,123,250,152])

add_block('built-in/Product',[sys,'/',['QASK',13,'circle-demap/Product']])
set_param([sys,'/',['QASK',13,'circle-demap/Product']],...
		'position',[300,45,325,65])

add_block('built-in/Product',[sys,'/',['QASK',13,'circle-demap/Product1']])
set_param([sys,'/',['QASK',13,'circle-demap/Product1']],...
		'position',[300,130,325,150])

add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum2']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum2']],...
		'position',[370,78,390,107])

add_block('built-in/S-Function',[sys,'/',['QASK',13,'circle-demap/Minimum1']])
set_param([sys,'/',['QASK',13,'circle-demap/Minimum1']],...
		'function name','arymimai',...
		'parameters','''min''',...
		'position',[415,85,475,105])

add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-demap/out_1']])
set_param([sys,'/',['QASK',13,'circle-demap/out_1']],...
		'position',[495,85,515,105])

add_block('built-in/Constant',[sys,'/',['QASK',13,'circle-demap/real_pt']])
set_param([sys,'/',['QASK',13,'circle-demap/real_pt']],...
		'BackGround',3,...
		'Value','y1',...
		'position',[170,84,195,106])

add_block('built-in/Constant',[sys,'/',['QASK',13,'circle-demap/imag_pt']])
set_param([sys,'/',['QASK',13,'circle-demap/imag_pt']],...
		'BackGround',5,...
		'Value','y2',...
		'position',[165,169,190,191])
add_line([sys,'/',['QASK',13,'circle-demap']],[70,45;115,45])
add_line([sys,'/',['QASK',13,'circle-demap']],[70,130;115,130])
add_line([sys,'/',['QASK',13,'circle-demap']],[200,95;205,95;205,60;225,60])
add_line([sys,'/',['QASK',13,'circle-demap']],[160,45;225,45])
add_line([sys,'/',['QASK',13,'circle-demap']],[160,130;225,130])
add_line([sys,'/',['QASK',13,'circle-demap']],[195,180;205,180;205,145;225,145])
add_line([sys,'/',['QASK',13,'circle-demap']],[255,55;270,55;270,50;295,50])
add_line([sys,'/',['QASK',13,'circle-demap']],[270,55;270,60;295,60])
add_line([sys,'/',['QASK',13,'circle-demap']],[255,140;270,140;270,135;295,135])
add_line([sys,'/',['QASK',13,'circle-demap']],[270,140;270,145;295,145])
add_line([sys,'/',['QASK',13,'circle-demap']],[330,55;340,55;340,85;365,85])
add_line([sys,'/',['QASK',13,'circle-demap']],[330,140;340,140;340,100;365,100])
add_line([sys,'/',['QASK',13,'circle-demap']],[395,95;410,95])
add_line([sys,'/',['QASK',13,'circle-demap']],[480,95;490,95])
set_param([sys,'/',['QASK',13,'circle-demap']],...
		'Mask Display','QASK\nC-demap',...
		'Mask Type','QASK C-demap')
set_param([sys,'/',['QASK',13,'circle-demap']],...
		'Mask Dialogue','Reverse the QASK map. Input in-phase\nand quadrature components from the\ntwo inputs. Output demapped signal.|Number of symbols on each circle NIC::|Radii for each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'circle-demap']],...
		'Mask Translate','N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);')
set_param([sys,'/',['QASK',13,'circle-demap']],...
		'Mask Help','This block demaps a QASK mapped signal using circle constellation. You can place this block after a QAM demodulation block. The circle constellation is defined in NIC, RIC, and PIC. The symbol interval can be a two elements vector with the first element being offset. The default offset is zero. Use function MODMAP to view the constellation.')
set_param([sys,'/',['QASK',13,'circle-demap']],...
		'Mask Entries','8\/1\/0\/1\/')


%     Finished composite block ['QASK',13,'circle-demap'].

set_param([sys,'/',['QASK',13,'circle-demap']],...
		'hide name',0,...
		'position',[540,128,620,172])


%     Subsystem  ['QADM',13,'baseband'].

new_system([sys,'/',['QADM',13,'baseband']])
set_param([sys,'/',['QADM',13,'baseband']],'Location',[283,122,827,462])

add_block('built-in/Inport',[sys,'/',['QADM',13,'baseband/in_1']])
set_param([sys,'/',['QADM',13,'baseband/in_1']],...
		'position',[55,115,75,135])

add_block('built-in/Constant',[sys,'/',['QADM',13,'baseband/Constant1']])
set_param([sys,'/',['QADM',13,'baseband/Constant1']],...
		'Value','x2',...
		'position',[160,245,180,265])

add_block('built-in/Sum',[sys,'/',['QADM',13,'baseband/Sum1']])
set_param([sys,'/',['QADM',13,'baseband/Sum1']],...
		'position',[340,220,360,240])

add_block('built-in/Outport',[sys,'/',['QADM',13,'baseband/out_2']])
set_param([sys,'/',['QADM',13,'baseband/out_2']],...
		'Port','2',...
		'position',[485,220,505,240])

add_block('built-in/Filter',[sys,'/',['QADM',13,'baseband/Filter1']])
set_param([sys,'/',['QADM',13,'baseband/Filter1']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[395,211,450,249])

add_block('built-in/Product',[sys,'/',['QADM',13,'baseband/Product1']])
set_param([sys,'/',['QADM',13,'baseband/Product1']],...
		'position',[260,123,290,147])

add_block('built-in/Demux',[sys,'/',['QADM',13,'baseband/Demux']])
set_param([sys,'/',['QADM',13,'baseband/Demux']],...

⌨️ 快捷键说明

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