📄 s060_elg.mdl
字号:
}
Block {
BlockType Fcn
Name "atan2"
Position [140, 50, 180, 70]
ShowName off
Expr "atan2(u[2],u(1))"
}
Block {
BlockType Reference
Name "脉冲信号"
Ports [0, 1]
Position [205, 83, 285, 127]
SourceBlock "com_sour/Pulses divide\nsample time"
SourceType "Pulse generator"
samp_time "tss"
out_divid "1"
offset "0"
}
Block {
BlockType Reference
Name "移位寄存器"
Ports [2, 2]
Position [355, 43, 435, 87]
SourceBlock "com_util/Register-shift"
SourceType "Register-shift"
shft_out "[1:5]"
thrhld ".5"
}
Block {
BlockType Outport
Name "out_1"
Position [560, 45, 580, 65]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "移位寄存器"
SrcPort 2
DstBlock "Terminator_1"
DstPort 1
}
Line {
SrcBlock "MATLAB Fcn1"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "移位寄存器"
SrcPort 1
DstBlock "MATLAB Fcn1"
DstPort 1
}
Line {
SrcBlock "脉冲信号"
SrcPort 1
Points [40, 0]
DstBlock "移位寄存器"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "移位寄存器"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "atan2"
DstPort 1
}
Line {
SrcBlock "Unit Delay"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "atan2"
SrcPort 1
Points [0, 0]
Branch {
DstBlock "Unit Delay"
DstPort 1
}
Branch {
Points [10, 0; 0, -20; 85, 0; 0, 10]
DstBlock "Sum"
DstPort 1
}
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "in_2"
SrcPort 1
Points [10, 0; 0, -40]
DstBlock "Mux"
DstPort 2
}
}
}
Block {
BlockType Gain
Name "Gain"
Position [315, 207, 340, 233]
Orientation "left"
ShowName off
Gain "10"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
}
Block {
BlockType SubSystem
Name "MFSK 调制"
Ports [1, 1]
Position [220, 33, 300, 77]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "Passband FSK modulation"
MaskDescription "Modulate the input digital signal using M-ary f"
"requency shift keying method."
MaskHelp "This block modulates a digital signal using FSK"
" method. The modulation resets the modulation phase to be the specified initi"
"al phase at the beginning of each digit. Tone space is the frequency distance"
" between two consecutive digits after modulation. The output signal has its f"
"requency in the range [Fc, Fc + Tone_space*Max_In_Value], where Fc is the car"
"rier frequency."
MaskPromptString "Tone space(Hz):|Symbol interval (sec):|Carrier "
"frequency (Hz):|Initial phase (rad):|Sample time (sec):"
MaskStyleString "edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on"
MaskCallbackString "||||"
MaskEnableString "on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on"
MaskToolTipString "on,on,on,on,on"
MaskVariables "Ton=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
MaskDisplay "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10:1.6:20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+1"
"0*[sin([0:.8:10]*pi*2/5) sin([10:1.6:20]*pi/5) sin([20:.8:30]*pi*2/5)]]);\ndi"
"sp('MFSK');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "Fshift|tdd|Fc|0|tss"
MaskVariableAliases ",,,,"
System {
Name "MFSK 调制"
Location [362, 143, 758, 143]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [15, 60, 35, 80]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType SubSystem
Name "FM\npassband"
Ports [1, 1]
Position [190, 48, 270, 92]
ForegroundColor "blue"
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "Passband FM"
MaskDescription "Modulate the input signal using FM method."
MaskHelp "This block modulates the input signal using"
" frequency modulation method. The frequency of the output of the carrier sign"
"al depends on the amplitude of the input signal."
MaskPromptString "Carrier frequency (Hz):|Initial phase (rad)"
":|Sample time (sec):|Symbol interval (sec; Use Inf for analog mod);"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskInitialization "Fc=@1;Ph=@2;ts=@3;td=@4;pi2=2*pi;if isinf(t"
"d),td=realmax;end;\n"
MaskDisplay " plot(0,0,100,100,[4.5*[0:10]+5 50 50 50 50"
"+4.5*[0:.15:10]],[10*sin([0:10]*pi/5)+85 85 99 75 85+10*[sin([0:.15:10]*pi*2+"
"cumsum(sin([0:.15:10]*pi/5))/2)]]);\ndisp('FM')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "Fc|Ph|ts|td"
MaskVariableAliases ",,,"
System {
Name "FM\npassband"
Location [412, 193, 930, 209]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [60, 40, 80, 60]
ShowName off
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Constant
Name "Constant"
Position [40, 85, 60, 105]
ShowName off
Value "Fc"
VectorParams1D on
}
Block {
BlockType Reference
Name "Scheduled\nreset-int1"
Ports [1, 1]
Position [180, 38, 260, 82]
ShowName off
SourceBlock "com_util/Scheduled\nreset-int"
SourceType "Scheduled reset integration"
td "td"
ts "ts"
limit "realmax"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [130, 42, 150, 78]
ShowName off
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Fcn
Name "sin"
Position [290, 45, 430, 75]
ShowName off
Expr "cos(u[1]*pi2+Ph)"
}
Block {
BlockType Outport
Name "out_1"
Position [465, 50, 485, 70]
ShowName off
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [25, 0; 0, -25]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Scheduled\nreset-int1"
DstPort 1
}
Line {
SrcBlock "Scheduled\nreset-int1"
SrcPort 1
DstBlock "sin"
DstPort 1
}
Line {
SrcBlock "sin"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "MFSK map"
Ports [1, 1]
Position [75, 48, 155, 92]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "MFSK map"
MaskDescription "Map input digital signal to analog tone spa"
"ce for FM modulation. The tone space is the frequency distance between two co"
"nsective digit numbers."
MaskHelp "This block maps the input digital signal to"
" the analog signal, which is ready for the FM modulation. The input are integ"
"ers in the range [0, M-1], where M is the M-ary number. Tone space is the fre"
"quency separation between two consective digits for the input signal. After F"
"M, the modulated signal has a frequency in the range of [Fc, Fc+B]. B is the "
"bandwidth of the FSK, B=(M-1) * Tone_space."
MaskPromptString "Tone space (Hz):|Input symbol interval and "
"offset (sec):"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVariables "Ton=@1;td=@2;"
MaskDisplay "disp('MFSK\\nmap')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "Ton|td"
MaskVariableAliases ","
System {
Name "MFSK map"
Location [412, 193, 729, 316]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [45, 45, 65, 65]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Gain
Name "Gain"
Position [175, 38, 225, 72]
Gain "Ton"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [105, 39, 140, 71]
SampleTime "td"
}
Block {
BlockType Outport
Name "out_1"
Position [260, 45, 280, 65]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Zero-Order\nHold1"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
}
}
Block {
BlockType Outport
Name "out_1"
Position [290, 60, 310, 80]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "MFSK map"
SrcPort 1
DstBlock "FM\npassband"
DstPort 1
}
Line {
SrcBlock "FM\npassband"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "MFSK map"
DstPort 1
}
}
}
Block {
BlockType Scope
Name "Scope"
Ports [3]
Position [370, 150, 400, 190]
Floating off
Location [294, 136, 628, 486]
Open on
NumInputPorts "3"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "Signal to Noise Ratio, dB"
axes2 "FM Detector Output"
axes3 "Recovered Symbol Clock"
}
List {
ListType SelectedSignals
axes1 ""
axes2 ""
axes3 ""
}
Grid "on"
TimeRange "0.01"
YMin "-8~-10~-0.5"
YMax "8~7.5~2.5"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Terminator
Name "Terminator_1"
Position [340, 245, 350, 255]
Orientation "left"
ShowName off
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
}
Block {
BlockType TransportDelay
Name "Transport\nDelay"
Position [305, 265, 345, 295]
Orientation "left"
ShowName off
DelayTime "tdd/4"
InitialInput "0"
BufferSize "1024"
PadeOrder "0"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
}
Block {
BlockType SubSystem
Name "积分、采样与门限"
Ports [2, 1]
Position [185, 233, 220, 297]
Orientation "left"
ShowPor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -