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

📄 testssba.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
		'position',[160,78,190,102])


%     Subsystem  'LSB-AM spectrum/Magnitude/Square'.

new_system([sys,'/','LSB-AM spectrum/Magnitude/Square'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Square'],'Location',[98,193,374,369])

add_block('built-in/Inport',[sys,'/','LSB-AM spectrum/Magnitude/Square/in_1'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Square/in_1'],...
		'position',[65,70,85,90])

add_block('built-in/Outport',[sys,'/','LSB-AM spectrum/Magnitude/Square/out_1'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Square/out_1'],...
		'position',[210,75,230,95])

add_block('built-in/Product',[sys,'/','LSB-AM spectrum/Magnitude/Square/Product'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Square/Product'],...
		'position',[150,73,180,97])
add_line([sys,'/','LSB-AM spectrum/Magnitude/Square'],[90,80;145,80])
add_line([sys,'/','LSB-AM spectrum/Magnitude/Square'],[100,80;100,90;145,90])
add_line([sys,'/','LSB-AM spectrum/Magnitude/Square'],[185,85;205,85])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Square'],...
		'Mask Display','plot(x,y); ',...
		'Mask Type','Square',...
		'Mask Dialogue','Square of vector elements.',...
		'Mask Translate','[x,y]=fplot(''x.^2'',[-2 2],''-'',1e-2);')
set_param([sys,'/','LSB-AM spectrum/Magnitude/Square'],...
		'Mask Help','Computes the square of the input vector:\ny=u.^2')


%     Finished composite block 'LSB-AM spectrum/Magnitude/Square'.

set_param([sys,'/','LSB-AM spectrum/Magnitude/Square'],...
		'position',[85,78,115,102])

add_block('built-in/S-Function',[sys,'/','LSB-AM spectrum/Magnitude/Sqrt'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/Sqrt'],...
		'function name','selmath1',...
		'parameters','''sqrt''',...
		'Mask Display','plot(x*.9+5,y*.9+5,0,0,100,100,[87,65,62,58,54],[50,50,15,30,30])',...
		'Mask Type','Square Root')
set_param([sys,'/','LSB-AM spectrum/Magnitude/Sqrt'],...
		'Mask Dialogue','Square root of vector elements.',...
		'Mask Translate','[x,y]=fplot(''10*sqrt(x)'',[0 100],''-'',1e-2);')
set_param([sys,'/','LSB-AM spectrum/Magnitude/Sqrt'],...
		'Mask Help','Computes the square root of the input vector:\ny=sqrt(u)\nThe output is undefined if the input is negative.',...
		'position',[345,78,375,102])

add_block('built-in/Note',[sys,'/','LSB-AM spectrum/Magnitude/I'])
set_param([sys,'/','LSB-AM spectrum/Magnitude/I'],...
		'position',[240,105,245,110])
add_line([sys,'/','LSB-AM spectrum/Magnitude'],[305,90;340,90])
add_line([sys,'/','LSB-AM spectrum/Magnitude'],[195,95;225,95;225,100;270,100])
add_line([sys,'/','LSB-AM spectrum/Magnitude'],[195,85;225,85;225,75;270,75])
add_line([sys,'/','LSB-AM spectrum/Magnitude'],[120,90;155,90])
add_line([sys,'/','LSB-AM spectrum/Magnitude'],[380,90;405,90])
add_line([sys,'/','LSB-AM spectrum/Magnitude'],[40,90;80,90])
set_param([sys,'/','LSB-AM spectrum/Magnitude'],...
		'Mask Display','plot(0,0,100,100,[30,30],[10,90],[90,12],[30,30],[73,80,30],[51,70,30],[64,80],[70,70],[76,83,64],[51,73,73],[78,33,30,77],[65,30,34,70],x,y)',...
		'Mask Type','Magnitude')
set_param([sys,'/','LSB-AM spectrum/Magnitude'],...
		'Mask Dialogue','Magnitude of complex vector.',...
		'Mask Translate','[x,y]=cmplxicn(0,50,get_param(gcb,''orientation'')); ')
set_param([sys,'/','LSB-AM spectrum/Magnitude'],...
		'Mask Help','Computes the magnitude of the complex input vector:\ny=sqrt(u*conj(u))\nThe output is a real vector.')


%     Finished composite block 'LSB-AM spectrum/Magnitude'.

set_param([sys,'/','LSB-AM spectrum/Magnitude'],...
		'position',[330,28,360,52])

add_block('built-in/S-Function',[sys,'/','LSB-AM spectrum/Zero Pad'])
set_param([sys,'/','LSB-AM spectrum/Zero Pad'],...
		'function name','szeropad',...
		'parameters','N')
set_param([sys,'/','LSB-AM spectrum/Zero Pad'],...
		'Mask Display','plot(0,0,100,100,[51 44 44 51],[92 92 8 8],[73 80 80 73],[92 92 8 8],[56 68],[80 80],[56 68],[72 72],[56 68],[64 64],[56 68],[56 56],[56 68],[48 48],[56 68],[40 40],[64 60 56 55 56 60 64 68 69 68 64],[32 32 28 22 16 12 12 16 22 28 32],[24 24 40 36 40 36],[52 24 24 28 24 20])')
set_param([sys,'/','LSB-AM spectrum/Zero Pad'],...
		'Mask Type','Zero Pad',...
		'Mask Dialogue','Pad vector with zeros to specified length.|Vector length:',...
		'Mask Translate','N=@1;')
set_param([sys,'/','LSB-AM spectrum/Zero Pad'],...
		'Mask Help','Increases the length of its input vector to length "Vector length" by appending zeros to the vector. If the Vector length is smaller than the input vector length, the Zero Pad block discards elements at the end of the input vector.')
set_param([sys,'/','LSB-AM spectrum/Zero Pad'],...
		'Mask Entries','2.^nextpow2(fftlength)\/',...
		'position',[155,24,195,56])

add_block('built-in/Inport',[sys,'/','LSB-AM spectrum/u'])
set_param([sys,'/','LSB-AM spectrum/u'],...
		'position',[5,30,25,50])

add_block('built-in/S-Function',[sys,'/','LSB-AM spectrum/Buffer Scope'])
set_param([sys,'/','LSB-AM spectrum/Buffer Scope'],...
		'function name','sbufscop',...
		'parameters','1/ts,1,figpos,nan,rads',...
		'Mask Display','',...
		'position',[410,25,475,55])


%     Subsystem  ['LSB-AM spectrum/FFT',13,'R -> C'].

new_system([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']])
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],'Location',[561,290,960,446])

add_block('built-in/Outport',[sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/out_1']])
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/out_1']],...
		'position',[310,85,330,105])

add_block('built-in/S-Function',[sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/FFT(u)']])
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/FFT(u)']],...
		'function name','srfft',...
		'parameters','sample_time',...
		'position',[225,82,280,108])

add_block('built-in/Mux',[sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/Mux']])
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/Mux']],...
		'inputs','2',...
		'position',[155,76,185,109])

add_block('built-in/Inport',[sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/in_1']])
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C/in_1']],...
		'position',[40,75,60,95])
add_line([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],[190,95;220,95])
add_line([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],[65,85;100,85;100,100;150,100])
add_line([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],[100,85;150,85])
add_line([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],[285,95;305,95])
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],...
		'Mask Display','plot(0,0,100,100,x,y);  FFT ',...
		'Mask Type','FFT',...
		'Mask Dialogue','Compute FFT of real vector.|Sample time (use -1 to inherit sample time):')
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],...
		'Mask Translate','sample_time=@1; [x,y]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],...
		'Mask Help','Computes the discrete Fourier transform of the real input vector. Sampling and FFT computation occur at each Sample time. The length of the input vector must be a power of two. The output is complex.')
set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],...
		'Mask Entries','-1\/')


%     Finished composite block ['LSB-AM spectrum/FFT',13,'R -> C'].

set_param([sys,'/',['LSB-AM spectrum/FFT',13,'R -> C']],...
		'position',[235,24,275,56])


%     Subsystem  'LSB-AM spectrum/Buffer'.

new_system([sys,'/','LSB-AM spectrum/Buffer'])
set_param([sys,'/','LSB-AM spectrum/Buffer'],'Location',[486,410,806,564])

add_block('built-in/S-Function',[sys,'/','LSB-AM spectrum/Buffer/ZOH'])
set_param([sys,'/','LSB-AM spectrum/Buffer/ZOH'],...
		'function name','szoh',...
		'parameters','sampleTime(2,:)',...
		'position',[220,43,260,67])

add_block('built-in/Outport',[sys,'/','LSB-AM spectrum/Buffer/Outport'])
set_param([sys,'/','LSB-AM spectrum/Buffer/Outport'],...
		'position',[285,45,305,65])

add_block('built-in/Inport',[sys,'/','LSB-AM spectrum/Buffer/in_1'])
set_param([sys,'/','LSB-AM spectrum/Buffer/in_1'],...
		'position',[10,45,30,65])

add_block('built-in/S-Function',[sys,'/','LSB-AM spectrum/Buffer/Buffer'])
set_param([sys,'/','LSB-AM spectrum/Buffer/Buffer'],...
		'function name','sbuffer',...
		'parameters','bufSize,bufOverlap,sampleTime',...
		'position',[120,34,195,76])

add_block('built-in/Zero-Order Hold',[sys,'/',['LSB-AM spectrum/Buffer/Zero-Order',13,'Hold']])
set_param([sys,'/',['LSB-AM spectrum/Buffer/Zero-Order',13,'Hold']],...
		'Sample time','sampleTime(1,:)',...
		'position',[60,39,95,71])
add_line([sys,'/','LSB-AM spectrum/Buffer'],[100,55;115,55])
add_line([sys,'/','LSB-AM spectrum/Buffer'],[35,55;55,55])
add_line([sys,'/','LSB-AM spectrum/Buffer'],[265,55;280,55])
add_line([sys,'/','LSB-AM spectrum/Buffer'],[200,55;215,55])
set_param([sys,'/','LSB-AM spectrum/Buffer'],...
		'Mask Display','plot(0,0,100,100,[12 28 28 32 28 28],[92 92 94 92 90 92],[32 36 36 40 36 36],[92 92 94 92 90 92],[24 24 28],[92 92 92],[40 44 44 48 44 44],[92 92 94 92 90 92],[52 48 52 52 56 52 52],[92 92 92 94 92 90 92],[56 64 64 57 64 71],[92 92 69 76 69 76],[48 80 80 48 48],[64 64 12 12 64],[56 72],[56 56],[56 72],[48 48],[56 72],[40 40],[56 72],[32 32],[56 72],[24 24])')
set_param([sys,'/','LSB-AM spectrum/Buffer'],...
		'Mask Type','Buffer',...
		'Mask Dialogue','Buffer input data.|Buffer size:|Buffer overlap:|Sample time:',...
		'Mask Translate','bufSize=@1;bufOverlap=@2;sampleTime=dspbufst( @3, @1-@2, @1 - 1);')
set_param([sys,'/','LSB-AM spectrum/Buffer'],...
		'Mask Help','Accumulates samples (at a sampling interval of Sample time) of the real scalar input into a buffer of length Buffer size. Outputs the content of the buffer in a real vector. Updates the buffer every (Buffer size - Buffer overlap) samples, outputting a frame of the input which overlaps the previous frame by Buffer overlap samples.  Buffer overlap may be zero or negative.')
set_param([sys,'/','LSB-AM spectrum/Buffer'],...
		'Mask Entries','bufsize\/olap\/ts\/')


%     Finished composite block 'LSB-AM spectrum/Buffer'.

set_param([sys,'/','LSB-AM spectrum/Buffer'],...
		'position',[75,24,115,56])
add_line([sys,'/','LSB-AM spectrum'],[365,40;405,40])
add_line([sys,'/','LSB-AM spectrum'],[120,40;150,40])
add_line([sys,'/','LSB-AM spectrum'],[30,40;70,40])
add_line([sys,'/','LSB-AM spectrum'],[280,40;325,40])
add_line([sys,'/','LSB-AM spectrum'],[200,40;230,40])
set_param([sys,'/','LSB-AM spectrum'],...
		'Mask Display','plot(0,0,100,100,[8 8 92 92 8],[92 40 40 92 92],[16 16 84],[88 48 48],[24 24],[76 48],[32 32 32],[65 48 48],[40 40],[79 48],[48 48],[60 48],[56 56],[58 48],[64 64],[64 48],[72 72 72],[56 49 48],[80 80 80 80],[49 49 48 48],[38 32 32 36 32 32],[33 33 27 27 27 20],[51 44 44 48 44 44 44],[33 33 27 27 27 27 20],[64 60 56 60 60],[33 33 33 33 20])')
set_param([sys,'/','LSB-AM spectrum'],...
		'Mask Type','FFT Scope')
set_param([sys,'/','LSB-AM spectrum'],...
		'Mask Dialogue','FFT scope for real input.|Buffer size:|Buffer overlap:|Sample time:|FFT length (must be a power of two):|Units (0 - Hz, 1 - Rads/sec):|Figure position (in pixels):')
set_param([sys,'/','LSB-AM spectrum'],...
		'Mask Translate','bufsize=@1;olap=@2;ts=@3;fftlength=@4;rads=@5;figpos=@6;')
set_param([sys,'/','LSB-AM spectrum'],...
		'Mask Help','Successively accumulates Buffer size (real, scalar) signal values at a sampling rate of Sample time, overlapping successive buffers by Buffer overlap samples. Takes the FFT of length "FFT length" of each buffer and displays its magnitude in a figure.')
set_param([sys,'/','LSB-AM spectrum'],...
		'Mask Entries','128\/0\/ts\/256\/0\/get(0,''DefaultFigurePosition'')\/')


%     Finished composite block 'LSB-AM spectrum'.

set_param([sys,'/','LSB-AM spectrum'],...
		'ForeGround',4,...
		'hide name',0,...
		'position',[240,118,275,162])
add_line(sys,[390,35;430,35])
add_line(sys,[65,60;80,60;80,15;345,15])
add_line(sys,[195,60;220,60])
add_line(sys,[310,60;320,60;320,35;345,35])
add_line(sys,[310,215;325,215;325,55;345,55])
add_line(sys,[80,60;105,60])
add_line(sys,[80,60;80,215;100,215])
add_line(sys,[190,215;220,215])
add_line(sys,[205,60;205,85;390,85])
add_line(sys,[80,140;105,140])
add_line(sys,[195,140;235,140])

drawnow

% Return any arguments.
if (nargin | nargout)
	% Must use feval here to access system in memory
	if (nargin > 3)
		if (flag == 0)
			eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
		else
			eval(['ret =', sys,'(t,x,u,flag);'])
		end
	else
		[ret,x0,str,ts,xts] = feval(sys);
	end
else
	drawnow % Flash up the model and execute load callback
end

⌨️ 快捷键说明

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