📄 ieee802_11.mdl
字号:
RTWSystemCode "Auto"
MaskDescription "Enabled binary data source"
MaskPromptString "Sample time:|Samples per frame:"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "sample_time=@1;samp_per_frame=@2;"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "params.minBitPeriod|params.nSource"
MaskTabNameString ","
System {
Name "Binary source"
Location [341, 511, 679, 663]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType EnablePort
Name "Enable"
Ports []
Position [140, 15, 160, 35]
}
Block {
BlockType Constant
Name "Constant"
Position [35, 98, 60, 122]
ShowName off
Value "0.5"
}
Block {
BlockType Reference
Name "Random Source"
Ports [0, 1]
Position [35, 31, 70, 69]
Diagnostics "AllowInheritedTsInSrc"
SourceBlock "dspsrcs4/Random\nSource"
SourceType "Random Source"
SrcType "Uniform"
NormMethod "Ziggurat"
CltLength "12"
Min "0"
Max "1"
Mean "0"
Var "1"
RepMode "Specify seed"
rawSeed "61"
Inherit off
SampMode "Discrete"
SampTime "sample_time"
SampFrame "samp_per_frame"
DataType "Double"
OutComplex "Real"
}
Block {
BlockType RelationalOperator
Name "Relational Operator"
Position [150, 67, 180, 98]
ShowName off
Operator ">"
LogicOutDataTypeMode "Specify via dialog"
LogicDataType "float('double')"
}
Block {
BlockType Outport
Name "data out"
Position [230, 78, 260, 92]
IconDisplay "Port number"
OutputWhenDisabled "reset"
InitialOutput "0"
}
Line {
SrcBlock "Random Source"
SrcPort 1
Points [40, 0; 0, 25]
DstBlock "Relational Operator"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [40, 0; 0, -20]
DstBlock "Relational Operator"
DstPort 2
}
Line {
SrcBlock "Relational Operator"
SrcPort 1
DstBlock "data out"
DstPort 1
}
}
}
Block {
BlockType Reference
Name "Buffer"
Ports [1, 1]
Position [310, 52, 335, 88]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "params.maxBitsPerBlock"
V "0"
ic "0"
}
Block {
BlockType SubSystem
Name "Source enable"
Ports [1, 1]
Position [95, 17, 170, 43]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
System {
Name "Source enable"
Location [287, 527, 672, 665]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "mode"
Position [25, 53, 55, 67]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Constant
Name "Constant"
Position [175, 25, 200, 45]
ShowName off
Value "(1:max(params.nS)).'"
}
Block {
BlockType RelationalOperator
Name "Relational Operator1"
Position [225, 22, 250, 73]
ShowName off
Operator "<="
LogicOutDataTypeMode "Specify via dialog"
LogicDataType "float('double')"
}
Block {
BlockType Reference
Name "Unbuffer"
Ports [1, 1]
Position [275, 32, 300, 68]
ShowName off
SourceBlock "dspbuff3/Unbuffer"
SourceType "Unbuffer"
ic "0"
}
Block {
BlockType Reference
Name "slot size"
Ports [1, 1]
Position [80, 42, 160, 78]
SourceBlock "IEEE80211a_lib/Select value"
SourceType ""
ShowPortLabels on
vector "params.nS.'"
}
Block {
BlockType Outport
Name "enable"
Position [325, 43, 355, 57]
IconDisplay "Port number"
}
Line {
Labels [1, 0]
SrcBlock "slot size"
SrcPort 1
DstBlock "Relational Operator1"
DstPort 2
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "Relational Operator1"
DstPort 1
}
Line {
SrcBlock "Relational Operator1"
SrcPort 1
DstBlock "Unbuffer"
DstPort 1
}
Line {
SrcBlock "Unbuffer"
SrcPort 1
DstBlock "enable"
DstPort 1
}
Line {
SrcBlock "mode"
SrcPort 1
DstBlock "slot size"
DstPort 1
}
}
}
Block {
BlockType Outport
Name "tx bits"
Position [385, 63, 415, 77]
IconDisplay "Port number"
}
Line {
SrcBlock "Binary source"
SrcPort 1
DstBlock "Buffer"
DstPort 1
}
Line {
SrcBlock "Buffer"
SrcPort 1
DstBlock "tx bits"
DstPort 1
}
Line {
SrcBlock "mode"
SrcPort 1
DstBlock "Source enable"
DstPort 1
}
Line {
SrcBlock "Source enable"
SrcPort 1
Points [45, 0]
DstBlock "Binary source"
DstPort enable
}
}
}
Block {
BlockType SubSystem
Name "Demodulator"
Ports [2, 2]
Position [230, 333, 310, 382]
Orientation "left"
BackgroundColor "lightBlue"
DropShadow on
ShowName off
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskType "IEEE 802.11a demodulator-decoder bank."
MaskPromptString "Number of symbols per frame:|vtbd set"
MaskStyleString "edit,edit"
MaskTunableValueString "off,off"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "nSymbolsPerFrame=@1;vtbd_set=@2;"
MaskInitialization "numModulators = 8;\nmodulation = {'BPSK' 'BPSK'"
" 'QPSK' 'QPSK' '16-QAM' '16-QAM' '64-QAM' '64-QAM'};\ncode = {'1/2' '3/4' '1/"
"2' '3/4' '1/2' '3/4' '2/3' '3/4'};\n\n% modulation-specific\nTS1 = 'poly2trel"
"lis(7, [171 133])';\nTS2 = 'poly2trellis(7, [133 171])';\ntrellisStructure = "
"{TS1 TS1 TS1 TS1 TS1 TS1 TS2 TS2};\n\n% code-specific\nPV = {'[1]', '[1 1 1 0"
"].''', '[1 1 1 0 0 1].''', '[1]'};\npunctureVector = {PV{1} PV{3} PV{1} PV{3}"
" PV{1} PV{3} PV{2} PV{3}};\n\nfor n = 1:numModulators\n blk = [gcb '/Demod"
"ulator ' num2str(n)];\n set_param(blk, 'numSymbols', num2str(nSymbolsPerFr"
"ame));\n set_param(blk, 'modulation', modulation{n});\n set_param(blk, "
"'code', code{n});\n set_param(blk, 'trellisStructure', trellisStructure{n}"
");\n set_param(blk, 'punctureVector', punctureVector{n});\nend\n"
MaskDisplay "disp('Demodulator\\nBank')\n\n"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "params.numTxSymbols|params.vtbd_set"
MaskTabNameString ","
System {
Name "Demodulator"
Location [174, 92, 966, 652]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "mode"
Position [40, 38, 70, 52]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Inport
Name "sig"
Position [40, 73, 70, 87]
Port "2"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Abs
Name "Abs"
Position [650, 290, 680, 320]
ForegroundColor "orange"
}
Block {
BlockType Reference
Name "Demodulator 1"
Ports [1, 2, 1]
Position [215, 61, 310, 94]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "BPSK"
code "1/2"
trellisStructure "poly2trellis(7, [171 133])"
punctureVector "[1]"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 2"
Ports [1, 2, 1]
Position [215, 116, 310, 149]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "BPSK"
code "3/4"
trellisStructure "poly2trellis(7, [171 133])"
punctureVector "[1 1 1 0 0 1].'"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 3"
Ports [1, 2, 1]
Position [215, 171, 310, 204]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "QPSK"
code "1/2"
trellisStructure "poly2trellis(7, [171 133])"
punctureVector "[1]"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 4"
Ports [1, 2, 1]
Position [215, 226, 310, 259]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "QPSK"
code "3/4"
trellisStructure "poly2trellis(7, [171 133])"
punctureVector "[1 1 1 0 0 1].'"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 5"
Ports [1, 2, 1]
Position [215, 291, 310, 324]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "16-QAM"
code "1/2"
trellisStructure "poly2trellis(7, [171 133])"
punctureVector "[1]"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 6"
Ports [1, 2, 1]
Position [215, 351, 310, 384]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "16-QAM"
code "3/4"
trellisStructure "poly2trellis(7, [171 133])"
punctureVector "[1 1 1 0 0 1].'"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 7"
Ports [1, 2, 1]
Position [215, 411, 310, 444]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "64-QAM"
code "2/3"
trellisStructure "poly2trellis(7, [133 171])"
punctureVector "[1 1 1 0].'"
vtbd "34"
}
Block {
BlockType Reference
Name "Demodulator 8"
Ports [1, 2, 1]
Position [215, 481, 310, 514]
ShowName off
SourceBlock "IEEE80211a_lib/Demodulator"
SourceType "QAM Demodulator-Decoder."
ShowPortLabels on
numSymbols "960"
modulation "64-QAM"
code "3/4"
trellisStructure "poly2trellis(7, [133 171])"
punctureVector "[1 1 1 0 0 1].'"
vtbd "34"
}
Block {
BlockType Fcn
Name "Fcn1"
Position [160, 92, 190, 108]
ShowName off
Expr "u==2"
}
Block {
BlockType Fcn
Name "Fcn2"
Position [160, 147, 190, 163]
ShowName off
Expr "u==3"
}
Block {
BlockType Fcn
Name "Fcn3"
Position [160, 202, 190, 218]
ShowName off
Expr "u==4"
}
Block {
BlockType Fcn
Name "Fcn4"
Position [165, 37, 195, 53]
ShowName off
Expr "u==1"
}
Block {
BlockType Fcn
Name "Fcn5"
Position [160, 267, 190, 283]
ShowName off
Expr "u==5"
}
Block {
BlockType Fcn
Name "Fcn6"
Position [160, 327, 190, 343]
ShowName off
Expr "u==6"
}
Block {
BlockType Fcn
Name "Fcn7"
Position [160, 387, 190, 403]
ShowName off
Expr "u==7"
}
Block {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -