📄 timing_recovery_1oopa.mdl
字号:
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [160, 146, 205, 179]
InputSameDT off
RndMeth "Floor"
}
Block {
BlockType Reference
Name "Saturation\nDynamic"
Ports [3, 1]
Position [385, 27, 465, 93]
ForegroundColor "white"
SourceBlock "simulink/Discontinuities/Saturati"
"on\nDynamic"
SourceType "Saturation Dynamic"
ShowPortLabels on
}
Block {
BlockType Signum
Name "Sign"
Position [90, 140, 120, 170]
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [280, 50, 300, 70]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Outport
Name "K*2*pi"
Position [520, 53, 550, 67]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Integer Delay"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "DSP\nConstant1"
SrcPort 1
Points [15, 0]
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "Sign"
SrcPort 1
DstBlock "Product"
DstPort 1
}
Line {
SrcBlock "Product"
SrcPort 1
Points [80, 0]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "add_sub"
SrcPort 1
DstBlock "Sign"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Saturation\nDynamic"
DstPort 2
}
Line {
SrcBlock "Saturation\nDynamic"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "K*2*pi"
DstPort 1
}
Branch {
Points [0, 65; -340, 0; 0, -65]
DstBlock "Integer Delay"
DstPort 1
}
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Saturation\nDynamic"
DstPort 3
}
Line {
SrcBlock "Limit"
SrcPort 1
Points [260, 0; 0, 15]
Branch {
DstBlock "Gain"
DstPort 1
}
Branch {
DstBlock "Saturation\nDynamic"
DstPort 1
}
}
}
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator"
Position [385, 102, 415, 133]
InputSameDT off
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [195, 100, 215, 120]
ShowName off
IconShape "round"
Inputs "|-+"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [535, 50, 555, 70]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Outport
Name "Phase out"
Position [580, 53, 610, 67]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Phase in"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "Sum1"
DstPort 1
}
Branch {
Points [0, 50]
Branch {
Points [0, 45; 115, 0]
DstBlock "Sum"
DstPort 2
}
Branch {
DstBlock "Delay"
DstPort 1
}
}
}
Line {
SrcBlock "Delay"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "Abs"
DstPort 1
}
Branch {
Points [0, 90]
DstBlock "N*2*pi accumulator"
DstPort 1
}
}
Line {
SrcBlock "Abs"
SrcPort 1
DstBlock "Relational\nOperator"
DstPort 1
}
Line {
SrcBlock "Tolerance1"
SrcPort 1
Points [255, 0; 0, -55]
DstBlock "Relational\nOperator"
DstPort 2
}
Line {
SrcBlock "Relational\nOperator"
SrcPort 1
Points [35, 0]
DstBlock "N*2*pi accumulator"
DstPort trigger
}
Line {
SrcBlock "N*2*pi accumulator"
SrcPort 1
Points [40, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Phase out"
DstPort 1
}
Line {
SrcBlock "Limit"
SrcPort 1
DstBlock "N*2*pi accumulator"
DstPort 2
}
}
}
Block {
BlockType Reference
Name "Manual Switch2"
Ports [2, 1]
Position [640, 257, 670, 293]
Orientation "left"
ForegroundColor "white"
SourceBlock "simulink/Signal\nRouting/Manual Swi"
"tch"
SourceType "Manual Switch"
ShowPortLabels on
sw "0"
action "0"
Port {
PortNumber 1
Name "phase error"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType SubSystem
Name "P+I Loop Filter"
Ports [1, 1]
Position [370, 245, 460, 305]
Orientation "left"
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
Port {
PortNumber 1
Name "NCO control"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
System {
Name "P+I Loop Filter"
Location [99, 160, 702, 412]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "black"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [535, 33, 565, 47]
Orientation "left"
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Sum
Name "Add"
Ports [2, 1]
Position [115, 32, 145, 63]
Orientation "left"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Add1"
Ports [2, 1]
Position [265, 92, 295, 123]
Orientation "left"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "I gain"
Position [355, 85, 385, 115]
Orientation "left"
Gain "-.2"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Integer Delay"
Ports [1, 1]
Position [260, 148, 295, 182]
ForegroundColor "white"
SourceBlock "simulink/Discrete/Integer Delay"
SourceType "Integer Delay"
vinit "0.0"
samptime "-1"
NumDelays "1"
}
Block {
BlockType Gain
Name "P gain"
Position [335, 25, 365, 55]
Orientation "left"
Gain "-2"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Saturate
Name "Saturation"
Position [175, 150, 205, 180]
UpperLimit "60"
LowerLimit "-60"
}
Block {
BlockType Saturate
Name "Saturation1"
Position [65, 35, 95, 65]
Orientation "left"
UpperLimit "60"
LowerLimit "-60"
}
Block {
BlockType Gain
Name "gain"
Position [445, 25, 475, 55]
Orientation "left"
Gain "5"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Outport
Name "Out1"
Position [15, 43, 45, 57]
Orientation "left"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Add"
SrcPort 1
DstBlock "Saturation1"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
Points [0, 0]
DstBlock "gain"
DstPort 1
}
Line {
SrcBlock "I gain"
SrcPort 1
DstBlock "Add1"
DstPort 1
}
Line {
SrcBlock "Integer Delay"
SrcPort 1
Points [20, 0; 0, -50]
DstBlock "Add1"
DstPort 2
}
Line {
SrcBlock "Add1"
SrcPort 1
Points [0, 0; -100, 0]
Branch {
DstBlock "Add"
DstPort 2
}
Branch {
DstBlock "Saturation"
DstPort 1
}
}
Line {
SrcBlock "P gain"
SrcPort 1
DstBlock "Add"
DstPort 1
}
Line {
SrcBlock "gain"
SrcPort 1
Points [0, 0; -25, 0]
Branch {
Points [0, 60]
DstBlock "I gain"
DstPort 1
}
Branch {
DstBlock "P gain"
DstPort 1
}
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Integer Delay"
DstPort 1
}
Line {
SrcBlock "Saturation1"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [175, 112, 205, 143]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [425, 122, 455, 153]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType SubSystem
Name "Slicer"
Ports [1, 1]
Position [290, 105, 380, 155]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
System {
Name "Slicer"
Location [314, 165, 713, 313]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "black"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -