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

📄 tstrcos.m

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

%     Subsystem  ['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1'].

new_system([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],'Location',[55,192,283,286])

add_block('built-in/Outport',[sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1/Outport']])
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1/Outport']],...
		'position',[160,35,180,55])

add_block('built-in/S-Function',[sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1/S-function1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1/S-function1']],...
		'function name','homopuls',...
		'parameters','samp_time, out_divid, offset',...
		'position',[40,31,105,59])
add_line([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],[110,45;155,45])
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],...
		'Mask Display','Vector\nPulse',...
		'Mask Type','Pulse generator')
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],...
		'Mask Dialogue','Vector pulses with sample rate of each pulse as Sample_time ./Divider. |Sample time (scalar, sec):|Divider (integer vector):|Offset (have same dimension as Divider:')
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],...
		'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],...
		'Mask Help','This block generator a vector pulses. The output length is the same as the vector defined in "Divider". The ith element of the output has the sample time Sample_time/Divider(i). All elements in "Divider" must be integers.')
set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],...
		'Mask Entries','td\/1\/off\/')


%     Finished composite block ['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1'].

set_param([sys,'/',['Raised cosine',13,'filter1/Pulses deivide',13,'same sample time1']],...
		'position',[35,71,95,109])
add_line([sys,'/',['Raised cosine',13,'filter1']],[100,90;115,90;115,60;150,60])
add_line([sys,'/',['Raised cosine',13,'filter1']],[230,50;250,50])
add_line([sys,'/',['Raised cosine',13,'filter1']],[60,40;150,40])
add_line([sys,'/',['Raised cosine',13,'filter1']],[315,50;325,50])
set_param([sys,'/',['Raised cosine',13,'filter1']],...
		'Mask Display','R-C\nfilter',...
		'Mask Type','R-C filter')
set_param([sys,'/',['Raised cosine',13,'filter1']],...
		'Mask Dialogue','Design a raised cosine filter and use it to filter the input signal.|Symbol interval (sec):|Computation sampling time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol interval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc filter (1 or 0, suggest 1):')
set_param([sys,'/',['Raised cosine',13,'filter1']],...
		'Mask Translate','td=@1;if length(td)>1,off=td(2);td=td(1);else,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil,R,delay);x=@6/2;')
set_param([sys,'/',['Raised cosine',13,'filter1']],...
		'Mask Help','This block designs a raised cosine filter using the specified parameter. The filter is used to filter the input signal. You can optionally use the sinc filter in the filtering computation.')
set_param([sys,'/',['Raised cosine',13,'filter1']],...
		'Mask Entries','td\/ts\/.5\/3\/''FIR''\/1\/')


%     Finished composite block ['Raised cosine',13,'filter1'].

set_param([sys,'/',['Raised cosine',13,'filter1']],...
		'hide name',0,...
		'position',[220,103,300,147])


%     Subsystem  ['QASK',13,'square-map'].

new_system([sys,'/',['QASK',13,'square-map']])
set_param([sys,'/',['QASK',13,'square-map']],'Location',[214,372,642,541])

add_block('built-in/Inport',[sys,'/',['QASK',13,'square-map/in_1']])
set_param([sys,'/',['QASK',13,'square-map/in_1']],...
		'position',[45,30,65,50])

add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'square-map/Zero-Order',13,'Hold']])
set_param([sys,'/',['QASK',13,'square-map/Zero-Order',13,'Hold']],...
		'Sample time','td',...
		'position',[110,24,145,56])

add_block('built-in/Outport',[sys,'/',['QASK',13,'square-map/out_1']])
set_param([sys,'/',['QASK',13,'square-map/out_1']],...
		'position',[325,30,345,50])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'square-map/s-x axis']])
set_param([sys,'/',['QASK',13,'square-map/s-x axis']],...
		'Input_Values','z',...
		'Output_Values','x',...
		'position',[245,25,280,55])

add_block('built-in/Outport',[sys,'/',['QASK',13,'square-map/out_2']])
set_param([sys,'/',['QASK',13,'square-map/out_2']],...
		'Port','2',...
		'position',[325,95,345,115])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'square-map/c-y axis']])
set_param([sys,'/',['QASK',13,'square-map/c-y axis']],...
		'Input_Values','z',...
		'Output_Values','y',...
		'position',[245,90,280,120])
