⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mvitdecoding_punc.mdl

📁 Viterbi Decoding Algorithm
💻 MDL
📖 第 1 页 / 共 2 页
字号:
      BlockType		      FrameConversion
      OutFrame		      "Frame based"
    }
    Block {
      BlockType		      Gain
      Gain		      "1"
      Multiplication	      "Element-wise(K.*u)"
      ParameterDataTypeMode   "Same as input"
      ParameterDataType	      "sfix(16)"
      ParameterScalingMode    "Best Precision: Matrix-wise"
      ParameterScaling	      "2^0"
      OutDataTypeMode	      "Same as input"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Ground
    }
    Block {
      BlockType		      Inport
      Port		      "1"
      UseBusObject	      off
      BusObject		      "BusObject"
      BusOutputAsStruct	      off
      PortDimensions	      "-1"
      SampleTime	      "-1"
      DataType		      "auto"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      SignalType	      "auto"
      SamplingMode	      "auto"
      LatchByDelayingOutsideSignal off
      LatchByCopyingInsideSignal off
      Interpolate	      on
    }
    Block {
      BlockType		      Outport
      Port		      "1"
      UseBusObject	      off
      BusObject		      "BusObject"
      BusOutputAsStruct	      off
      PortDimensions	      "-1"
      SampleTime	      "-1"
      DataType		      "auto"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      SignalType	      "auto"
      SamplingMode	      "auto"
      OutputWhenDisabled      "held"
      InitialOutput	      "[]"
    }
    Block {
      BlockType		      RelationalOperator
      Operator		      ">="
      InputSameDT	      on
      LogicOutDataTypeMode    "Logical (see Configuration Parameters: Optimiza"
"tion)"
      LogicDataType	      "uint(8)"
      ZeroCross		      on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      "S-Function"
      FunctionName	      "system"
      SFunctionModules	      "''"
      PortCounts	      "[]"
    }
    Block {
      BlockType		      SubSystem
      ShowPortLabels	      on
      Permissions	      "ReadWrite"
      PermitHierarchicalResolution "All"
      TreatAsAtomicUnit	      off
      SystemSampleTime	      "-1"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      RTWMemSecFuncInitTerm   "Inherit from model"
      RTWMemSecFuncExecute    "Inherit from model"
      RTWMemSecDataConstants  "Inherit from model"
      RTWMemSecDataInternal   "Inherit from model"
      RTWMemSecDataParameters "Inherit from model"
      SimViewingDevice	      off
      DataTypeOverride	      "UseLocalSettings"
      MinMaxOverflowLogging   "UseLocalSettings"
    }
    Block {
      BlockType		      ToWorkspace
      VariableName	      "simulink_output"
      MaxDataPoints	      "1000"
      Decimation	      "1"
      SampleTime	      "0"
      FixptAsFi		      off
    }
  }
  AnnotationDefaults {
    HorizontalAlignment	    "center"
    VerticalAlignment	    "middle"
    ForegroundColor	    "black"
    BackgroundColor	    "white"
    DropShadow		    off
    FontName		    "Helvetica"
    FontSize		    10
    FontWeight		    "normal"
    FontAngle		    "normal"
  }
  LineDefaults {
    FontName		    "Helvetica"
    FontSize		    9
    FontWeight		    "normal"
    FontAngle		    "normal"
  }
  System {
    Name		    "mvitdecoding_punc"
    Location		    [53, 484, 829, 878]
    Open		    on
    ModelBrowserVisibility  off
    ModelBrowserWidth	    212
    ScreenColor		    "white"
    PaperOrientation	    "landscape"
    PaperPositionMode	    "auto"
    PaperType		    "usletter"
    PaperUnits		    "inches"
    TiledPaperMargins	    [0.500000, 0.500000, 0.500000, 0.500000]
    TiledPageScale	    1
    ShowPageBoundaries	    off
    ZoomFactor		    "100"
    ReportName		    "simulink-default.rpt"
    Block {
      BlockType		      Reference
      Name		      "AWGN\nChannel"
      Ports		      [1, 1]
      Position		      [627, 195, 693, 250]
      Orientation	      "down"
      NamePlacement	      "alternate"
      SourceBlock	      "commchan3/AWGN\nChannel"
      SourceType	      "AWGN Channel"
      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"
      seed		      "67"
      noiseMode		      "Signal to noise ratio  (Eb/No)"
      EbNodB		      "EbNo"
      EsNodB		      "10"
      SNRdB		      "10"
      bitsPerSym	      "1"
      Ps		      "1"
      Tsym		      "3/4"
      variance		      "1"
    }
    Block {
      BlockType		      Reference
      Name		      "BPSK\nModulator\nBaseband1"
      Ports		      [1, 1]
      Position		      [470, 96, 545, 144]
      SourceBlock	      "commdigbbndpm3/BPSK\nModulator\nBaseband"
      SourceType	      "BPSK Modulator Baseband"
      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"
      Ph		      "0"
      outDtype		      "double"
      outWordLen	      "16"
      outUDDataType	      "sfix(16)"
      outFracLenMode	      "Best precision"
      outFracLen	      "15"
    }
    Block {
      BlockType		      Reference
      Name		      "Bernoulli Random\nBinary Generator"
      Ports		      [0, 1]
      Position		      [25, 98, 105, 142]
      DialogController	      "commDDGCreate"
      DialogControllerArgs    "DataTag0"
      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.5"
      seed		      "435345"
      Ts		      "1"
      frameBased	      on
      sampPerFrame	      "300"
      orient		      off
      outDataType	      "boolean"
    }
    Block {
      BlockType		      Reference
      Name		      "Convolutional \nEncoder"
      Ports		      [1, 1]
      Position		      [260, 95, 355, 145]
      SourceBlock	      "commcnvcod2/Convolutional\nEncoder"
      SourceType	      "Convolutional Encoder"
      trellis		      "poly2trellis(7, [171 133])"
      opMode		      "Continuous"
      usePuncVector	      on
      punctureVector	      "[1 1 0 1 1 0].'"
      reset		      "Unused parameter value"
    }
    Block {
      BlockType		      Display
      Name		      "Display"
      Ports		      [1]
      Position		      [370, 191, 465, 259]
      Decimation	      "1"
      Lockdown		      off
    }
    Block {
      BlockType		      Reference
      Name		      "Error Rate Calculation"
      Ports		      [2, 1]
      Position		      [150, 199, 245, 246]
      SourceBlock	      "commsink2/Error Rate\nCalculation"
      SourceType	      "Error Rate Calculation"
      N			      "96"
      st_delay		      "0"
      cp_mode		      "Entire frame"
      subframe		      "[]"
      PMode		      "Port"
      WsName		      "ErrorVec"
      RsMode2		      off
      stop		      on
      numErr		      "maxNumErrs"
      maxBits		      "maxNumBits"
    }
    Block {
      BlockType		      SubSystem
      Name		      "Soft Output\nDemodulator"
      Ports		      [1, 1]
      Position		      [480, 303, 545, 347]
      Orientation	      "left"
      MinAlgLoopOccurrences   off
      RTWSystemCode	      "Auto"
      FunctionWithSeparateData off
      MaskHideContents	      off
      System {
	Name			"Soft Output\nDemodulator"
	Location		[394, 762, 1130, 902]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	TiledPaperMargins	[0.500000, 0.500000, 0.500000, 0.500000]
	TiledPageScale		1
	ShowPageBoundaries	off
	ZoomFactor		"100"
	Block {
	  BlockType		  Inport
	  Name			  "In1"
	  Position		  [20, 43, 50, 57]
	  IconDisplay		  "Port number"
	}
	Block {
	  BlockType		  ComplexToRealImag
	  Name			  "Complex to\nReal-Imag"
	  Ports			  [1, 1]
	  Position		  [130, 27, 210, 73]
	  Output		  "Real"
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [290, 35, 320, 65]
	  Gain			  "-1"
	  ParameterDataTypeMode	  "Inherit via internal rule"
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Reference
	  Name			  "Uniform\nEncoder"
	  Ports			  [1, 1]
	  Position		  [415, 29, 485, 71]
	  SourceBlock		  "dspquant2/Uniform\nEncoder"
	  SourceType		  "Uniform Encoder"
	  peak			  "2"
	  bits			  "nBits"
	  otype			  "Unsigned integer"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Out1"
	  Position		  [610, 43, 640, 57]
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	}
	Line {
	  SrcBlock		  "Uniform\nEncoder"
	  SrcPort		  1
	  DstBlock		  "Out1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Complex to\nReal-Imag"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "In1"
	  SrcPort		  1
	  DstBlock		  "Complex to\nReal-Imag"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  DstBlock		  "Uniform\nEncoder"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      ToWorkspace
      Name		      "To Workspace"
      Position		      [285, 240, 345, 270]
      VariableName	      "BER"
      MaxDataPoints	      "1"
      SampleTime	      "-1"
      SaveFormat	      "Array"
    }
    Block {
      BlockType		      Reference
      Name		      "Viterbi Decoder"
      Ports		      [1, 1]
      Position		      [265, 299, 355, 351]
      Orientation	      "left"
      DialogController	      "commDDGCreate"
      DialogControllerArgs    "DataTag1"
      SourceBlock	      "commcnvcod2/Viterbi Decoder"
      SourceType	      "Viterbi Decoder"
      trellis		      "poly2trellis(7, [171 133])"
      isPunctured	      on
      punctureVector	      "[1 1 0 1 1 0].'"
      dectype		      "Soft Decision"
      runSigValErrCheck	      off
      nsdecb		      "nBits"
      tbdepth		      "96"
      erasures		      off
      opmode		      "Continuous"
      reset		      off
      outDataType	      "boolean"
    }
    Line {
      SrcBlock		      "Convolutional \nEncoder"
      SrcPort		      1
      DstBlock		      "BPSK\nModulator\nBaseband1"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Bernoulli Random\nBinary Generator"
      SrcPort		      1
      Points		      [0, 0; 15, 0]
      Branch {
	DstBlock		"Convolutional \nEncoder"
	DstPort			1
      }
      Branch {
	Points			[0, 90]
	DstBlock		"Error Rate Calculation"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "Error Rate Calculation"
      SrcPort		      1
      Points		      [15, 0]
      Branch {
	DstBlock		"Display"
	DstPort			1
      }
      Branch {
	Points			[0, 30]
	DstBlock		"To Workspace"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "Viterbi Decoder"
      SrcPort		      1
      Points		      [-135, 0; 0, -90]
      DstBlock		      "Error Rate Calculation"
      DstPort		      2
    }
    Line {
      SrcBlock		      "Soft Output\nDemodulator"
      SrcPort		      1
      DstBlock		      "Viterbi Decoder"
      DstPort		      1
    }
    Line {
      SrcBlock		      "BPSK\nModulator\nBaseband1"
      SrcPort		      1
      Points		      [110, 0]
      DstBlock		      "AWGN\nChannel"
      DstPort		      1
    }
    Line {
      SrcBlock		      "AWGN\nChannel"
      SrcPort		      1
      Points		      [0, 70]
      DstBlock		      "Soft Output\nDemodulator"
      DstPort		      1
    }
    Annotation {
      Name		      "Soft-Decision Viterbi Decoding with Puncturing"
      Position		      [225, 43]
      DropShadow	      on
      UseDisplayTextAsClickCallback off
      FontName		      "Arial"
      FontSize		      12
      FontWeight	      "bold"
    }
  }
}
MatData {
  NumRecords		  2
  DataRecord {
    Tag			    DataTag1
    Data		    "  %)30     .    <     8    (     0         %    "
"\"     $    !     0         .    0     8    (    !          %    \"     $    "
".     0         0    #@   %9I=&5R8FE$96-O9&5R   "
  }
  DataRecord {
    Tag			    DataTag0
    Data		    "  %)30     .    >     8    (     0         %    "
"\"     $    !     0         .    2     8    (    !          %    \"     $    "
"2     0         0    $@   $)E<FYO=6QL:4)I;F%R>4=E;@        "
  }
}

# Finite State Machines
#
#    Stateflow Version 6.4 (R2006a) dated Apr 12 2006, 00:09:06
#
#

Stateflow {

	machine {
		id                   		1
		name                 		"mvitdecoding_punc"
		created              		"15-Dec-2004 12:28:42"
		isLibrary            		0
		firstTarget          		2
		sfVersion            		64014000
	}

	target {
		id                        		2
		name                      		"sfun"
		description               		"Default Simulink S-Function Target."
		machine                   		1
		linkNode                  		[1 0 0]
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -