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 + -
显示快捷键?