📄 rayleighflatfading_psk_l2.mdl
字号:
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
maxDopplerShift "1000"
pathDelays "0"
avgPathGaindB "0"
normalizePathGains on
seed "randseed(611)"
enableProbe "0"
openVisAtStart off
outPathGains on
outDelay off
Port {
PortNumber 2
Name "Channel State Information (CSI)"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Outport
Name "Ch1_out"
Position [435, 173, 465, 187]
IconDisplay "Port number"
}
Block {
BlockType Outport
Name "Ch1_gain"
Position [435, 228, 465, 242]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Outport
Name "Ch2_out"
Position [435, 288, 465, 302]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Outport
Name "Ch2_gain"
Position [435, 348, 465, 362]
Port "4"
IconDisplay "Port number"
}
Line {
SrcBlock "Avg Power"
SrcPort 1
DstBlock "Mean"
DstPort 1
}
Line {
SrcBlock "Mean"
SrcPort 1
DstBlock "Display2"
DstPort 1
}
Line {
SrcBlock "Multipath Rayleigh\nFading Channel"
SrcPort 1
Points [20, 0]
Branch {
DstBlock "Avg Power"
DstPort 1
}
Branch {
DstBlock "AWGN\nChannel"
DstPort 1
}
}
Line {
SrcBlock "AWGN\nChannel"
SrcPort 1
DstBlock "Ch1_out"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
Points [20, 0]
Branch {
DstBlock "Multipath Rayleigh\nFading Channel"
DstPort 1
}
Branch {
Points [0, 115]
DstBlock "Multipath Rayleigh\nFading Channel1"
DstPort 1
}
}
Line {
Name "Channel State Information (CSI)"
Labels [2, 0]
SrcBlock "Multipath Rayleigh\nFading Channel"
SrcPort 2
Points [0, 25]
DstBlock "Ch1_gain"
DstPort 1
}
Line {
SrcBlock "Multipath Rayleigh\nFading Channel1"
SrcPort 1
DstBlock "AWGN\nChannel1"
DstPort 1
}
Line {
SrcBlock "AWGN\nChannel1"
SrcPort 1
DstBlock "Ch2_out"
DstPort 1
}
Line {
Name "Channel State Information (CSI)"
Labels [3, 0]
SrcBlock "Multipath Rayleigh\nFading Channel1"
SrcPort 2
Points [25, 0; 0, 30]
DstBlock "Ch2_gain"
DstPort 1
}
Annotation {
Name "Estimated\nAvg Power"
Position [368, 48]
}
}
}
Block {
BlockType Sum
Name "Add"
Ports [2, 1]
Position [635, 207, 665, 238]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutDataType "sfix(16)"
OutScaling "2^-10"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Bernoulli Binary\nGenerator"
Ports [0, 1]
Position [25, 193, 105, 237]
NamePlacement "alternate"
DialogController "commDDGCreate"
DialogControllerArgs "DataTag2"
FontName "Arial"
SourceBlock "commrandsrc2/Bernoulli Binary\nGenerator"
SourceType "Bernoulli Binary Generator"
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"
P "0.5"
seed "61"
Ts "Ts"
frameBased on
sampPerFrame "log2(M)*1e4"
orient off
outDataType "double"
}
Block {
BlockType Reference
Name "Bit to Integer\nConverter"
Ports [1, 1]
Position [210, 488, 290, 532]
ShowName off
SourceBlock "commutil2/Bit to Integer\nConverter"
SourceType "Bit to Integer Converter"
nbits "log2(M)"
bitOrder "MSB first"
signedOutputValues "Unsigned"
outDtype "Inherit via internal rule"
outDtypeSigned "Inherit via internal rule"
}
Block {
BlockType Reference
Name "Bit to Integer\nConverter1"
Ports [1, 1]
Position [210, 533, 290, 577]
ShowName off
SourceBlock "commutil2/Bit to Integer\nConverter"
SourceType "Bit to Integer Converter"
nbits "log2(M)"
bitOrder "MSB first"
signedOutputValues "Unsigned"
outDtype "Inherit via internal rule"
outDtypeSigned "Inherit via internal rule"
}
Block {
BlockType DataTypeConversion
Name "Data Type\nConversion3"
Position [850, 207, 880, 243]
ShowName off
OutDataTypeMode "double"
OutDataType "ufix(3)"
OutScaling "2^0"
OutDataTypeStr "double"
RndMeth "Floor"
SaturateOnIntegerOverflow off
}
Block {
BlockType Display
Name "Display"
Ports [1]
Position [495, 364, 585, 426]
ShowName off
Format "short_e"
Decimation "1"
Lockdown off
}
Block {
BlockType Display
Name "Display1"
Ports [1]
Position [495, 503, 585, 567]
ShowName off
Decimation "1"
Lockdown off
}
Block {
BlockType Product
Name "Divide1"
Ports [2, 1]
Position [465, 162, 495, 213]
ShowName off
Inputs "**"
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 Product
Name "Divide2"
Ports [2, 1]
Position [465, 212, 495, 263]
ShowName off
Inputs "**"
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 Reference
Name "Double-click\nto Open1"
Tag "ScatterPlot"
Ports [1]
Position [770, 79, 815, 121]
SourceBlock "commsink2/Discrete-Time\nScatter Plot\nScope"
SourceType "Discrete-Time Scatter Plot Scope"
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"
sampPerSymb "1"
offsetEye "0"
numTraces "40"
numNewFrames "10"
LineMarkers "."
LineColors "b"
fading on
render on
AxisGrid on
xMin "-1.35450173260941"
xMax "1.4662470939055"
yMin "-1.39253383431223"
yMax "1.42821499220268"
inphaseLabel "In-phase Amplitude"
quadratureLabel "Quadrature Amplitude"
openScopeAtSimStart off
FrameNumber off
FigPos "get(0,'defaultfigureposition');"
figTitle "Received Signal Scatter Plot"
numLinesMax "8"
block_type_ "scatter"
}
Block {
BlockType Reference
Name "Error Rate\nCalculation"
Ports [2, 1]
Position [385, 367, 460, 418]
ShowName off
SourceBlock "commsink2/Error Rate\nCalculation"
SourceType "Error Rate Calculation"
N "0"
st_delay "0"
cp_mode "Entire frame"
subframe "[]"
PMode "Port"
WsName "ErrorVec"
RsMode2 off
stop on
numErr "maxNumErrs"
maxBits "maxNumBits"
}
Block {
BlockType Reference
Name "Error Rate\nCalculation1"
Ports [2, 1]
Position [385, 507, 460, 558]
ShowName off
SourceBlock "commsink2/Error Rate\nCalculation"
SourceType "Error Rate Calculation"
N "0"
st_delay "0"
cp_mode "Entire frame"
subframe "[]"
PMode "Port"
WsName "ErrorVec"
RsMode2 off
stop off
numErr "maxNumErrs"
maxBits "maxNumBits"
}
Block {
BlockType From
Name "From"
Position [75, 372, 145, 388]
BackgroundColor "yellow"
ShowName off
CloseFcn "tagdialog Close"
GotoTag "xmit_bits"
}
Block {
BlockType From
Name "From1"
Position [75, 397, 145, 413]
BackgroundColor "[1.000000, 0.501961, 0.250980]"
ShowName off
CloseFcn "tagdialog Close"
GotoTag "rcv_bits"
}
Block {
BlockType From
Name "From2"
Position [75, 547, 145, 563]
BackgroundColor "[1.000000, 0.501961, 0.250980]"
ShowName off
CloseFcn "tagdialog Close"
GotoTag "rcv_bits"
}
Block {
BlockType From
Name "From3"
Position [75, 502, 145, 518]
BackgroundColor "yellow"
ShowName off
CloseFcn "tagdialog Close"
GotoTag "xmit_bits"
}
Block {
BlockType Goto
Name "Goto"
Position [175, 255, 240, 275]
BackgroundColor "yellow"
ShowName off
GotoTag "xmit_bits"
TagVisibility "local"
}
Block {
BlockType Goto
Name "Goto1"
Position [965, 216, 1035, 234]
BackgroundColor "[1.000000, 0.501961, 0.250980]"
ShowName off
GotoTag "rcv_bits"
TagVisibility "local"
}
Block {
BlockType Reference
Name "M-PSK\nDemodulator\nBaseband"
Ports [1, 1]
Position [735, 200, 810, 250]
DialogController "commDDGCreate"
DialogControllerArgs "DataTag3"
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 "DataTag4"
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 Math
Name "Math\nFunction"
Ports [1, 1]
Position [410, 191, 440, 209]
ShowName off
Operator "conj"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Math
Name "Math\nFunction1"
Ports [1, 1]
Position [410, 241, 440, 259]
ShowName off
Operator "conj"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [605, 320, 665, 350]
NamePlacement "alternate"
VariableName "BER"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -