📄 timing_recovery_1.mdl
字号:
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Inport
Name "Carrier Recovery ON"
Position [40, 28, 70, 42]
Port "2"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType EnablePort
Name "Enable"
Ports []
Position [165, 65, 185, 85]
}
Block {
BlockType SubSystem
Name "Carrier Recovery"
Ports [1, 1, 1]
Position [170, 117, 305, 173]
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
System {
Name "Carrier Recovery"
Location [61, 144, 996, 601]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "I/Q In"
Position [25, 113, 55, 127]
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType EnablePort
Name "Enable"
Ports []
Position [110, 60, 130, 80]
}
Block {
BlockType Reference
Name "Break Loop"
Ports [2, 1]
Position [105, 172, 135, 208]
SourceBlock "simulink/Signal\nRouting/Manual Switch"
SourceType "Manual Switch"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
sw "0"
action "0"
varsize off
}
Block {
BlockType Scope
Name "Carrier Recovery Signals"
Ports [2]
Position [715, 307, 765, 418]
Floating off
Location [505, 51, 745, 305]
Open on
NumInputPorts "2"
ZoomMode "yonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
axes2 "%<SignalLabel>"
}
TimeRange "0.0002"
YMin "-20~-100"
YMax "20~100"
SaveName "ScopeData2"
DataFormat "StructureWithTime"
MaxDataPoints "50000"
SampleTime "0"
}
Block {
BlockType ComplexToMagnitudeAngle
Name "Complex to Angle\n(to be implemented in CORDIC)"
Ports [1, 1]
Position [505, 125, 535, 155]
Output "Angle"
}
Block {
BlockType Math
Name "Conjugate 1"
Ports [1, 1]
Position [60, 225, 90, 255]
Orientation "up"
Operator "conj"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Math
Name "Conjugate 2"
Ports [1, 1]
Position [320, 180, 350, 210]
Operator "conj"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Constant
Name "Constant"
Position [25, 165, 55, 195]
Value "1+j*eps"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Constant
Name "Limit"
Position [675, 164, 720, 186]
Value "pi*4"
VectorParams1D off
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType SubSystem
Name "Limited Phase Unwrapper"
Ports [3, 1]
Position [760, 122, 835, 228]
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
Port {
PortNumber 1
Name "Carrier Phase Error"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
System {
Name "Limited Phase Unwrapper"
Location [72, 162, 715, 432]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "Phase in"
Position [30, 53, 60, 67]
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Inport
Name "Limit"
Position [35, 223, 65, 237]
Port "2"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Inport
Name "Tolerance1"
Position [35, 173, 65, 187]
Port "3"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Abs
Name "Abs"
Position [265, 95, 295, 125]
}
Block {
BlockType Reference
Name "Delay"
Ports [1, 1]
Position [110, 90, 165, 130]
SourceBlock "dspsigops/Delay"
SourceType "Delay"
dly_unit "Samples"
delay "1"
ic_detail off
dif_ic_for_ch off
dif_ic_for_dly off
ic "0"
reset_popup "None"
}
Block {
BlockType SubSystem
Name "N*2*pi accumulator"
Ports [2, 1, 1]
Position [415, 187, 500, 243]
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
System {
Name "N*2*pi accumulator"
Location [173, 226, 750, 509]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "add_sub"
Position [30, 148, 60, 162]
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Inport
Name "Limit"
Position [25, 18, 55, 32]
Port "2"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType EnablePort
Name "Enable"
Ports []
Position [360, 180, 380, 200]
}
Block {
BlockType Reference
Name "DSP\nConstant1"
Ports [0, 1]
Position [90, 199, 125, 231]
SourceBlock "dspobslib/DSP\nConstant"
SourceType "DSP Constant"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
Value "-2*pi"
SampleMode "Discrete"
discreteOutput "Sample-based"
continuousOutput "Sample-based"
sampTime "-1"
framePeriod "2"
additionalParams off
allowOverrides on
dataType "Inherit from 'Constant value'"
isSigned on
wordLen "16"
udDataType "sfix(16)"
fracBitsMode "Best precision"
numFracBits "15"
InterpretAs1D "-inf"
Ts "-inf"
FramebasedOutput "-inf"
}
Block {
BlockType Gain
Name "Gain"
Position [335, 65, 365, 95]
Gain "-1"
ParameterDataTypeMode "Inherit via internal rule"
ParameterDataType "sfix(16)"
ParameterScaling "2^0"
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
OutDataType "sfix(16)"
OutScaling "2^0"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Integer Delay"
Ports [1, 1]
Position [215, 43, 250, 77]
SourceBlock "simulink/Discrete/Integer Delay"
SourceType "Integer Delay"
vinit "0.0"
samptime "-1"
NumDelays "1"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [160, 146, 205, 179]
InputSameDT off
OutDataType "sfix(16)"
OutScaling "2^0"
RndMeth "Floor"
}
Block {
BlockType Reference
Name "Saturation\nDynamic"
Ports [3, 1]
Position [385, 27, 465, 93]
SourceBlock "simulink/Discontinuities/Saturation\nDynamic"
SourceType "Saturation Dynamic"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
OutMin "[]"
OutMax "[]"
OutDataTypeStr "Inherit: Same as second input"
OutputDataTypeScalingMode "Same as second input"
OutDataType "sfix(16)"
OutScaling "2^-10"
LockScale off
RndMeth "Floor"
DoSatur off
}
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 "single"
OutDataType "sfix(16)"
OutScaling "2^0"
OutDataTypeStr "single"
}
Block {
BlockType Outport
Name "K*2*pi"
Position [520, 53, 550, 67]
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
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
DstBlo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -