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

📄 tstrcos.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[175,95;195,95])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[65,145;100,145;100,35;130,35])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[100,145;180,145;180,105;195,105])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[170,30;260,30])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[235,100;240,100;240,40;260,40])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[300,35;335,35])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Display','Edge\nDetector',...
		'Mask Type','Edge Detection')
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Dialogue','Rising edge detection:|Threshold:|Sampling time:',...
		'Mask Translate','thld=@1;ts=@2;')
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Help','When the input signal rising edge passed the given shreshold, this block outputs one, otherwise outputs zero.')
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Entries','thr\/ts\/')


%     Finished composite block ['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector'].

set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'position',[65,26,120,54])

add_block('built-in/Switch',[sys,'/',['Raised cosine',13,'filter/Memory Impulse/Switch']])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/Switch']],...
		'Threshold','.5',...
		'position',[295,124,320,156])

add_block('built-in/Constant',[sys,'/',['Raised cosine',13,'filter/Memory Impulse/Constant']])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/Constant']],...
		'Value','x',...
		'position',[210,155,230,175])

add_block('built-in/Outport',[sys,'/',['Raised cosine',13,'filter/Memory Impulse/out_1']])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/out_1']],...
		'position',[355,130,375,150])

add_block('built-in/Product',[sys,'/',['Raised cosine',13,'filter/Memory Impulse/Product']])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/Product']],...
		'position',[155,90,180,110])

add_block('built-in/Zero-Order Hold',[sys,'/',['Raised cosine',13,'filter/Memory Impulse/Zero-Order',13,'Hold']])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/Zero-Order',13,'Hold']],...
		'Sample time','ts',...
		'position',[205,84,240,116])

add_block('built-in/Inport',[sys,'/',['Raised cosine',13,'filter/Memory Impulse/in_1']])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse/in_1']],...
		'position',[35,185,55,205])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[50,40;60,40])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[125,40;130,40;130,95;150,95])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[235,165;250,165;250,140;290,140])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[325,140;350,140])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[60,195;280,195;290,150])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[95,195;95,105;150,105])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[185,100;200,100])
add_line([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],[245,100;260,100;260,130;290,130])
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],...
		'Mask Display','1/sinc',...
		'Mask Type','Impulse',...
		'Mask Dialogue','1/sinc filter:|Holding time:|Threshold for clock pulse: ')
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],...
		'Mask Translate','ts=@1;thr=@2;x=thr>0;')
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],...
		'Mask Help','When the threshold is greater than zero, this block outputs an impulse signal, which begins at the raising edge of the second input and lasts the holding time. The impulse holds a constant amplitude, which equals the amplitude of the first input at the begining of the impulse. A clock raising edge will trigger next impulse. When the threshold is less or equal to zero, this block faithfully outputs the first input.')
set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],...
		'Mask Entries','ts\/x\/')


%     Finished composite block ['Raised cosine',13,'filter/Memory Impulse'].

set_param([sys,'/',['Raised cosine',13,'filter/Memory Impulse']],...
		'position',[155,30,225,70])
add_line([sys,'/',['Raised cosine',13,'filter']],[315,50;325,50])
add_line([sys,'/',['Raised cosine',13,'filter']],[60,40;150,40])
add_line([sys,'/',['Raised cosine',13,'filter']],[230,50;250,50])
add_line([sys,'/',['Raised cosine',13,'filter']],[100,90;115,90;115,60;150,60])
set_param([sys,'/',['Raised cosine',13,'filter']],...
		'Mask Display','R-C\nfilter',...
		'Mask Type','R-C filter')
set_param([sys,'/',['Raised cosine',13,'filter']],...
		'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,'filter']],...
		'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,'filter']],...
		'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,'filter']],...
		'Mask Entries','td\/ts\/.5\/3\/''FIR''\/1\/')


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

set_param([sys,'/',['Raised cosine',13,'filter']],...
		'hide name',0,...
		'position',[220,48,300,92])


%     Subsystem  ['Raised cosine',13,'filter1'].

new_system([sys,'/',['Raised cosine',13,'filter1']])
set_param([sys,'/',['Raised cosine',13,'filter1']],'Location',[131,545,589,761])


%     Subsystem  ['Raised cosine',13,'filter1/Memory Impulse'].

new_system([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],'Location',[541,520,939,745])

add_block('built-in/Inport',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/in_1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/in_1']],...
		'position',[35,185,55,205])

add_block('built-in/Zero-Order Hold',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Zero-Order',13,'Hold']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Zero-Order',13,'Hold']],...
		'Sample time','ts',...
		'position',[205,84,240,116])

add_block('built-in/Product',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Product']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Product']],...
		'position',[155,90,180,110])

add_block('built-in/Outport',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/out_1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/out_1']],...
		'position',[355,130,375,150])

add_block('built-in/Constant',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Constant']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Constant']],...
		'Value','x',...
		'position',[210,155,230,175])

add_block('built-in/Switch',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Switch']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/Switch']],...
		'Threshold','.5',...
		'position',[295,124,320,156])


%     Subsystem  ['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector'].

new_system([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],'Location',[419,521,808,713])

add_block('built-in/Relational Operator',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator']],...
		'position',[135,18,165,42])

add_block('built-in/Inport',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/in_1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/in_1']],...
		'position',[10,15,30,35])

add_block('built-in/Constant',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/one1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/one1']],...
		'Value','thld',...
		'position',[30,135,60,155])

add_block('built-in/Relational Operator',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator2']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator2']],...
		'Operator','>',...
		'position',[265,23,295,47])

add_block('built-in/Relational Operator',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator1']],...
		'position',[200,88,230,112])

add_block('built-in/Outport',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/out_1']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/out_1']],...
		'position',[340,25,360,45])

add_block('built-in/Unit Delay',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Unit Delay']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector/Unit Delay']],...
		'Sample time','ts',...
		'position',[120,87,170,103])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[300,35;335,35])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[235,100;240,100;240,40;260,40])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[170,30;260,30])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[65,145;100,145;100,35;130,35])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[100,145;180,145;180,105;195,105])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[175,95;195,95])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[35,25;130,25])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],[45,25;45,95;115,95])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Display','Edge\nDetector',...
		'Mask Type','Edge Detection')
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Dialogue','Rising edge detection:|Threshold:|Sampling time:',...
		'Mask Translate','thld=@1;ts=@2;')
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Help','When the input signal rising edge passed the given shreshold, this block outputs one, otherwise outputs zero.')
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'Mask Entries','thr\/ts\/')


%     Finished composite block ['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector'].

set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/discrete',13,'Rising edge',13,'detector']],...
		'position',[65,26,120,54])

add_block('built-in/Inport',[sys,'/',['Raised cosine',13,'filter1/Memory Impulse/in_2']])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse/in_2']],...
		'Port','2',...
		'position',[25,30,45,50])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[245,100;260,100;260,130;290,130])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[185,100;200,100])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[60,195;280,195;290,150])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[95,195;95,105;150,105])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[325,140;350,140])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[235,165;250,165;250,140;290,140])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[125,40;130,40;130,95;150,95])
add_line([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],[50,40;60,40])
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],...
		'Mask Display','1/sinc',...
		'Mask Type','Impulse',...
		'Mask Dialogue','1/sinc filter:|Holding time:|Threshold for clock pulse: ')
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],...
		'Mask Translate','ts=@1;thr=@2;x=thr>0;')
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],...
		'Mask Help','When the threshold is greater than zero, this block outputs an impulse signal, which begins at the raising edge of the second input and lasts the holding time. The impulse holds a constant amplitude, which equals the amplitude of the first input at the begining of the impulse. A clock raising edge will trigger next impulse. When the threshold is less or equal to zero, this block faithfully outputs the first input.')
set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],...
		'Mask Entries','ts\/x\/')


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

set_param([sys,'/',['Raised cosine',13,'filter1/Memory Impulse']],...
		'position',[155,30,225,70])

add_block('built-in/Filter',[sys,'/',['Raised cosine',13,'filter1/Filter']])
set_param([sys,'/',['Raised cosine',13,'filter1/Filter']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[255,31,310,69])

add_block('built-in/Outport',[sys,'/',['Raised cosine',13,'filter1/out_1']])
set_param([sys,'/',['Raised cosine',13,'filter1/out_1']],...
		'position',[330,40,350,60])

add_block('built-in/Inport',[sys,'/',['Raised cosine',13,'filter1/in_1']])
set_param([sys,'/',['Raised cosine',13,'filter1/in_1']],...
		'position',[35,30,55,50])

⌨️ 快捷键说明

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