mimo_ofdm_4t4r_1024c.mdl
来自「MIMO OFDM 2发2收通过simulink实现的基本链路」· MDL 代码 · 共 2,164 行 · 第 1/5 页
MDL
2,164 行
Branch {
DstBlock "Channel R1"
DstPort 1
}
Branch {
Points [0, 90]
DstBlock "Channel R2"
DstPort 1
}
}
Line {
SrcBlock "t2"
SrcPort 1
Points [0, 0; 100, 0]
Branch {
DstBlock "Channel R2"
DstPort 2
}
Branch {
Points [0, -90]
DstBlock "Channel R1"
DstPort 2
}
}
Line {
SrcBlock "t3"
SrcPort 1
Points [80, 0; 0, -90]
Branch {
Points [0, -90]
DstBlock "Channel R1"
DstPort 3
}
Branch {
DstBlock "Channel R2"
DstPort 3
}
}
Line {
SrcBlock "t4"
SrcPort 1
Points [50, 0; 0, -180]
Branch {
Points [0, -90]
DstBlock "Channel R1"
DstPort 4
}
Branch {
DstBlock "Channel R2"
DstPort 4
}
}
Line {
SrcBlock "SNR"
SrcPort 1
Points [305, 0; 0, -280]
Branch {
Points [0, -90]
DstBlock "AWGN\nChannel"
DstPort 2
}
Branch {
DstBlock "AWGN\nChannel1"
DstPort 2
}
}
}
}
Block {
BlockType SubSystem
Name "Channel\nEstimation"
Ports [0, 1]
Position [455, 284, 555, 326]
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
System {
Name "Channel\nEstimation"
Location [2, 82, 1014, 721]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Reference
Name "Bernoulli Binary\nGenerator"
Ports [0, 1]
Position [35, 123, 115, 167]
DialogController "commDDGCreate"
DialogControllerArgs "DataTag1"
SourceBlock "commrandsrc2/Bernoulli Binary\nGenerator"
SourceType "Bernoulli Binary Generator"
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"
P "0"
seed "61"
Ts "1e-4/1024"
frameBased "on"
sampPerFrame "1024"
orient "off"
outDataType "double"
}
Block {
BlockType Reference
Name "Bernoulli Binary\nGenerator1"
Ports [0, 1]
Position [35, 203, 115, 247]
DialogController "commDDGCreate"
DialogControllerArgs "DataTag2"
SourceBlock "commrandsrc2/Bernoulli Binary\nGenerator"
SourceType "Bernoulli Binary Generator"
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"
P "1"
seed "79"
Ts "1e-4/1024"
frameBased "on"
sampPerFrame "1024"
orient "off"
outDataType "double"
}
Block {
BlockType SubSystem
Name "OFDM\nModulator"
Ports [4, 4]
Position [260, 151, 380, 229]
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
System {
Name "OFDM\nModulator"
Location [2, 82, 1014, 721]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [100, 133, 130, 147]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "In2"
Position [100, 188, 130, 202]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "In3"
Position [100, 243, 130, 257]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "In4"
Position [100, 298, 130, 312]
Port "4"
IconDisplay "Port number"
}
Block {
BlockType Selector
Name "Add cyclic prefix1"
Ports [1, 1]
Position [345, 121, 385, 159]
InputType "Vector"
ElementSrc "Internal"
Elements "[897:1024, 1:1024]"
RowSrc "Internal"
Rows "1"
ColumnSrc "Internal"
Columns "1"
InputPortWidth "1024"
IndexIsStartValue off
}
Block {
BlockType Selector
Name "Add cyclic prefix2"
Ports [1, 1]
Position [345, 176, 385, 214]
InputType "Vector"
ElementSrc "Internal"
Elements "[897:1024, 1:1024]"
RowSrc "Internal"
Rows "1"
ColumnSrc "Internal"
Columns "1"
InputPortWidth "1024"
IndexIsStartValue off
}
Block {
BlockType Selector
Name "Add cyclic prefix3"
Ports [1, 1]
Position [345, 231, 385, 269]
InputType "Vector"
ElementSrc "Internal"
Elements "[897:1024, 1:1024]"
RowSrc "Internal"
Rows "1"
ColumnSrc "Internal"
Columns "1"
InputPortWidth "1024"
IndexIsStartValue off
}
Block {
BlockType Selector
Name "Add cyclic prefix4"
Ports [1, 1]
Position [345, 286, 385, 324]
InputType "Vector"
ElementSrc "Internal"
Elements "[897:1024, 1:1024]"
RowSrc "Internal"
Rows "1"
ColumnSrc "Internal"
Columns "1"
InputPortWidth "1024"
IndexIsStartValue off
}
Block {
BlockType Gain
Name "Gain1"
Position [265, 125, 295, 155]
Gain "sqrt(1024)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain2"
Position [265, 180, 295, 210]
Gain "sqrt(1024)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain3"
Position [265, 235, 295, 265]
Gain "sqrt(1024)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain4"
Position [265, 290, 295, 320]
Gain "sqrt(1024)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "IFFT1"
Ports [1, 1]
Position [175, 124, 215, 156]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag3"
SourceBlock "dspxfrm3/IFFT"
SourceType "IFFT"
CompMethod "Table lookup"
TableOpt "Speed"
BitRevOrder "off"
cs_in "off"
SkipNorm "off"
mode "Complex"
additionalParams "off"
allowOverrides "on"
firstCoeffMode "Same word length as input"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Inherit via internal rule"
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 Reference
Name "IFFT2"
Ports [1, 1]
Position [175, 179, 215, 211]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag4"
SourceBlock "dspxfrm3/IFFT"
SourceType "IFFT"
CompMethod "Table lookup"
TableOpt "Speed"
BitRevOrder "off"
cs_in "off"
SkipNorm "off"
mode "Complex"
additionalParams "off"
allowOverrides "on"
firstCoeffMode "Same word length as input"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Inherit via internal rule"
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 Reference
Name "IFFT3"
Ports [1, 1]
Position [175, 234, 215, 266]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag5"
SourceBlock "dspxfrm3/IFFT"
SourceType "IFFT"
CompMethod "Table lookup"
TableOpt "Speed"
BitRevOrder "off"
cs_in "off"
SkipNorm "off"
mode "Complex"
additionalParams "off"
allowOverrides "on"
firstCoeffMode "Same word length as input"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Inherit via internal rule"
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 Reference
Name "IFFT4"
Ports [1, 1]
Position [175, 289, 215, 321]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag6"
SourceBlock "dspxfrm3/IFFT"
SourceType "IFFT"
CompMethod "Table lookup"
TableOpt "Speed"
BitRevOrder "off"
cs_in "off"
SkipNorm "off"
mode "Complex"
additionalParams "off"
allowOverrides "on"
firstCoeffMode "Same word length as input"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Inherit via internal rule"
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 Outport
Name "Out1"
Position [440, 133, 470, 147]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "Out2"
Position [440, 188, 470, 202]
Port "2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?