📄 gardner_intdelay.mdl
字号:
Block {
BlockType Gain
Gain "1"
Multiplication "Element-wise(K.*u)"
ParameterDataTypeMode "Same as input"
ParameterDataType "sfix(16)"
ParameterScalingMode "Best Precision: Matrix-wise"
ParameterScaling "2^0"
OutDataTypeMode "Same as input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Goto
IconDisplay "Tag"
}
Block {
BlockType Ground
}
Block {
BlockType HitCross
HitCrossingOffset "0"
HitCrossingDirection "either"
ShowOutputPort on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Inport
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
Interpolate on
}
Block {
BlockType Math
Operator "exp"
OutputSignalType "auto"
SampleTime "-1"
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Port "1"
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Product
Inputs "2"
Multiplication "Element-wise(.*)"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Zero"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Reference
}
Block {
BlockType RelationalOperator
Operator ">="
InputSameDT on
LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimiza"
"tion)"
LogicDataType "uint(8)"
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Rounding
Operator "floor"
SampleTime "-1"
}
Block {
BlockType Scope
Floating off
ModelBased off
TickLabels "OneTimeTick"
ZoomMode "on"
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType "S-Function"
FunctionName "system"
SFunctionModules "''"
PortCounts "[]"
}
Block {
BlockType SubSystem
ShowPortLabels on
Permissions "ReadWrite"
PermitHierarchicalResolution "All"
SystemSampleTime "-1"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
SimViewingDevice off
DataTypeOverride "UseLocalSettings"
MinMaxOverflowLogging "UseLocalSettings"
}
Block {
BlockType Sum
IconShape "rectangular"
Inputs "++"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Switch
Criteria "u2 >= Threshold"
Threshold "0"
InputSameDT on
OutDataTypeMode "Inherit via internal rule"
RndMeth "Floor"
SaturateOnIntegerOverflow on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType TriggerPort
TriggerType "rising"
StatesWhenEnabling "inherit"
ShowOutputPort off
OutputDataType "auto"
SampleTimeType "triggered"
SampleTime "1"
ZeroCross on
}
}
AnnotationDefaults {
HorizontalAlignment "center"
VerticalAlignment "middle"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
FontName "Helvetica"
FontSize 10
FontWeight "normal"
FontAngle "normal"
}
LineDefaults {
FontName "Helvetica"
FontSize 9
FontWeight "normal"
FontAngle "normal"
}
System {
Name "gardner_intdelay"
Location [14, 74, 907, 489]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType Reference
Name "AWGN Channel"
Ports [1, 1]
Position [680, 89, 760, 131]
SourceBlock "commchan2/AWGN\nChannel"
SourceType "AWGN Channel"
ShowPortLabels on
seed "67"
noiseMode "Signal to noise ratio (SNR)"
EbNodB "10"
EsNodB "10"
SNRdB "g1.snrdB"
bitsPerSym "1"
Ps "1"
Tsym "1"
variance "1"
}
Block {
BlockType From
Name "Assuming A-D \nconverted signal"
Position [35, 288, 105, 312]
DialogController "Simulink.DDGSource"
CloseFcn "tagdialog Close"
GotoTag "Rx_Data"
}
Block {
BlockType Display
Name "Delay"
Ports [1]
Position [785, 332, 870, 358]
Decimation "1"
}
Block {
BlockType SubSystem
Name "Demodulator"
Ports [2, 1, 1]
Position [530, 226, 640, 299]
NamePlacement "alternate"
TreatAsAtomicUnit on
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
System {
Name "Demodulator"
Location [562, 538, 1242, 755]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [75, 113, 105, 127]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Inport
Name "In2"
Position [315, 73, 345, 87]
Port "2"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType EnablePort
Name "Enable"
Ports []
Position [40, 25, 59, 43]
}
Block {
BlockType Reference
Name "Discrete-Time\nScatter Plot\nScope1"
Tag "ScatterPlot"
Ports [1]
Position [170, 25, 215, 75]
ShowName off
Diagnostics "AllowInheritedTsInSrc"
SourceBlock "commsink2/Discrete-Time\nScatter Plot\nScop"
"e"
SourceType "Discrete-Time Scatter Plot Scope"
ShowPortLabels "on"
sampPerSymb "1"
offsetEye "0"
numTraces "25"
numNewFrames "10"
LineMarkers "*"
LineColors "b"
fading "on"
render "on"
AxisGrid "on"
xMin "-1.48482741766718"
xMax "1.23560782132064"
yMin "-1.27859363735973"
yMax "1.4418416016281"
inphaseLabel "In-phase Amplitude"
quadratureLabel "Quadrature Amplitude"
openScopeAtSimStart "on"
FrameNumber "off"
FigPos "[346 367 316 316]"
figTitle "Recovered Signal"
numLinesMax "8"
block_type_ "scatter"
}
Block {
BlockType Reference
Name "M-PSK Demodulator\nBaseband"
Ports [1, 1]
Position [200, 95, 275, 145]
SourceBlock "commdigbbndpm2/M-PSK\nDemodulator\nBaseband"
SourceType "M-PSK Demodulator Baseband"
M "g1.M"
OutType "Integer"
Dec "Binary"
Ph "0"
numSamp "1"
}
Block {
BlockType Reference
Name "Symbol Error\nRate"
Ports [2, 1]
Position [380, 59, 455, 141]
SourceBlock "commsink2/Error Rate\nCalculation"
SourceType "Error Rate Calculation"
N "2*g1.filtDelay"
st_delay "0"
cp_mode "Entire frame"
subframe "[]"
PMode "Port"
WsName "ErrorVec"
RsMode2 "off"
stop "off"
numErr "10"
maxBits "1000"
}
Block {
BlockType Outport
Name "Error Rate"
Position [520, 93, 550, 107]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "M-PSK Demodulator\nBaseband"
SrcPort 1
DstBlock "Symbol Error\nRate"
DstPort 2
}
Line {
SrcBlock "In1"
SrcPort 1
Points [35, 0]
Branch {
Points [0, -70]
DstBlock "Discrete-Time\nScatter Plot\nScope1"
DstPort 1
}
Branch {
DstBlock "M-PSK Demodulator\nBaseband"
DstPort 1
}
}
Line {
SrcBlock "Symbol Error\nRate"
SrcPort 1
DstBlock "Error Rate"
DstPort 1
}
Line {
SrcBlock "In2"
SrcPort 1
DstBlock "Symbol Error\nRate"
DstPort 1
}
Annotation {
Name "Subsystem Details:\nDemodulate incoming fra"
"me and compute the error rate \nbased on the derived frame clock. "
Position [538, 192]
ForegroundColor "blue"
}
}
}
Block {
BlockType Scope
Name "Error\nSignal"
Ports [1]
Position [685, 333, 715, 367]
Location [13, 517, 338, 725]
Open on
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "Error Signal"
}
TimeRange "9.99 "
YMin "-1.5"
YMax "2"
SaveName "ScopeData1"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType From
Name "From1"
Position [730, 335, 775, 355]
ShowName off
DialogController "Simulink.DDGSource"
CloseFcn "tagdialog Close"
GotoTag "Delay"
}
Block {
BlockType From
Name "From2"
Position [775, 252, 825, 268]
ShowName off
DialogController "Simulink.DDGSource"
CloseFcn "tagdialog Close"
GotoTag "SymClk"
}
Block {
BlockType SubSystem
Name "Gardner Symbol \nSynchronizer"
Ports [1, 4]
Position [275, 223, 380, 372]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskType "Gardner Symbol Synchronizer"
MaskDescription "Performs synchronous-sampled Symbol timing reco"
"very for an up-sampled filtered signal using Gardner's timing-error-detector."
"\n\nThe subsystem allows for tracking a difference in the receiver source sym"
"bol frequency from the actual transmitter value. Specify this difference in t"
"he receiver source symbol frequency as a percentage of the desired transmitte"
"r value."
MaskPromptString "Receiver source symbol frequency (Hz):|Proporti"
"onal loop filter gain (Kp):|Integral loop filter gain (Ki):|Input sensitivity"
":|Sample time (s):"
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"
MaskVarAliasString ",,,,"
MaskVariables "rxSymbFreq=@1;propFiltGain=@2;intFiltGain=@3;in"
"pSens=@4;ts=@5;"
MaskInitialization "rxSymbFreq = rxSymbFreq*2; % as trigger on the "
"rising edge\noutSamp=2;\n"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "(1/g1.tsym)*g1.percent|0.75|0.2|(1/g1.tsym)*2/1"
"0|g1.tsym/g1.L"
MaskTabNameString ",,,,"
System {
Name "Gardner Symbol \nSynchronizer"
Location [171, 304, 905, 623]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "Input"
Position [20, 93, 50, 107]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Goto
Name "Goto2"
Position [415, 35, 475, 55]
ShowName off
DialogController "Simulink.DDGSource"
GotoTag "SymClk"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -