t4r4_conv_bpsk_vblast.mdl
来自「是一个四发四收的球型译码程序」· MDL 代码 · 共 1,269 行 · 第 1/3 页
MDL
1,269 行
BlockType FrameConversion
Name "Frame Conversion3"
Ports [1, 1]
Position [1075, 55, 1130, 95]
}
Block {
BlockType From
Name "From"
Position [1165, 526, 1205, 554]
Orientation "left"
CloseFcn "tagdialog Close"
GotoTag "H"
TagVisibility "global"
}
Block {
BlockType Gain
Name "Gain"
Position [275, 85, 305, 115]
Gain "sqrt(1/10)"
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
}
Block {
BlockType Goto
Name "Goto"
Position [980, 125, 1020, 155]
GotoTag "H"
TagVisibility "global"
}
Block {
BlockType Concatenate
Name "Matrix\nConcatenate"
Ports [2, 1]
Position [900, 444, 955, 486]
Orientation "left"
Mode "Multidimensional array"
}
Block {
BlockType Concatenate
Name "Matrix\nConcatenate1"
Ports [2, 1]
Position [440, 464, 495, 506]
Orientation "left"
Mode "Multidimensional array"
}
Block {
BlockType Reference
Name "Rectangular QAM\nModulator\nBaseband"
Ports [1, 1]
Position [165, 74, 240, 126]
DialogController "commDDGCreate"
DialogControllerArgs "DataTag1"
SourceBlock "commdigbbndam3/Rectangular QAM\nModulator\nBaseband"
SourceType "Rectangular QAM Modulator Baseband"
M "16"
InType "Bit"
Enc "Binary"
Mapping "[0:15]"
PowType "Min. distance between symbols"
MinDist "2"
AvgPow "1"
PeakPow "1"
Ph "0"
outDtype "double"
outWordLen "16"
outUDDataType "sfix(16)"
outFracLenMode "Best precision"
outFracLen "15"
}
Block {
BlockType Reshape
Name "Reshape"
Position [870, 123, 920, 157]
OutputDimensionality "Customize"
OutputDimensions "[4 4]"
}
Block {
BlockType Reshape
Name "Reshape1"
Position [1035, 523, 1085, 557]
Orientation "left"
OutputDimensionality "Customize"
OutputDimensions "[16 1]"
}
Block {
BlockType Selector
Name "Selector1"
Ports [1, 1]
Position [380, 276, 420, 314]
Orientation "left"
InputPortWidth "3"
IndexOptions "Index vector (dialog)"
Indices "1"
OutputSizes "1"
}
Block {
BlockType Reference
Name "Submatrix"
Ports [1, 1]
Position [660, 55, 710, 95]
SourceBlock "dspmtrx3/Submatrix"
SourceType "Submatrix"
RowSpan "All rows"
RowStartMode "First"
RowStartIndex "1"
RowEndMode "Last"
RowEndIndex "1"
ColSpan "Range of columns"
ColStartMode "Index"
ColStartIndex "1"
ColEndMode "Index"
ColEndIndex "4"
}
Block {
BlockType Reference
Name "Submatrix1"
Ports [1, 1]
Position [660, 120, 710, 160]
SourceBlock "dspmtrx3/Submatrix"
SourceType "Submatrix"
RowSpan "All rows"
RowStartMode "First"
RowStartIndex "1"
RowEndMode "Last"
RowEndIndex "1"
ColSpan "Range of columns"
ColStartMode "Index"
ColStartIndex "5"
ColEndMode "Index"
ColEndIndex "20"
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [355, 15, 415, 45]
VariableName "simout"
MaxDataPoints "inf"
SampleTime "-1"
SaveFormat "Structure"
}
Block {
BlockType ToWorkspace
Name "To Workspace1"
Position [300, 280, 360, 310]
Orientation "left"
NamePlacement "alternate"
VariableName "BER1"
MaxDataPoints "inf"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType Reference
Name "Transpose"
Ports [1, 1]
Position [865, 55, 920, 95]
SourceBlock "dspmtrx3/Transpose"
SourceType "Transpose"
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"
Hermitian off
overflowFlag off
}
Block {
BlockType Reference
Name "Transpose1"
Ports [1, 1]
Position [790, 435, 845, 475]
Orientation "left"
SourceBlock "dspmtrx3/Transpose"
SourceType "Transpose"
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"
Hermitian off
overflowFlag off
}
Block {
BlockType Reference
Name "Transpose2"
Ports [1, 1]
Position [365, 465, 405, 505]
Orientation "left"
SourceBlock "dspmtrx3/Transpose"
SourceType "Transpose"
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"
Hermitian off
overflowFlag off
}
Block {
BlockType MATLABFcn
Name "channel"
Ports [1, 1]
Position [425, 85, 485, 115]
MATLABFcn "channel"
OutputDimensions "[1 20]"
Output1D off
}
Block {
BlockType MATLABFcn
Name "select&LLR"
Ports [1, 1]
Position [685, 440, 745, 470]
Orientation "left"
MATLABFcn "LLRnLayer1"
}
Line {
SrcBlock "Bernoulli Binary\nGenerator"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "Rectangular QAM\nModulator\nBaseband"
DstPort 1
}
Branch {
Points [0, 110]
DstBlock "Error Rate\nCalculation2"
DstPort 1
}
}
Line {
SrcBlock "Rectangular QAM\nModulator\nBaseband"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "channel"
SrcPort 1
Points [155, 0]
Branch {
DstBlock "Submatrix"
DstPort 1
}
Branch {
DstBlock "Submatrix1"
DstPort 1
}
}
Line {
SrcBlock "Submatrix"
SrcPort 1
DstBlock "Transpose"
DstPort 1
}
Line {
SrcBlock "Submatrix1"
SrcPort 1
DstBlock "Reshape"
DstPort 1
}
Line {
SrcBlock "Transpose"
SrcPort 1
DstBlock "Frame Conversion3"
DstPort 1
}
Line {
SrcBlock "Reshape"
SrcPort 1
DstBlock "Goto"
DstPort 1
}
Line {
SrcBlock "Reshape1"
SrcPort 1
Points [-40, 0; 0, -65]
DstBlock "Matrix\nConcatenate"
DstPort 2
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "channel"
DstPort 1
}
Branch {
Points [0, -70]
DstBlock "To Workspace"
DstPort 1
}
}
Line {
SrcBlock "From"
SrcPort 1
DstBlock "Reshape1"
DstPort 1
}
Line {
SrcBlock "select&LLR"
SrcPort 1
DstBlock "Frame Conversion"
DstPort 1
}
Line {
SrcBlock "Matrix\nConcatenate"
SrcPort 1
Points [-30, 0]
Branch {
Points [0, -10]
DstBlock "Transpose1"
DstPort 1
}
Branch {
Points [0, 40; -355, 0]
DstBlock "Matrix\nConcatenate1"
DstPort 2
}
}
Line {
SrcBlock "Transpose1"
SrcPort 1
DstBlock "select&LLR"
DstPort 1
}
Line {
SrcBlock "Frame Conversion"
SrcPort 1
Points [-60, 0]
DstBlock "Matrix\nConcatenate1"
DstPort 1
}
Line {
SrcBlock "Matrix\nConcatenate1"
SrcPort 1
DstBlock "Transpose2"
DstPort 1
}
Line {
SrcBlock "Transpose2"
SrcPort 1
DstBlock "CHASE-DEDOD"
DstPort 1
}
Line {
SrcBlock "CHASE-DEDOD"
SrcPort 1
Points [-65, 0]
DstBlock "Frame Conversion1"
DstPort 1
}
Line {
SrcBlock "Error Rate\nCalculation2"
SrcPort 1
Points [10, 0; 0, 70; -10, 0]
Branch {
Points [0, 70]
DstBlock "Display1"
DstPort 1
}
Branch {
DstBlock "Selector1"
DstPort 1
}
}
Line {
SrcBlock "Selector1"
SrcPort 1
DstBlock "To Workspace1"
DstPort 1
}
Line {
SrcBlock "Frame Conversion1"
SrcPort 1
Points [0, -90]
DstBlock "Error Rate\nCalculation2"
DstPort 2
}
Line {
SrcBlock "Frame Conversion3"
SrcPort 1
Points [100, 0]
DstBlock "AWGN\nChannel"
DstPort 1
}
Line {
SrcBlock "AWGN\nChannel"
SrcPort 1
Points [0, 155]
DstBlock "Matrix\nConcatenate"
DstPort 1
}
}
}
MatData {
NumRecords 2
DataRecord {
Tag DataTag1
Data " %)30 . < 8 ( 0 % \" $ ! 0 . 0 8 ( ! % \" $ - 0 0 #0 %)104U-;V1U;&%T;W( "
}
DataRecord {
Tag DataTag0
Data " %)30 . > 8 ( 0 % \" $ ! 0 . 2 8 ( ! % \" $ 2 0 0 $@ $)E<FYO=6QL:4)I;F%R>4=E;@ "
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?