📄 rayleighflatfading_psk_div.mdl
字号:
BlockType Reference
Name "Avg Power"
Ports [1, 1]
Position [360, 150, 390, 185]
Orientation "up"
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag1"
SourceBlock "dspstat3/Variance"
SourceType "Variance"
run on
reset_popup "None"
directionMode "Each column"
dimension "1"
treatSBRowAsCol on
roiEnable off
roiType "Rectangles"
roiPortion "Entire ROI"
roiOutput "Individual statistics for each ROI"
roiFlag off
additionalParams off
allowOverrides on
outputMode "Same as input-squared product"
outputWordLength "32"
outputFracLength "30"
accumMode "Same as input-squared product"
accumWordLength "32"
accumFracLength "30"
prodOutputMode "Same as input"
prodOutputWordLength "32"
prodOutputFracLength "30"
memoryMode "Same as input-squared product"
memoryWordLength "32"
memoryFracLength "30"
roundingMode "Floor"
overflowMode off
LockScale off
}
Block {
BlockType Display
Name "Display2"
Ports [1]
Position [445, 73, 640, 107]
ShowName off
Decimation "1"
Lockdown off
}
Block {
BlockType Product
Name "Divide1"
Ports [2, 1]
Position [295, 192, 335, 243]
ShowName off
Inputs "**"
Multiplication "Matrix(*)"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutDataType "sfix(16)"
OutScaling "2^-10"
OutDataTypeStr "Inherit: Inherit via internal rule"
RndMeth "Floor"
SaturateOnIntegerOverflow off
}
Block {
BlockType FrameConversion
Name "Frame Conversion"
Ports [1, 1]
Position [460, 209, 475, 231]
ShowName off
}
Block {
BlockType Math
Name "Math\nFunction"
Ports [1, 1]
Position [85, 371, 115, 389]
ShowName off
Operator "magnitude^2"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Math
Name "Math\nFunction1"
Ports [1, 1]
Position [85, 416, 115, 434]
ShowName off
Operator "magnitude^2"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Math
Name "Math\nFunction2"
Ports [1, 1]
Position [211, 355, 229, 375]
Orientation "up"
NamePlacement "alternate"
ShowName off
Operator "sqrt"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Reference
Name "Mean"
Ports [1, 1]
Position [354, 105, 396, 130]
Orientation "up"
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag2"
SourceBlock "dspstat3/Mean"
SourceType "Mean"
run off
reset_popup "None"
directionMode "Each column"
dimension "1"
treatSBRowAsCol on
roiEnable off
roiType "Rectangles"
roiPortion "Entire ROI"
roiOutput "Individual statistics for each ROI"
roiFlag off
additionalParams off
allowOverrides on
outputMode "Same as accumulator"
outputWordLength "32"
outputFracLength "30"
accumMode "Same as input"
accumWordLength "32"
accumFracLength "30"
roundingMode "Floor"
overflowMode off
LockScale off
}
Block {
BlockType Gain
Name "Normalize\nPower"
Position [205, 300, 235, 330]
Orientation "up"
Gain "1/sqrt(2)"
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
Port {
PortNumber 1
Name "Rayleigh\nRV"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Reference
Name "Random\nSource"
Ports [0, 1]
Position [25, 361, 60, 399]
ShowName off
UserDataPersistent on
UserData "DataTag3"
SourceBlock "dspsrcs4/Random\nSource"
SourceType "Random Source"
SrcType "Gaussian"
NormMethod "Ziggurat"
CltLength "12"
MinVal "0"
MaxVal "1"
MeanVal "zeros(1,L)"
VarVal "1"
RepMode "Not repeatable"
rawSeed "1"
IsInherit off
SampMode "Discrete"
SampTime "Ts*frameSize"
SampFrame "1"
DataType "Double"
OutComplex "Real"
}
Block {
BlockType Reference
Name "Random\nSource1"
Ports [0, 1]
Position [25, 406, 60, 444]
ShowName off
UserDataPersistent on
UserData "DataTag4"
SourceBlock "dspsrcs4/Random\nSource"
SourceType "Random Source"
SrcType "Gaussian"
NormMethod "Ziggurat"
CltLength "12"
MinVal "0"
MaxVal "1"
MeanVal "zeros(1,L)"
VarVal "1"
RepMode "Not repeatable"
rawSeed "1"
IsInherit off
SampMode "Discrete"
SampTime "Ts*frameSize"
SampFrame "1"
DataType "Double"
OutComplex "Real"
}
Block {
BlockType Reshape
Name "Reshape"
Position [410, 208, 440, 232]
OutputDimensionality "Column vector (2-D)"
}
Block {
BlockType Reshape
Name "Reshape1"
Position [610, 208, 640, 232]
OutputDimensionality "Customize"
OutputDimensions "[frameSize, L]"
}
Block {
BlockType SubSystem
Name "zzzzz2"
Ports []
Position [15, 279, 307, 468]
BackgroundColor "[0.925490, 0.670588, 0.827451]"
DropShadow on
ShowName off
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
MaskDisplay "disp('')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "zzzzz2"
Location [433, 403, 931, 703]
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 Outport
Name "Ch_out"
Position [680, 213, 710, 227]
IconDisplay "Port number"
}
Block {
BlockType Outport
Name "Ch_gain"
Position [680, 258, 710, 272]
Port "2"
IconDisplay "Port number"
}
Line {
SrcBlock "Avg Power"
SrcPort 1
DstBlock "Mean"
DstPort 1
}
Line {
SrcBlock "Mean"
SrcPort 1
Points [0, -10]
DstBlock "Display2"
DstPort 1
}
Line {
SrcBlock "AWGN\nChannel"
SrcPort 1
DstBlock "Reshape1"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
Points [135, 0; 0, 40]
DstBlock "Divide1"
DstPort 1
}
Line {
SrcBlock "Random\nSource"
SrcPort 1
DstBlock "Math\nFunction"
DstPort 1
}
Line {
SrcBlock "Random\nSource1"
SrcPort 1
DstBlock "Math\nFunction1"
DstPort 1
}
Line {
SrcBlock "Math\nFunction"
SrcPort 1
Points [10, 0]
DstBlock "Add"
DstPort 1
}
Line {
SrcBlock "Math\nFunction1"
SrcPort 1
Points [10, 0]
DstBlock "Add"
DstPort 2
}
Line {
SrcBlock "Add"
SrcPort 1
Points [40, 0]
DstBlock "Math\nFunction2"
DstPort 1
}
Line {
SrcBlock "Divide1"
SrcPort 1
Points [35, 0]
Branch {
DstBlock "Avg Power"
DstPort 1
}
Branch {
DstBlock "Reshape"
DstPort 1
}
}
Line {
Name "Rayleigh\nRV"
SrcBlock "Normalize\nPower"
SrcPort 1
Points [0, -30]
Branch {
DstBlock "Ch_gain"
DstPort 1
}
Branch {
Labels [1, 1]
Points [0, -35]
DstBlock "Divide1"
DstPort 2
}
}
Line {
SrcBlock "Math\nFunction2"
SrcPort 1
DstBlock "Normalize\nPower"
DstPort 1
}
Line {
SrcBlock "Reshape"
SrcPort 1
DstBlock "Frame Conversion"
DstPort 1
}
Line {
SrcBlock "Reshape1"
SrcPort 1
DstBlock "Ch_out"
DstPort 1
}
Line {
SrcBlock "Frame Conversion"
SrcPort 1
DstBlock "AWGN\nChannel"
DstPort 1
}
Annotation {
Name "Estimated\nAvg Power"
Position [473, 53]
}
Annotation {
Name "Generate Rayleigh\nRandom Variables"
Position [103, 248]
BackgroundColor "[0.925490, 0.674510, 0.835294]"
DropShadow on
FontName "Arial"
FontSize 18
FontWeight "bold"
}
Annotation {
Name "Note:\nThis channel model does NOT model the phase of the channel.\nIt is meant to be used with receivers"
" that assume perfect channel\nstate information (CSI), and thus applying a phase rotation will\nhave no effect on s"
"ystem performance."
Position [16, 52]
HorizontalAlignment "left"
FontName "Arial"
FontSize 12
}
Annotation {
Name "The channel is being modeled as a quasi-static channel,\ni.e., we generate only one fading level for each"
" data frame.\nThis simulates the case where the channel variation is\ninsignificant over a large number of transmit"
"ted symbols.\nIt also helps speed up simulations by avoiding the modeling\nof channel dynamics."
Position [321, 360]
HorizontalAlignment "left"
FontName "Arial"
FontSize 12
}
}
}
Block {
BlockType Reference
Name "M-PSK\nDemodulator\nBaseband"
Ports [1, 1]
Position [735, 190, 810, 240]
DialogController "commDDGCreate"
DialogControllerArgs "DataTag5"
SourceBlock "commdigbbndpm3/M-PSK\nDemodulator\nBaseband"
SourceType "M-PSK Demodulator Baseband"
M "M"
Ph "0"
Dec "Gray"
Mapping "[0:7]"
OutType "Bit"
DecType "Hard decision"
VarSource "Dialog"
Variance "1"
outDtype1 "Inherit via internal rule"
outDtype2 "Inherit via internal rule"
derotateFactorDTMode "Same word length as input"
derotateFactorWordLen "16"
}
Block {
BlockType Reference
Name "M-PSK\nModulator\nBaseband"
Ports [1, 1]
Position [170, 189, 245, 241]
NamePlacement "alternate"
DialogController "commDDGCreate"
DialogControllerArgs "DataTag6"
SourceBlock "commdigbbndpm3/M-PSK\nModulator\nBaseband"
SourceType "M-PSK Modulator Baseband"
M "M"
InType "Bit"
Enc "Gray"
Mapping "[0:7]"
Ph "0"
outDtype "double"
outWordLen "16"
outUDDataType "sfix(16)"
outFracLenMode "Best precision"
outFracLen "15"
}
Block {
BlockType SubSystem
Name "Path Combiner\n(Using MRC)"
Ports [2, 1]
Position [600, 185, 640, 245]
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
System {
Name "Path Combiner\n(Using MRC)"
Location [924, 708, 1468, 923]
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 "In1"
Position [25, 43, 55, 57]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "In2"
Position [20, 83, 50, 97]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Math
Name "Conj"
Ports [1, 1]
Position [75, 81, 105, 99]
Operator "conj"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Reference
Name "Create Diagonal\nMatrix"
Ports [1, 1]
Position [135, 77, 170, 103]
SourceBlock "dspmtrx3/Create Diagonal\nMatrix"
SourceType "Create Diagonal Matrix"
}
Block {
BlockType Product
Name "Divide1"
Ports [2, 1]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -