Model {
  Name			  "tstgraycod"
  Version		  4.00
  RequirementInfo	  "9"
  SampleTimeColors	  off
  LibraryLinkDisplay	  "none"
  WideLines		  off
  ShowLineDimensions	  on
  ShowPortDataTypes	  off
  RecordCoverage	  off
  CovPath		  "/"
  CovSaveName		  "covdata"
  CovNameIncrementing	  off
  CovHtmlReporting	  on
  BlockNameDataTip	  off
  BlockParametersDataTip  on
  BlockDescriptionStringDataTip	off
  ToolBar		  on
  StatusBar		  on
  BrowserShowLibraryLinks off
  BrowserLookUnderMasks	  off
  PreLoadFcn		  "Tsample=.01;Tsym=.2;M=8;Tmax=10000;EbNodB=3;"
  Created		  "Tue Jun 09 13:59:52 1998"
  Creator		  "tdelve"
  UpdateHistory		  "UpdateHistoryNever"
  ModifiedByFormat	  "%<Auto>"
  LastModifiedBy	  "ysong"
  ModifiedDateFormat	  "%<Auto>"
  LastModifiedDate	  "Tue Aug 29 17:04:39 2000"
  ModelVersionFormat	  "1.%<AutoIncrement:131>"
  ConfigurationManager	  "none"
  SimParamPage		  "Solver"
  StartTime		  "0.0"
  StopTime		  "Tmax"
  SolverMode		  "SingleTasking"
  Solver		  "FixedStepDiscrete"
  RelTol		  "1e-3"
  AbsTol		  "1e-6"
  Refine		  "1"
  MaxStep		  "auto"
  MinStep		  "auto"
  MaxNumMinSteps	  "-1"
  InitialStep		  "auto"
  FixedStep		  "auto"
  MaxOrder		  5
  OutputOption		  "RefineOutputTimes"
  OutputTimes		  "[]"
  LoadExternalInput	  off
  ExternalInput		  "[t, u]"
  SaveTime		  off
  TimeSaveName		  "tout"
  SaveState		  off
  StateSaveName		  "xout"
  SaveOutput		  off
  OutputSaveName	  "yout"
  LoadInitialState	  off
  InitialState		  "xInitial"
  SaveFinalState	  off
  FinalStateName	  "xFinal"
  SaveFormat		  "Array"
  LimitDataPoints	  off
  MaxDataPoints		  "1000"
  Decimation		  "1"
  AlgebraicLoopMsg	  "warning"
  MinStepSizeMsg	  "warning"
  UnconnectedInputMsg	  "warning"
  UnconnectedOutputMsg	  "warning"
  UnconnectedLineMsg	  "warning"
  InheritedTsInSrcMsg	  "warning"
  SingleTaskRateTransMsg  "none"
  MultiTaskRateTransMsg	  "error"
  IntegerOverflowMsg	  "none"
  CheckForMatrixSingularity "none"
  UnnecessaryDatatypeConvMsg "none"
  Int32ToFloatConvMsg	  "warning"
  SignalLabelMismatchMsg  "none"
  LinearizationMsg	  "none"
  VectorMatrixConversionMsg "none"
  SfunCompatibilityCheckMsg "none"
  BlockPriorityViolationMsg "warning"
  ArrayBoundsChecking	  "none"
  ConsistencyChecking	  "none"
  ZeroCross		  on
  Profile		  off
  SimulationMode	  "normal"
  RTWSystemTargetFile	  "grt.tlc"
  RTWInlineParameters	  off
  RTWRetainRTWFile	  off
  RTWTemplateMakefile	  "grt_default_tmf"
  RTWMakeCommand	  "make_rtw"
  RTWGenerateCodeOnly	  off
  TLCProfiler		  off
  TLCDebug		  off
  TLCCoverage		  off
  AccelSystemTargetFile	  "accel.tlc"
  AccelTemplateMakefile	  "accel_default_tmf"
  AccelMakeCommand	  "make_rtw"
  ExtModeMexFile	  "ext_comm"
  ExtModeBatchMode	  off
  ExtModeTrigType	  "manual"
  ExtModeTrigMode	  "oneshot"
  ExtModeTrigPort	  "1"
  ExtModeTrigElement	  "any"
  ExtModeTrigDuration	  1000
  ExtModeTrigHoldOff	  0
  ExtModeTrigDelay	  0
  ExtModeTrigDirection	  "rising"
  ExtModeTrigLevel	  0
  ExtModeArchiveMode	  "off"
  ExtModeAutoIncOneShot	  off
  ExtModeIncDirWhenArm	  off
  ExtModeAddSuffixToVar	  off
  ExtModeWriteAllDataToWs off
  ExtModeArmWhenConnect	  off
  ExtModeLogAll		  on
  OptimizeBlockIOStorage  on
  BufferReuse		  on
  ParameterPooling	  on
  BlockReductionOpt	  off
  BooleanDataType	  off
  BlockDefaults {
    Orientation		    "right"
    ForegroundColor	    "black"
    BackgroundColor	    "white"
    DropShadow		    off
    NamePlacement	    "normal"
    FontName		    "Helvetica"
    FontSize		    10
    FontWeight		    "normal"
    FontAngle		    "normal"
    ShowName		    on
  }
  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		    "tstgraycod"
    Location		    [73, 86, 774, 538]
    Open		    on
    ModelBrowserVisibility  off
    ModelBrowserWidth	    200
    ScreenColor		    "white"
    PaperOrientation	    "landscape"
    PaperPositionMode	    "auto"
    PaperType		    "usletter"
    PaperUnits		    "inches"
    ZoomFactor		    "100"
    AutoZoom		    on
    ReportName		    "simulink-default.rpt"
    Block {
      BlockType		      Reference
      Name		      "AWGN\nChannel"
      Ports		      [1, 1]
      Position		      [590, 125, 670, 165]
      Orientation	      "down"
      NamePlacement	      "alternate"
      SourceBlock	      "commchan2/AWGN\nChannel"
      SourceType	      "AWGN Channel"
      seed		      "123456"
      noiseMode		      "Signal to noise ratio  (Es/No)"
      EsNodB		      "EbNodB+10*log10(log2(M))"
      SNRdB		      "10"
      Ps		      "1"
      Tsym		      "Tsym"
      variance		      "1"
    }
    Block {
      BlockType		      Display
      Name		      "Bit Error Details"
      Ports		      [1]
      Position		      [20, 356, 115, 424]
      Orientation	      "left"
      Format		      "short"
      Decimation	      "1"
      Floating		      off
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Reference
      Name		      "Bit to Integer\nConverter"
      Ports		      [1, 1]
      Position		      [300, 189, 370, 231]
      Orientation	      "left"
      ShowName		      off
      SourceBlock	      "commutil2/Bit to Integer\nConverter"
      SourceType	      "Bit to Integer Converter"
      nbits		      "log2(M)"
    }
    Block {
      BlockType		      Reference
      Name		      "Error Rate Calculation1"
      Ports		      [2, 1]
      Position		      [150, 174, 245, 221]
      Orientation	      "left"
      SourceBlock	      "commsink2/Error Rate Calculation"
      SourceType	      "Error Rate Calculation"
      N			      "0"
      st_delay		      "0"
      cp_mode		      "Entire frame"
      subframe		      "[]"
      PMode		      "Port"
      WsName		      "SymErrorVec"
      RsMode2		      off
    }
    Block {
      BlockType		      Reference
      Name		      "Error Rate Calculation2"
      Ports		      [2, 1]
      Position		      [155, 364, 250, 411]
      Orientation	      "left"
      SourceBlock	      "commsink2/Error Rate Calculation"
      SourceType	      "Error Rate Calculation"
      N			      "0"
      st_delay		      "0"
      cp_mode		      "Entire frame"
      subframe		      "[]"
      PMode		      "Port"
      WsName		      "BitErrorVec"
      RsMode2		      off
    }
    Block {
      BlockType		      Reference
      Name		      "Integer to Bit\nConverter2"
      Ports		      [1, 1]
      Position		      [290, 70, 360, 110]
      NamePlacement	      "alternate"
      ShowName		      off
      SourceBlock	      "commutil2/Integer to Bit\nConverter"
      SourceType	      "Integer to Bit Converter"
      nbits		      "log2(M)"
    }
    Block {
      BlockType		      Reference
      Name		      "M-PSK\nDemodulator\nBaseband"
      Ports		      [1, 1]
      Position		      [460, 181, 540, 239]
      Orientation	      "left"
      ShowName		      off
      SourceBlock	      "commdigbbndpm2/M-PSK\nDemodulator\nBaseband"
      SourceType	      "M-PSK Demodulator Baseband"
      M			      "M"
      OutType		      "Bit"
      Dec		      "Gray"
      Ph		      "0"
      numSamp		      "1"
    }
    Block {
      BlockType		      Reference
      Name		      "M-PSK\nModulator\nBaseband"
      Ports		      [1, 1]
      Position		      [455, 61, 535, 119]
      ShowName		      off
      SourceBlock	      "commdigbbndpm2/M-PSK\nModulator\nBaseband"
      SourceType	      "M-PSK Modulator Baseband"
      M			      "M"
      InType		      "Bit"
      Enc		      "Gray"
      Ph		      "0"
      numSamp		      "1"
    }
    Block {
      BlockType		      SubSystem
      Name		      "Model Info"
      Ports		      []
      Position		      [540, 379, 591, 419]
      BackgroundColor	      "lightBlue"
      ShowName		      off
      CopyFcn		      "slcm CopyBlock;"
      DeleteFcn		      "slcm Cancel;"
      LoadFcn		      "slcm LoadBlock;"
      PostSaveFcn	      "slcm('UpdateAllCMBlocksInThisModel')"
      InitFcn		      "slcm('UpdateAllCMBlocksInThisModelInit')"
      NameChangeFcn	      "slcm Rename;"
      OpenFcn		      "commdemohelp;"
      FontName		      "Arial"
      FontSize		      12
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "CMBlock"
      MaskDescription	      "This block allows revision control information "
"to be displayed within the model."
      MaskPromptString	      "InitialSaveTempField|InitialBlockCM|BlockCM|Fra"
"me|SaveTempField|DisplayStringWithTags|MaskDisplayString|HorizontalTextAlignm"
"ent|LeftAlignmentValue|SourceBlockDiagram|TagMaxNumber|CMTag1|CMTag2|CMTag3|C"
"MTag4|CMTag5|CMTag6|CMTag7|CMTag8|CMTag9|CMTag10|CMTag11|CMTag12|CMTag13|CMTa"
"g14|CMTag15|CMTag16|CMTag17|CMTag18|CMTag19|CMTag20"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit,edit,edit,edit,ed"
"it,edit,edit,edit,edit,edit,edit,edit,edit,edit,edit,edit,edit,edit,edit,edit"
",edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
",on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
      MaskCallbackString      "||||||||||||||||||||||||||||||"
      MaskEnableString	      "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
",on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
      MaskVisibilityString    "off,off,off,off,off,off,off,off,off,off,off,off"
",off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off"
      MaskToolTipString	      "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
",on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
      MaskVariables	      "InitialSaveTempField=&1;InitialBlockCM=&2;Block"
"CM=&3;Frame=&4;SaveTempField=&5;DisplayStringWithTags=&6;MaskDisplayString=&7"
";HorizontalTextAlignment=&8;LeftAlignmentValue=&9;SourceBlockDiagram=&10;TagM"
"axNumber=@11;CMTag1=&12;CMTag2=&13;CMTag3=&14;CMTag4=&15;CMTag5=&16;CMTag6=&1"
"7;CMTag7=&18;CMTag8=&19;CMTag9=&20;CMTag10=&21;CMTag11=&22;CMTag12=&23;CMTag1"
"3=&24;CMTag14=&25;CMTag15=&26;CMTag16=&27;CMTag17=&28;CMTag18=&29;CMTag19=&30"
";CMTag20=&31;"
      MaskDisplay	      "text(str2num(LeftAlignmentValue), 0.5, MaskDisp"
"layString, 'HorizontalAlignment', HorizontalTextAlignment)\n"
      MaskSelfModifiable      on
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "normalized"
      MaskValueString	      "|none|none|on||Info|Info|Center|0.5|tstgraycod|"
"20||||||||||||||||||||"
      MaskVariableAliases     ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
      System {
	Name			"Model Info"
	Location		[154, 467, 416, 618]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  SubSystem
	  Name			  "EmptySubsystem"
	  Ports			  []
	  Position		  [115, 50, 145, 80]
	  ShowPortLabels	  on
	  TreatAsAtomicUnit	  off
	  RTWSystemCode		  "Auto"
	  RTWFcnNameOpts	  "Auto"
	  RTWFileNameOpts	  "Auto"
	  System {
	    Name		    "EmptySubsystem"
	    Location		    [146, 180, 902, 673]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	  }
	}
      }
    }
    Block {
      BlockType		      Reference
      Name		      "Random-Integer\nGenerator"
      Ports		      [0, 1]
      Position		      [25, 68, 105, 112]
      SourceBlock	      "commsource2/Random-Integer\nGenerator"
      SourceType	      "Random-Integer Generator"
      mul		      "M"
      seed		      "529558"
      Ts		      "Tsym"
      frameBased	      on
      sampPerFrame	      "1"
      orient		      off
    }
    Block {
      BlockType		      Display
      Name		      "Symbol Error Details"
      Ports		      [1]
      Position		      [20, 166, 115, 234]
      Orientation	      "left"
      Format		      "short"
      Decimation	      "1"
      Floating		      off
      SampleTime	      "-1"
    }
    Block {
      BlockType		      ToWorkspace
      Name		      "To Workspace 1"
      Position		      [45, 255, 105, 285]
      Orientation	      "left"
      VariableName	      "SER"
      MaxDataPoints	      "1"
      Decimation	      "1"
      SampleTime	      "-1"
      SaveFormat	      "Array"
    }
    Block {
      BlockType		      ToWorkspace
      Name		      "To Workspace 2"
      Position		      [45, 305, 105, 335]
      Orientation	      "left"
      VariableName	      "BER"
      MaxDataPoints	      "1"
      Decimation	      "1"
      SampleTime	      "-1"
      SaveFormat	      "Array"
    }
    Line {
      SrcBlock		      "Error Rate Calculation2"
      SrcPort		      1
      Points		      [-20, 0]
      Branch {
	DstBlock		"Bit Error Details"
	DstPort			1
      }
      Branch {
	Points			[0, -70]
	DstBlock		"To Workspace 2"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "Error Rate Calculation1"
      SrcPort		      1
      Points		      [-15, 0]
      Branch {
	DstBlock		"Symbol Error Details"
	DstPort			1
      }
      Branch {
	Points			[0, 70]
	DstBlock		"To Workspace 1"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "M-PSK\nDemodulator\nBaseband"
      SrcPort		      1
      Points		      [-20, 0]
      Branch {
	DstBlock		"Bit to Integer\nConverter"
	DstPort			1
      }
      Branch {
	Points			[0, 190]
	DstBlock		"Error Rate Calculation2"
	DstPort			2
      }
    }
    Line {
      SrcBlock		      "Random-Integer\nGenerator"
      SrcPort		      1
      Points		      [160, 0]
      Branch {
	DstBlock		"Integer to Bit\nConverter2"
	DstPort			1
      }
      Branch {
	Points			[0, 95]
	DstBlock		"Error Rate Calculation1"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "AWGN\nChannel"
      SrcPort		      1
      Points		      [0, 40]
      DstBlock		      "M-PSK\nDemodulator\nBaseband"
      DstPort		      1
    }
    Line {
      SrcBlock		      "M-PSK\nModulator\nBaseband"
      SrcPort		      1
      Points		      [90, 0]
      DstBlock		      "AWGN\nChannel"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Integer to Bit\nConverter2"
      SrcPort		      1
      Points		      [40, 0]
      Branch {
	DstBlock		"M-PSK\nModulator\nBaseband"
	DstPort			1
      }
      Branch {
	Points			[0, 285]
	DstBlock		"Error Rate Calculation2"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "Bit to Integer\nConverter"
      SrcPort		      1
      DstBlock		      "Error Rate Calculation1"
      DstPort		      2
    }
    Annotation {
      Position		      [349, 26]
      Text		      "Compute symbol and bit error probability of 8-P"
"SK modulation using Gray coding"
      FontName		      "Arial"
      FontSize		      14
      FontWeight	      "bold"
    }
    Annotation {
      Position		      [554, 270]
      Text		      "Symbol set size = M"
    }
    Annotation {
      Position		      [560, 291]
      Text		      "Symbol period = Tsym"
    }
    Annotation {
      Position		      [588, 313]
      Text		      "System sample period = Tsample  "
    }
    Annotation {
      Position		      [562, 354]
      Text		      "Eb/No (dB) = EbNodB  "
    }
    Annotation {
      Position		      [577, 334]
      Text		      "Simulation stop time = Tmax "
    }
  }
}
