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

📄 tcemqas2.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 4 页
字号:
add_block('built-in/Mux',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/RI2C']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/RI2C']],...
		'inputs','2',...
		'Mask Display','Real/Imag\nto Complex',...
		'Mask Type','Real/Imag to Complex')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/RI2C']],...
		'Mask Dialogue','Construct complex vector from real and imaginary vectors.')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/RI2C']],...
		'Mask Help','The Real/Imag to Complex block creates a complex output from the two inputs. It uses a Mux block to append the complex part (input 2) to the real part (input 1).')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/RI2C']],...
		'position',[470,119,545,161])

add_block('built-in/Inport',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/in_1']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/in_1']],...
		'position',[95,30,115,50])

add_block('built-in/Outport',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/out_1']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/out_1']],...
		'position',[585,130,605,150])

add_block('built-in/Constant',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Constant']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Constant']],...
		'Value','x1',...
		'position',[80,145,100,165])

add_block('built-in/Constant',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Constant1']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Constant1']],...
		'Value','x2',...
		'position',[130,165,150,185])

add_block('built-in/Note',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/I1']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/I1']],...
		'position',[193,43,198,48])

add_block('built-in/Inport',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/in_2']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/in_2']],...
		'Port','2',...
		'position',[135,55,155,75])

add_block('built-in/Note',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/R2']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/R2']],...
		'position',[125,135,130,140])

add_block('built-in/Note',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/I2']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/I2']],...
		'position',[190,155,195,160])

add_block('built-in/Product',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Product3']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Product3']],...
		'position',[310,183,340,207])

add_block('built-in/Product',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Product2']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Product2']],...
		'position',[310,228,340,252])

add_block('built-in/Sum',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Sum1']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Sum1']],...
		'position',[385,210,405,230])

add_block('built-in/Note',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/I_out']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/I_out']],...
		'position',[445,206,450,211])

add_block('built-in/Note',[sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
		'position',[260,370,265,375])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[550,140;580,140])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[345,240;355,240;355,225;380,225])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[345,195;355,195;355,215;380,215])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[160,65;245,65;245,100;295,100])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[250,100;250,245;305,245])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[155,175;280,175;280,110;295,110])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[280,175;280,200;305,200])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[105,155;270,155;270,50;295,50])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[270,155;270,235;305,235])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[120,40;295,40])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[238,40;238,190;305,190])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[335,105;345,105;345,75;370,75])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[335,45;345,45;345,65;370,65])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[400,70;425,70;425,130;465,130])
add_line([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],[410,220;425,220;425,150;465,150])
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],...
		'Mask Display','plot(0,0,100,100,x,y,u,v);QAM',...
		'Mask Type','QM DSB-SC AM CE')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],...
		'Mask Dialogue','Modulate the in-phase and quadrature\ncomponent signal from the 1st and 2nd\ninput ports, baseband simulation.|Initial phase (rad):')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],...
		'Mask Translate','Ph=@1;x1=cos(Ph);x2=sin(Ph);[x,y]=moduicon(1);[u,v]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],...
		'Mask Help','This block outputs the complex envelope of the quadratic multiplexed double-sideband suppressed-carrier amplitude modulated signal. The 1st and 2nd input ports input the in-phase and quadrature components. The output is a complex signal.')
set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],...
		'Mask Entries','Ph\/')


%     Finished composite block ['S-map QASK',13,'mod baseband/QAM',13,'baseband'].

set_param([sys,'/',['S-map QASK',13,'mod baseband/QAM',13,'baseband']],...
		'ForeGround',4,...
		'hide name',0,...
		'position',[165,53,245,97])
add_line([sys,'/',['S-map QASK',13,'mod baseband']],[25,75;45,75])
add_line([sys,'/',['S-map QASK',13,'mod baseband']],[250,75;270,75])
add_line([sys,'/',['S-map QASK',13,'mod baseband']],[135,85;160,85])
add_line([sys,'/',['S-map QASK',13,'mod baseband']],[135,65;160,65])
set_param([sys,'/',['S-map QASK',13,'mod baseband']],...
		'Mask Display','plot(0,0,100,100,x,y,u,v);S-QASK',...
		'Mask Type','Baseband S-QASK modulation')
