📄 timing_recovery_1.mdl
字号:
BlockType Reference
Name "Delay1"
Ports [1, 1]
Position [220, 34, 255, 66]
SourceBlock "dspsigops/Delay"
SourceType "Delay"
dly_unit "Samples"
delay "2"
ic_detail "off"
dif_ic_for_ch "off"
dif_ic_for_dly "off"
ic "0"
reset_popup "None"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [175, 31, 180, 69]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Outport
Name "2x real"
Position [275, 43, 305, 57]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Complex to\nReal-Imag"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Complex to\nReal-Imag"
SrcPort 2
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "cmplx"
SrcPort 1
DstBlock "Complex to\nReal-Imag"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Delay1"
DstPort 1
}
Line {
SrcBlock "Delay1"
SrcPort 1
DstBlock "2x real"
DstPort 1
}
Annotation {
Name "to visually allign traces"
Position [237, 86]
UseDisplayTextAsClickCallback off
}
}
}
Block {
BlockType ZeroOrderHold
Name "Primary Rx Sampler\n (I/Q ADC)"
Position [70, 231, 135, 289]
SampleTime "1/(D*Fsymbol)"
}
Block {
BlockType Reference
Name "RRC with D=2"
Ports [1, 1]
Position [170, 229, 235, 291]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag1"
SourceBlock "dspmlti4/FIR\nDecimation"
SourceType "FIR Decimation"
h "rrc_coef"
D "2"
framing "Maintain input frame size"
outputBufInitCond "0"
additionalParams off
allowOverrides on
firstCoeffMode "Same word length as input"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Same as accumulator"
outputWordLength "16"
outputFracLength "15"
accumMode "Inherit via internal rule"
accumWordLength "32"
accumFracLength "30"
prodOutputMode "Inherit via internal rule"
prodOutputWordLength "32"
prodOutputFracLength "30"
roundingMode "Floor"
overflowMode off
LockScale off
}
Block {
BlockType Scope
Name "Symbol Clocks\nand Data"
Ports [3]
Position [915, 136, 965, 244]
Floating off
Location [16, 510, 336, 762]
Open off
NumInputPorts "3"
ZoomMode "xonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
axes2 "%<SignalLabel>"
axes3 "%<SignalLabel>"
}
TimeRange "2e-006"
YMin "-0.1~-0.1~-1.5"
YMax "1.1~1.1~1.5"
DataFormat "StructureWithTime"
SampleTime "0"
}
Block {
BlockType Reference
Name "Symbol Freq\n% Error "
Ports [1, 1]
Position [135, 50, 165, 80]
BackgroundColor "yellow"
SourceBlock "simulink/Math\nOperations/Slider\nGain"
SourceType "Slider Gain"
ShowPortLabels on
low "-1.5"
gain "0.08"
high "1.5"
}
Block {
BlockType SubSystem
Name "Symbol Sampling with\nOptional Carrier Recovery"
Ports [3, 2]
Position [450, 380, 555, 480]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
System {
Name "Symbol Sampling with\nOptional Carrier Recove"
"ry"
Location [133, 288, 668, 580]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "Symbol Clock"
Position [25, 38, 55, 52]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Data"
Position [25, 98, 55, 112]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Rec_ON"
Position [65, 123, 95, 137]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Reference
Name "Delay"
Ports [1, 1]
Position [115, 29, 150, 61]
SourceBlock "dspsigops/Delay"
SourceType "Delay"
dly_unit "Samples"
delay "2"
ic_detail "off"
dif_ic_for_ch "off"
dif_ic_for_dly "off"
ic "0"
reset_popup "None"
}
Block {
BlockType SubSystem
Name "Symbol Sampler1"
Ports [2, 1, 1]
Position [150, 90, 315, 145]
TreatAsAtomicUnit on
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
System {
Name "Symbol Sampler1"
Location [31, 286, 569, 551]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [45, 198, 75, 212]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Carrier Recovery ON"
Position [40, 28, 70, 42]
Port "2"
IconDisplay "Port number"
}
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]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
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"
ZoomFactor "100"
Block {
BlockType Inport
Name "I/Q In"
Position [25, 113, 55, 127]
IconDisplay "Port number"
}
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 Swi"
"tch"
SourceType "Manual Switch"
ShowPortLabels "on"
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"
}
Block {
BlockType Scope
Name "Carrier Recovery Signals"
Ports [2]
Position [715, 307, 765, 418]
Floating off
Location [697, 512, 1019, 762]
Open off
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 implemente"
"d 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"
}
Block {
BlockType Math
Name "Conjugate 2"
Ports [1, 1]
Position [320, 180, 350, 210]
Operator "conj"
}
Block {
BlockType Constant
Name "Constant"
Position [25, 165, 55, 195]
Value "1+j*eps"
}
Block {
BlockType Constant
Name "Limit"
Position [675, 164, 720, 186]
Value "pi*4"
VectorParams1D off
}
Block {
BlockType SubSystem
Name "Limited Phase Unwrapper"
Ports [3, 1]
Position [760, 122, 835, 228]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
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"
ZoomFactor "100"
Block {
BlockType Inport
Name "Phase in"
Position [30, 53, 60, 67]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Limit"
Position [35, 223, 65, 237]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Tolerance1"
Position [35, 173, 65, 187]
Port "3"
IconDisplay "Port number"
}
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]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
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"
ZoomFactor "100"
Block {
BlockType Inport
Name "add_sub"
Position [30, 148, 60, 162]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Limit"
Position [25, 18, 55, 32]
Port "2"
IconDisplay "Port number"
}
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 "dspsrcs4/DSP\nConstant"
SourceType "DSP Constant"
ShowPortLabels "on"
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"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -