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

📄 testssba.m

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

add_block('built-in/Clock',[sys,'/',['SSB-ADM',13,'passband1/Clock']])
set_param([sys,'/',['SSB-ADM',13,'passband1/Clock']],...
		'position',[60,60,80,80])

add_block('built-in/Gain',[sys,'/',['SSB-ADM',13,'passband1/Gain']])
set_param([sys,'/',['SSB-ADM',13,'passband1/Gain']],...
		'Gain','Fc',...
		'position',[110,51,160,89])

add_block('built-in/Inport',[sys,'/',['SSB-ADM',13,'passband1/in_1']])
set_param([sys,'/',['SSB-ADM',13,'passband1/in_1']],...
		'position',[210,110,230,130])

add_block('built-in/Gain',[sys,'/',['SSB-ADM',13,'passband1/Gain1']])
set_param([sys,'/',['SSB-ADM',13,'passband1/Gain1']],...
		'Gain','2',...
		'position',[250,108,275,132])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[165,70;200,70])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[280,120;305,120;305,85;325,85])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[235,120;245,120])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[305,70;325,70])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[360,80;385,80])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[450,80;475,80])
add_line([sys,'/',['SSB-ADM',13,'passband1']],[85,70;105,70])
set_param([sys,'/',['SSB-ADM',13,'passband1']],...
		'Mask Display','plot(0,0,100,100,x,y);SSB ADM',...
		'Mask Type','Passband SSB ADM')
set_param([sys,'/',['SSB-ADM',13,'passband1']],...
		'Mask Dialogue','Demodulate a SSB-AM modulated signal.|Carrier frequency (Hz):|Lowpass filter numerator:|Lowpass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['SSB-ADM',13,'passband1']],...
		'Mask Translate','Fc=@1*2*pi;num=@2;den=@3;Ph=@4;ts=@5;Pg=Ph+pi/2;[x,y]=moduicon(2);')
set_param([sys,'/',['SSB-ADM',13,'passband1']],...
		'Mask Help','This block demodulates the SSB-SC-AM modulated signal. The demodulation uses a discrete-time lowpass filter that passes the signal message and eliminates the carrier signal. You can specify the modulation to be a USB or LSB modulation.')
set_param([sys,'/',['SSB-ADM',13,'passband1']],...
		'Mask Entries','100/2/pi\/num\/den\/pi/2\/ts\/')


%     Finished composite block ['SSB-ADM',13,'passband1'].

set_param([sys,'/',['SSB-ADM',13,'passband1']],...
		'ForeGround',3,...
		'hide name',0,...
		'position',[225,38,305,82])

add_block('built-in/Note',[sys,'/',['Note: the FFT scope block requires DSP Blockset. Remove the FFT',13,'block before the simulation if you don''t have the DSP Blockset.     ']])
set_param([sys,'/',['Note: the FFT scope block requires DSP Blockset. Remove the FFT',13,'block before the simulation if you don''t have the DSP Blockset.     ']],...
		'position',[240,260,245,265])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator']])
set_param([sys,'/',['Signal',13,'generator']],...
		'ForeGround',5,...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','5.000000',...
		'Freq','3.000000',...
		'Freq Range','5.000000',...
		'Wave','Saw',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator']],...
		'position',[15,43,60,77])


%     Subsystem  ['USB-AM',13,'spectrum'].

new_system([sys,'/',['USB-AM',13,'spectrum']])
set_param([sys,'/',['USB-AM',13,'spectrum']],'Location',[276,440,798,541])


%     Subsystem  ['USB-AM',13,'spectrum/Buffer'].

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

add_block('built-in/Zero-Order Hold',[sys,'/',['USB-AM',13,'spectrum/Buffer/Zero-Order',13,'Hold']])
set_param([sys,'/',['USB-AM',13,'spectrum/Buffer/Zero-Order',13,'Hold']],...
		'Sample time','sampleTime(1,:)',...
		'position',[60,39,95,71])

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

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

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

add_block('built-in/S-Function',[sys,'/',['USB-AM',13,'spectrum/Buffer/ZOH']])
set_param([sys,'/',['USB-AM',13,'spectrum/Buffer/ZOH']],...
		'function name','szoh',...
		'parameters','sampleTime(2,:)',...
		'position',[220,43,260,67])
add_line([sys,'/',['USB-AM',13,'spectrum/Buffer']],[200,55;215,55])
add_line([sys,'/',['USB-AM',13,'spectrum/Buffer']],[265,55;280,55])
add_line([sys,'/',['USB-AM',13,'spectrum/Buffer']],[35,55;55,55])
add_line([sys,'/',['USB-AM',13,'spectrum/Buffer']],[100,55;115,55])
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'spectrum/Buffer']],...
		'Mask Type','Buffer',...
		'Mask Dialogue','Buffer input data.|Buffer size:|Buffer overlap:|Sample time:')
set_param([sys,'/',['USB-AM',13,'spectrum/Buffer']],...
		'Mask Translate','bufSize=@1;bufOverlap=@2;sampleTime=dspbufst( @3, @1-@2, @1 - 1);')
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'spectrum/Buffer']],...
		'Mask Entries','bufsize\/olap\/ts\/')


%     Finished composite block ['USB-AM',13,'spectrum/Buffer'].

set_param([sys,'/',['USB-AM',13,'spectrum/Buffer']],...
		'position',[75,24,115,56])


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

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

add_block('built-in/Inport',[sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C/in_1']])
set_param([sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C/in_1']],...
		'position',[40,75,60,95])

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

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

add_block('built-in/Outport',[sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C/out_1']])
set_param([sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C/out_1']],...
		'position',[310,85,330,105])
add_line([sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C']],[285,95;305,95])
add_line([sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C']],[65,85;100,85;100,100;150,100])
add_line([sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C']],[100,85;150,85])
add_line([sys,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C']],[190,95;220,95])
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C']],...
		'Mask Translate','sample_time=@1; [x,y]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'spectrum/FFT',13,'R -> C']],...
		'Mask Entries','-1\/')


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

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

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

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

add_block('built-in/S-Function',[sys,'/',['USB-AM',13,'spectrum/Zero Pad']])
set_param([sys,'/',['USB-AM',13,'spectrum/Zero Pad']],...
		'function name','szeropad',...
		'parameters','N')
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'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,'/',['USB-AM',13,'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,'/',['USB-AM',13,'spectrum/Zero Pad']],...
		'Mask Entries','2.^nextpow2(fftlength)\/',...
		'position',[155,24,195,56])


%     Subsystem  ['USB-AM',13,'spectrum/Magnitude'].

new_system([sys,'/',['USB-AM',13,'spectrum/Magnitude']])
set_param([sys,'/',['USB-AM',13,'spectrum/Magnitude']],'Location',[30,216,487,404])

add_block('built-in/Note',[sys,'/',['USB-AM',13,'spectrum/Magnitude/I']])
set_param([sys,'/',['USB-AM',13,'spectrum/Magnitude/I']],...
		'position',[240,105,245,110])

add_block('built-in/S-Function',[sys,'/',['USB-AM',13,'spectrum/Magnitude/Sqrt']])
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'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,'/',['USB-AM',13,'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])


%     Subsystem  ['USB-AM',13,'spectrum/Magnitude/Square'].

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

add_block('built-in/Product',[sys,'/',['USB-AM',13,'spectrum/Magnitude/Square/Product']])
set_param([sys,'/',['USB-AM',13,'spectrum/Magnitude/Square/Product']],...
		'position',[150,73,180,97])

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

add_block('built-in/Inport',[sys,'/',['USB-AM',13,'spectrum/Magnitude/Square/in_1']])
set_param([sys,'/',['USB-AM',13,'spectrum/Magnitude/Square/in_1']],...
		'position',[65,70,85,90])
add_line([sys,'/',['USB-AM',13,'spectrum/Magnitude/Square']],[185,85;205,85])
add_line([sys,'/',['USB-AM',13,'spectrum/Magnitude/Square']],[90,80;145,80])
add_line([sys,'/',['USB-AM',13,'spectrum/Magnitude/Square']],[100,80;100,90;145,90])
set_param([sys,'/',['USB-AM',13,'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,'/',['USB-AM',13,'spectrum/Magnitude/Square']],...
		'Mask Help','Computes the square of the input vector:\ny=u.^2')


%     Finished composite block ['USB-AM',13,'spectrum/Magnitude/Square'].

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

add_block('built-in/Demux',[sys,'/',['USB-AM',13,'spectrum/Magnitude/Split']])
set_param([sys,'/',['USB-AM',13,'spectrum/Magnitude/Split']],...
		'outputs','2',...

⌨️ 快捷键说明

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