add_line([sys,'/',['QASK',13,'square-map']],[285,40;320,40])
add_line([sys,'/',['QASK',13,'square-map']],[285,105;320,105])
add_line([sys,'/',['QASK',13,'square-map']],[150,40;240,40])
add_line([sys,'/',['QASK',13,'square-map']],[185,40;185,105;240,105])
add_line([sys,'/',['QASK',13,'square-map']],[70,40;105,40])
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Display','QASK\nS-map',...
		'Mask Type','QASK S-map')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Dialogue','Use square constellation to map the\ninput digital signal into in-phase and\nquadrature components. M must be\nM=2^K with integer K.|M-ary number (input integers in range [0, M-1]):|Input symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Translate','N=@1;Ac=1;td=@2;z=[[1:N];[1:N]];z=z(:);[x,y]=qaskenco(z-1,N);z=z-1.5;z=[z(2:2*N);N-.5];x=x/max(x);y=y/max(y);')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Help','This block maps a digital signal onto in-phase and quadratic components, which are outputs in the first and second output port respectively. The M-ary number must be M=2^K with integer K. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0. The maximum amplitudes for the outputs are 1.')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Entries','M\/td\/')


%     Finished composite block ['QASK',13,'square-map'].

set_param([sys,'/',['QASK',13,'square-map']],...
		'hide name',0,...
		'position',[115,58,195,102])


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

new_system([sys,'/',['QAM',13,'baseband']])
set_param([sys,'/',['QAM',13,'baseband']],'Location',[321,500,954,793])

add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['QAM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
		'position',[260,370,265,375])

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

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

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

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

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

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

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

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

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

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

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

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

add_block('built-in/Mux',[sys,'/',['QAM',13,'baseband/RI2C']])
set_param([sys,'/',['QAM',13,'baseband/RI2C']],...
		'inputs','2',...
		'Mask Display','Real/Imag\nto Complex',...
		'Mask Type','Real/Imag to Complex',...
		'Mask Dialogue','Construct complex vector from real and imaginary vectors.')
set_param([sys,'/',['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,'/',['QAM',13,'baseband/RI2C']],...
		'position',[470,119,545,161])

add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/R_out']])
set_param([sys,'/',['QAM',13,'baseband/R_out']],...
		'position',[445,45,450,50])

add_block('built-in/Sum',[sys,'/',['QAM',13,'baseband/Sum']])
set_param([sys,'/',['QAM',13,'baseband/Sum']],...
		'inputs','+-',...
		'position',[375,60,395,80])

add_block('built-in/Product',[sys,'/',['QAM',13,'baseband/Product1']])
set_param([sys,'/',['QAM',13,'baseband/Product1']],...
		'position',[300,93,330,117])

add_block('built-in/Product',[sys,'/',['QAM',13,'baseband/Product']])
set_param([sys,'/',['QAM',13,'baseband/Product']],...
		'position',[300,33,330,57])

add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/R1']])
set_param([sys,'/',['QAM',13,'baseband/R1']],...
		'position',[190,15,195,20])
add_line([sys,'/',['QAM',13,'baseband']],[410,220;425,220;425,150;465,150])
add_line([sys,'/',['QAM',13,'baseband']],[400,70;425,70;425,130;465,130])
add_line([sys,'/',['QAM',13,'baseband']],[335,45;345,45;345,65;370,65])
add_line([sys,'/',['QAM',13,'baseband']],[335,105;345,105;345,75;370,75])
add_line([sys,'/',['QAM',13,'baseband']],[120,40;295,40])
add_line([sys,'/',['QAM',13,'baseband']],[238,40;238,190;305,190])
add_line([sys,'/',['QAM',13,'baseband']],[105,155;270,155;270,50;295,50])
add_line([sys,'/',['QAM',13,'baseband']],[270,155;270,235;305,235])
add_line([sys,'/',['QAM',13,'baseband']],[155,175;280,175;280,110;295,110])
add_line([sys,'/',['QAM',13,'baseband']],[280,175;280,200;305,200])
add_line([sys,'/',['QAM',13,'baseband']],[160,65;245,65;245,100;295,100])
add_line([sys,'/',['QAM',13,'baseband']],[250,100;250,245;305,245])
add_line([sys,'/',['QAM',13,'baseband']],[345,195;355,195;355,215;380,215])
add_line([sys,'/',['QAM',13,'baseband']],[345,240;355,240;355,225;380,225])
add_line([sys,'/',['QAM',13,'baseband']],[550,140;580,140])
set_param([sys,'/',['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,'/',['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,'/',['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,'/',['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,'/',['QAM',13,'baseband']],...
		'Mask Entries','0\/')


%     Finished composite block ['QAM',13,'baseband'].

set_param([sys,'/',['QAM',13,'baseband']],...
		'hide name',0,...
		'position',[325,58,405,102])

⌨️ 快捷键说明

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