set_param([sys,'/',['S-map QASK',13,'mod baseband']],...
		'Mask Dialogue','Output the complex envelope of the QASK\nmodulated signal. This block uses a square\nconstellation with M-ary number M=2^K,\nK is an integer.|M-ary number (input digits in range [0, M-1]):|Symbol interval and offset (sec):|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['S-map QASK',13,'mod baseband']],...
		'Mask Translate','M=@1;td=@2;Ph=@3;ts=@4;[x,y]=moduicon(5);[u,v]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['S-map QASK',13,'mod baseband']],...
		'Mask Help','This block outputs the complex envelope of a QASK modulated signal. This block uses square constellation. The inputs are integers in the range [0, M-1], where M is the M-ary number, M=2^K, and K is an integer. When the symbol interval is a two-element vector, the second element is the offset (default 0). ')
set_param([sys,'/',['S-map QASK',13,'mod baseband']],...
		'Mask Entries','M\/td\/0\/ts\/')


%     Finished composite block ['S-map QASK',13,'mod baseband'].

set_param([sys,'/',['S-map QASK',13,'mod baseband']],...
		'hide name',0,...
		'position',[145,43,225,87])


%     Subsystem  ['Rayleigh noise channel',13,'w vary var CE'].

new_system([sys,'/',['Rayleigh noise channel',13,'w vary var CE']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],'Location',[124,152,407,288])

add_block('built-in/Inport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/in_2']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/in_2']],...
		'Port','2',...
		'position',[10,70,30,90])


%     Subsystem  ['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise'].

new_system([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],'Location',[482,386,830,557])

add_block('built-in/Inport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/in_1']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/in_1']],...
		'position',[195,30,215,50])

add_block('built-in/Inport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/in_2']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/in_2']],...
		'Port','2',...
		'position',[110,30,130,50])

add_block('built-in/Product',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Product']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Product']],...
		'position',[180,80,205,100])

add_block('built-in/Sum',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Sum']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Sum']],...
		'position',[250,75,270,95])

add_block('built-in/Outport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/out_1']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/out_1']],...
		'position',[300,75,320,95])

add_block('built-in/White Noise',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Random',13,'Number']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Random',13,'Number']],...
		'Seed','s',...
		'position',[60,77,105,113])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],[135,40;165,40;175,85])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],[220,40;230,40;230,80;245,80])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],[110,95;175,95])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],[210,90;245,90])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],[275,85;295,85])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],...
		'Mask Display','Gaussian\nnoise',...
		'Mask Type','Gaussian noise.',...
		'Mask Dialogue','Gaussian distribution noise.|Initial Seed(s):')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],...
		'Mask Translate','s=@1;')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],...
		'Mask Help','The meanvalue is determined by value from the frist input. The standard deviation is determined by the second input. ')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],...
		'Mask Entries','s\/')


%     Finished composite block ['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise'].

set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],...
		'position',[75,50,150,90])

add_block('built-in/Inport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/in_1']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/in_1']],...
		'position',[100,15,120,35])

add_block('built-in/Outport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/out_1']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/out_1']],...
		'position',[245,55,265,75])

add_block('built-in/Sum',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Sum']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Sum']],...
		'position',[195,55,215,75])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],[35,80;70,80])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],[155,70;190,70])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],[125,25;160,25;160,60;190,60])
add_line([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],[220,65;240,65])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],...
		'Mask Display','plot(0,0,100,100,x,y,v,w,u,z);Rayl N',...
		'Mask Type','Rayleigh noise channel, vary parameter')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],...
		'Mask Dialogue','Add Rayleigh noise to the transmitting signal with noise variant (2nd port) as input. Seed should be a 1x2 vector.|Initial Seeds (1x2 vector):')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],...
		'Mask Translate','s=@1;if length(s)<1,s=[s s+s+1];end;[x,y]=chanicon;x=x*.9+10;[v,w]=cmplxicn(0,75,get_param(gcb,''orientation''));[u,z]=cmplxicn(1,55,get_param(gcb,''orientation''));')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],...
		'Mask Help','This block adds Rayleigh noise to the transmitting signal. The input and output of this block are complex data. The Rayleigh noise is composed with two independant zero mean Gaussian noise. These two Gaussian components have the same standard deviation sigma. The sigma value is provided at the 2nd inport of this block.')
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],...
		'Mask Entries','[12345, 54321]\/')


%     Finished composite block ['Rayleigh noise channel',13,'w vary var CE'].

set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],...
		'hide name',0,...
		'position',[260,53,340,97])


%     Subsystem  'Error rate1'.

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

add_block('built-in/S-Function',[sys,'/','Error rate1/S-function'])
set_param([sys,'/','Error rate1/S-function'],...

⌨️ 快捷键说明

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