Library {
  Name			  "com_ddmo"
  Version		  4.00
  LibraryLinkDisplay	  "none"
  CovSaveName		  "covdata"
  CovNameIncrementing	  off
  CovHtmlReporting	  on
  BlockNameDataTip	  off
  BlockParametersDataTip  on
  BlockDescriptionStringDataTip	off
  ToolBar		  off
  StatusBar		  off
  BrowserShowLibraryLinks off
  BrowserLookUnderMasks	  off
  Created		  "Tue Oct 20 09:11:04 1998"
  Creator		  "tdelve"
  UpdateHistory		  "UpdateHistoryNever"
  ModifiedByFormat	  "%<Auto>"
  LastModifiedBy	  "ysong"
  ModifiedDateFormat	  "%<Auto>"
  LastModifiedDate	  "Wed Aug 23 09:14:28 2000"
  ModelVersionFormat	  "1.%<AutoIncrement:7>"
  ConfigurationManager	  "none"
  SimParamPage		  "Solver"
  AlgebraicLoopMsg	  "warning"
  MinStepSizeMsg	  "warning"
  UnconnectedInputMsg	  "warning"
  UnconnectedOutputMsg	  "warning"
  UnconnectedLineMsg	  "warning"
  InheritedTsInSrcMsg	  "warning"
  SingleTaskRateTransMsg  "none"
  MultiTaskRateTransMsg	  "error"
  IntegerOverflowMsg	  "warning"
  CheckForMatrixSingularity "none"
  UnnecessaryDatatypeConvMsg "none"
  Int32ToFloatConvMsg	  "warning"
  SignalLabelMismatchMsg  "none"
  LinearizationMsg	  "none"
  VectorMatrixConversionMsg "none"
  SfunCompatibilityCheckMsg "none"
  BlockPriorityViolationMsg "warning"
  ArrayBoundsChecking	  "none"
  ConsistencyChecking	  "none"
  Profile		  off
  SimulationMode	  "normal"
  RTWRetainRTWFile	  off
  RTWMakeCommand	  "make_rtw"
  RTWGenerateCodeOnly	  off
  TLCProfiler		  off
  TLCDebug		  off
  TLCCoverage		  off
  ExtModeMexFile	  "ext_comm"
  ExtModeBatchMode	  off
  ExtModeTrigType	  "manual"
  ExtModeTrigMode	  "normal"
  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	  on
  ExtModeLogAll		  on
  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		    "com_ddmo"
    Location		    [92, 56, 619, 681]
    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		      SubSystem
      Name		      "Arbitrary-map\nQASK demod"
      Ports		      [1, 1]
      Position		      [155, 278, 235, 322]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband A-map QASK demodulation"
      MaskDescription	      "Demodulate a QASK modulated signal with user-de"
"fined arbitrary constellation."
      MaskHelp		      "This block demodulates a QASK modulated signal "
"using user-defined arbitrary constellation. The arbitrary defined map is give"
"n in in-phase and quadrature component vector. The vector length of in-phase "
"and quadrature components should have the same length. This block uses a defa"
"ult lowpass filter, which is [num,den]=butter(5,Fc*2*ts). Ungroup this block "
"to define your own filter."
      MaskPromptString	      "Vector of in-phase component:|Vector of quadrat"
"ure component:|Symbol interval (sec):|Carrier frequency (Hz):|Initial phase ("
"rad):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on"
      MaskCallbackString      "|||||"
      MaskEnableString	      "on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on,on"
      MaskVariables	      "y1=@1;y2=@2;td=@3;Fc=@4;Ph=@5;ts=@6;"
      MaskInitialization      "[num,den]=butter(5,Fc*2*ts);\n"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10 20] [20:"
".8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) 0 0 sin(["
"20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndisp('A-QASK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "real(exp(j*[0:8-1]/8*pi*2))|imag(exp(j*[0:8-1]/"
"8*pi*2))|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Arbitrary-map\nQASK demod"
	Location		[360, 100, 676, 230]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [10, 50, 30, 70]
	  ShowName		  off
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "QADM\npassband3"
	  Ports			  [1, 2]
	  Position		  [60, 38, 140, 82]
	  ForegroundColor	  "blue"
	  ShowName		  off
	  SourceBlock		  "com_cdmo/QADM\npassband"
	  SourceType		  "Passband DSB-SC QADM"
	  Fc			  "Fc"
	  num			  "num"
	  den			  "den"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "QASK\narbitrary-demap"
	  Ports			  [2, 1]
	  Position		  [175, 38, 255, 82]
	  ShowName		  off
	  SourceBlock		  "com_mocd/QASK\narbitrary-demap"
	  SourceType		  "QASK A-demap"
	  y1			  "y1"
	  y2			  "y2"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [285, 50, 305, 70]
	  ShowName		  off
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "QADM\npassband3"
	  SrcPort		  2
	  DstBlock		  "QASK\narbitrary-demap"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "QADM\npassband3"
	  SrcPort		  1
	  DstBlock		  "QASK\narbitrary-demap"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\narbitrary-demap"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "QADM\npassband3"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Arbitrary-map\nQASK mod"
      Ports		      [1, 1]
      Position		      [25, 278, 105, 322]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband A-map QASK modulation"
      MaskDescription	      "Modulate the input digital signal using quadrat"
"ure amplitude shift keying method with arbitrary constellation.   "
      MaskHelp		      "This block modulates a digital signal using QAS"
"K method with user-defined arbitrary constellation. The vector length of the "
"in-phase and quadrature components vector should have the same length. The in"
"puts are integers in the range [0, M-1], where M is the M-ary number. When th"
"e symbol interval is a two-element vector, the second element is the offset ("
"default 0)."
      MaskPromptString	      "Vector of in-phase component:|Vector of quadrat"
"ure component:|Symbol interval (sec):|Carrier frequency (Hz):|Initial phase ("
"rad):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on"
      MaskCallbackString      "|||||"
      MaskEnableString	      "on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on,on"
      MaskVariables	      "y1=@1;y2=@2;td=@3;Fc=@4;Ph=@5;ts=@6;"
      MaskDisplay	      "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10 20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+10*[s"
"in([0:.8:10]*pi*2/5) 0 0 sin([20:.8:30]*pi*2/5)]]);\ndisp('A-QASK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "real(exp(j*[0:8-1]/8*pi*2))|imag(exp(j*[0:8-1]/"
"8*pi*2))|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Arbitrary-map\nQASK mod"
	Location		[360, 100, 625, 240]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [5, 70, 20, 90]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "QAM\npassband2"
	  Ports			  [2, 1]
	  Position		  [155, 58, 235, 102]
	  ForegroundColor	  "blue"
	  SourceBlock		  "com_cdmo/QAM\npassband"
	  SourceType		  "Passband DSB-SC QAM"
	  Fc			  "Fc"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "QASK\narbitrary-map"
	  Ports			  [1, 2]
	  Position		  [45, 58, 125, 102]
	  SourceBlock		  "com_mocd/QASK\narbitrary-map"
	  SourceType		  "QASK A-map"
	  y1			  "y1"
	  y2			  "y2"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [270, 70, 290, 90]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "QAM\npassband2"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "QASK\narbitrary-map"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\narbitrary-map"
	  SrcPort		  1
	  DstBlock		  "QAM\npassband2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\narbitrary-map"
	  SrcPort		  2
	  DstBlock		  "QAM\npassband2"
	  DstPort		  2
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Circle-map\nQASK demod"
      Ports		      [1, 1]
      Position		      [155, 203, 235, 247]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband QASK demodulation"
      MaskDescription	      "Demodulate a QASK modulated signal with circle "
"constellation.        "
      MaskHelp		      "This block demodulates a QASK modulated signal "
"with circle constellation. The vector lengths for NIC, RIC, and PIC should be"
" the same. Use function DMOD to view the constellation of the signal distribu"
"tion. This block uses [num,den]=butter(5,Fc*2*ts) as the default lowpass filt"
"er. The default initial phase is zero. To specify non-default parameters, ung"
"roup this block to assign parameters."
      MaskPromptString	      "Number of symbols on each circle NIC:|Radii for"
" each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval (sec)"
":|Carrier frequency (Hz):|Sampling time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on"
      MaskCallbackString      "|||||"
      MaskEnableString	      "on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on,on"
      MaskVariables	      "NIR=@1;AIR=@2;PIR=@3;td=@4;Fc=@5;ts=@6;"
      MaskInitialization      "[num,den]=butter(5,Fc*2*ts);Ph=0;\n"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10 20] [20:"
".8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) 0 0 sin(["
"20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndisp('C-QASK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "[6 12 18 24 30 38]|[1 1.93 2.88 3.83 4.78 6.05]"
"|[0 0 0 0 0 0]|.1|100/2/pi|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Circle-map\nQASK demod"
	Location		[360, 100, 671, 225]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [10, 65, 30, 85]
	  ShowName		  off
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "QADM\npassband3"
	  Ports			  [1, 2]
	  Position		  [60, 53, 140, 97]
	  ForegroundColor	  "blue"
	  ShowName		  off
	  SourceBlock		  "com_cdmo/QADM\npassband"
	  SourceType		  "Passband DSB-SC QADM"
	  Fc			  "Fc"
	  num			  "num"
	  den			  "den"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "QASK\ncircle-demap"
	  Ports			  [2, 1]
	  Position		  [175, 53, 255, 97]
	  ShowName		  off
	  SourceBlock		  "com_mocd/QASK\ncircle-demap"
	  SourceType		  "QASK C-demap"
	  N			  "NIR"
	  A			  "AIR"
	  P			  "PIR"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [285, 65, 305, 85]
	  ShowName		  off
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "QADM\npassband3"
	  SrcPort		  1
	  DstBlock		  "QASK\ncircle-demap"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QADM\npassband3"
	  SrcPort		  2
	  DstBlock		  "QASK\ncircle-demap"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "QADM\npassband3"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\ncircle-demap"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Circle-map\nQASK mod"
      Ports		      [1, 1]
      Position		      [25, 203, 105, 247]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband C-QASK modulation"
      MaskDescription	      "Modulate the input digital signal using quadrat"
"ure amplitude shift keying method with circle constellation."
      MaskHelp		      "This block modulates input digit using QASK mod"
"ulation method with circle constellation. The vector lengths of NIC, RIC, and"
" PIC should be the same. Use function DMOD to view the constellation of the s"
"ignal distribution. The default initial phase is zero. To specify the phase i"
"nformation, ungroup this block to assign parameters."
      MaskPromptString	      "Number of symbols on each circle NIC:|Radii for"
" each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval (sec)"
":|Carrier Frequency (Hz):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on"
      MaskCallbackString      "|||||"
      MaskEnableString	      "on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on,on"
      MaskVariables	      "NIR=@1;AIR=@2;PIR=@3;td=@4;Fc=@5;ts=@6;"
      MaskInitialization      "Ph=0;\n"
      MaskDisplay	      "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10 20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+10*[s"
"in([0:.8:10]*pi*2/5) 0 0 sin([20:.8:30]*pi*2/5)]]);\ndisp('C-QASK');"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "[6 12 18 24 30 38]|[1 1.93 2.88 3.83 4.78 6.05]"
"|[0 0 0 0 0 0]|.1|100/2/pi|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Circle-map\nQASK mod"
	Location		[360, 100, 625, 225]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [5, 65, 20, 85]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "QAM\npassband1"
	  Ports			  [2, 1]
	  Position		  [160, 53, 240, 97]
	  ForegroundColor	  "blue"
	  ShowName		  off
	  SourceBlock		  "com_cdmo/QAM\npassband"
	  SourceType		  "Passband DSB-SC QAM"
	  Fc			  "Fc"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "QASK\ncircle-map"
	  Ports			  [1, 2]
	  Position		  [50, 53, 130, 97]
	  ShowName		  off
	  SourceBlock		  "com_mocd/QASK\ncircle-map"
	  SourceType		  "QASK C-map"
	  N			  "NIR"
	  A			  "AIR"
	  P			  "PIR"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [270, 65, 290, 85]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "QASK\ncircle-map"
	  SrcPort		  2
	  DstBlock		  "QAM\npassband1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "QAM\npassband1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "QASK\ncircle-map"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\ncircle-map"
	  SrcPort		  1
	  DstBlock		  "QAM\npassband1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Coherent\nMFSK demod"
      Ports		      [1, 1]
      Position		      [155, 353, 235, 397]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MFSK demodulation"
      MaskDescription	      "Demodulate a MFSK modulated signal using cohere"
"nt demodulation method."
      MaskHelp		      "This block demodulates a MFSK modulated signal "
"using coherent method. The coherence demodulation method is phase sensitive. "
"The tone space is the frequency distance between two consecutive digit after "
"the modulation. The inputs are integers in the range [0, M-1], where M is the"
" M-ary number. When the symbol interval is a two-element vector, the second e"
"lement is the offset (default 0)."
      MaskPromptString	      "M-ary number (output digits in range [0, M-1]):"
"|Tone space (Hz):|Symbol interval (sec):|Carrier frequency (Hz):|Initial phas"
"e (rad):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on"
      MaskCallbackString      "|||||"
      MaskEnableString	      "on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on,on"
      MaskVariables	      "M=@1;Ton=@2;td=@3;Fc=@4;Ph=@5;ts=@6;"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10:1.6:20] "
"[20:.8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) sin(["
"10:1.6:20]*pi/5) sin([20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndi"
"sp('Cohe MFSK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|8/.1/5|.1|100|0|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Coherent\nMFSK demod"
	Location		[360, 100, 796, 244]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [30, 40, 50, 60]
	  ShowName		  off
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "Coh MFSK demod\ncorr passband"
	  Ports			  [1, 1]
	  Position		  [100, 28, 180, 72]
	  ShowName		  off
	  SourceBlock		  "com_mocd/Coh corr MFSK\ndemod passband"
	  SourceType		  "Passband coherent MFSK correlation"
	  N			  "M"
	  Ton			  "Ton"
	  td			  "td"
	  MaskParam4		  "Fc"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "Min/max index"
	  Ports			  [1, 1]
	  Position		  [225, 28, 305, 72]
	  ShowName		  off
	  SourceBlock		  "com_mocd/Min//max index"
	  SourceType		  "Maximum/minimum index."
	  td			  "td"
	  mima			  "'max'"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [360, 40, 380, 60]
	  ShowName		  off
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Min/max index"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Coh MFSK demod\ncorr passband"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Coh MFSK demod\ncorr passband"
	  SrcPort		  1
	  DstBlock		  "Min/max index"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Demonstration blocks "
      Ports		      []
      Position		      [285, 510, 340, 533]
      Orientation	      "up"
      BackgroundColor	      "cyan"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp(' ')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Demonstration blocks "
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MASK demod"
      Ports		      [1, 1]
      Position		      [155, 53, 235, 97]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MASK demodulation"
      MaskDescription	      "Demodulate a MASK modulated signal."
      MaskHelp		      "This block demodulates a MASK modulated signal."
" The output signals are digits in range [0, M-1]. When the symbol interval is"
" a two element vector, the second element is the offset (default 0). A defaul"
"t lowpass filter is used in the demodulation, which is [num, den]=butter(5, F"
"c*2*ts). Ungroup this block to specify the numerator and denominator of the l"
"owpass filter."
      MaskPromptString	      "M-ary number (output integer in range [0, M-1])"
":|Symbol interval (sec):|Carrier Frequency (Hz):|Initial phase (rad):|Sample "
"time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskInitialization      "[num,den]=butter(5,Fc*2*ts);\n\n"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10 20] [20:"
".8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) 0 0 sin(["
"20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndisp('MASK');"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"MASK demod"
	Location		[360, 100, 777, 218]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [30, 30, 50, 50]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "DSB-SC-ADM\npassband"
	  Ports			  [1, 1]
	  Position		  [90, 18, 170, 62]
	  ForegroundColor	  "blue"
	  SourceBlock		  "com_cdmo/DSB-SC-ADM\npassband"
	  SourceType		  "Passband DSB-SC ADM"
	  MaskParam1		  "Fc"
	  MaskParam2		  "num"
	  MaskParam3		  "den"
	  MaskParam4		  "Ph"
	  MaskParam5		  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "MASK demap"
	  Ports			  [1, 1]
	  Position		  [215, 18, 295, 62]
	  SourceBlock		  "com_mocd/MASK demap"
	  SourceType		  "MASK demap"
	  N			  "M"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [360, 30, 380, 50]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "MASK demap"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "DSB-SC-ADM\npassband"
	  SrcPort		  1
	  DstBlock		  "MASK demap"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "DSB-SC-ADM\npassband"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MASK mod"
      Ports		      [1, 1]
      Position		      [25, 53, 105, 97]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MASK modulation"
      MaskDescription	      "Modulate the input digital signal using M-ary a"
"mplitude shift keying method."
      MaskHelp		      "This block modulates a digital signal using MAS"
"K method. The inputs are integers in the range [0, M-1], where M is the M-ary"
" number. When the symbol interval is a two-element vector, the second element"
" is the offset (default 0). The block keeps the input value at the offset tim"
"e point for the entire interval."
      MaskPromptString	      "M-ary number (input integer in range [0, M-1]):"
"|Input symbol interval (sec):|Carrier frequency (Hz):|Carrier initial phase ("
"rad):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskDisplay	      "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10 20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+10*[s"
"in([0:.8:10]*pi*2/5) 0 0 sin([20:.8:30]*pi*2/5)]]);\ndisp('MASK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"MASK mod"
	Location		[360, 100, 718, 208]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [30, 25, 50, 45]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "DSB-SC AM\npassband"
	  Ports			  [1, 1]
	  Position		  [195, 13, 275, 57]
	  ForegroundColor	  "blue"
	  SourceBlock		  "com_cdmo/DSB-SC AM\npassband"
	  SourceType		  "Passband DSB-SC AM"
	  MaskParam1		  "Fc"
	  MaskParam2		  "Ph"
	  MaskParam3		  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "MASK map1"
	  Ports			  [1, 1]
	  Position		  [80, 13, 160, 57]
	  SourceBlock		  "com_mocd/MASK map"
	  SourceType		  "MASK map"
	  N			  "M"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [300, 25, 320, 45]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "DSB-SC AM\npassband"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "MASK map1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "MASK map1"
	  SrcPort		  1
	  DstBlock		  "DSB-SC AM\npassband"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MFSK mod"
      Ports		      [1, 1]
      Position		      [25, 353, 105, 397]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband FSK modulation"
      MaskDescription	      "Modulate the input digital signal using M-ary f"
"requency shift keying method."
      MaskHelp		      "This block modulates a digital signal using FSK"
" method. The modulation resets the modulation phase to be the specified initi"
"al phase at the beginning of each digit. Tone space is the frequency distance"
" between two consecutive digits after modulation. The output signal has its f"
"requency in the range [Fc, Fc + Tone_space*Max_In_Value], where Fc is the car"
"rier frequency."
      MaskPromptString	      "Tone space(Hz):|Symbol interval (sec):|Carrier "
"frequency (Hz):|Initial phase (rad):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "Ton=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskDisplay	      "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10:1.6:20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+1"
"0*[sin([0:.8:10]*pi*2/5) sin([10:1.6:20]*pi/5) sin([20:.8:30]*pi*2/5)]]);\ndi"
"sp('MFSK');"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8/.1/5|.1|100|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"MFSK mod"
	Location		[360, 100, 740, 290]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [15, 60, 35, 80]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "FM\npassband"
	  Ports			  [1, 1]
	  Position		  [190, 48, 270, 92]
	  ForegroundColor	  "blue"
	  SourceBlock		  "com_cdmo/FM\npassband"
	  SourceType		  "Passband FM"
	  MaskParam1		  "Fc"
	  MaskParam2		  "Ph"
	  MaskParam3		  "ts"
	  MaskParam4		  "td"
	}
	Block {
	  BlockType		  Reference
	  Name			  "MFSK map"
	  Ports			  [1, 1]
	  Position		  [75, 48, 155, 92]
	  SourceBlock		  "com_mocd/MFSK map"
	  SourceType		  "MFSK map"
	  Ton			  "Ton"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [290, 60, 310, 80]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "MFSK map"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "FM\npassband"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "MFSK map"
	  SrcPort		  1
	  DstBlock		  "FM\npassband"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MPSK demod"
      Ports		      [1, 1]
      Position		      [155, 428, 235, 472]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MPSK demodulation"
      MaskDescription	      "Demodulate a MPSK modulated signal using correl"
"ation method."
      MaskHelp		      "This block demodulates a MPSK modulated signal "
"using correlation method. The output signals are digits in range [0, M-1], wh"
"ere M is the M-ary number. When the symbol interval is a two-element vector, "
"the second element is the offset (default 0)."
      MaskPromptString	      "M-ary number (output integer in range [0, M-1])"
":|Symbol interval (sec):|Carrier frequency (Hz):|Initial phase (rad):|Sample "
"time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10:1.6:20] "
"[20:.8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) sin(["
"10:1.6:20]*pi/5) sin([20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndi"
"sp('MPSK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"MPSK demod"
	Location		[360, 100, 694, 264]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [10, 65, 30, 85]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "MPSK demod\ncorr passband"
	  Ports			  [1, 1]
	  Position		  [60, 53, 140, 97]
	  SourceBlock		  "com_mocd/Corr MPSK\ndemod passband"
	  SourceType		  "Passband MPSK coherent MPSK correlation"
	  N			  "M"
	  td			  "td"
	  MaskParam3		  "Fc"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "Min/max index2"
	  Ports			  [1, 1]
	  Position		  [185, 53, 265, 97]
	  SourceBlock		  "com_mocd/Min//max index"
	  SourceType		  "Maximum/minimum index."
	  td			  "td"
	  mima			  "'max'"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [295, 65, 315, 85]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Min/max index2"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "MPSK demod\ncorr passband"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "MPSK demod\ncorr passband"
	  SrcPort		  1
	  DstBlock		  "Min/max index2"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MPSK mod"
      Ports		      [1, 1]
      Position		      [25, 428, 105, 472]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MPSK modulation"
      MaskDescription	      "Modulate the input signal using M-ary phase shi"
"ft keying method."
      MaskHelp		      "This block modulates a digital signal with a gi"
"ven carrier frequency using MPSK method. The inputs are integers in the range"
" [0, M-1], where M is the M-ary number. When the symbol interval is a two ele"
"ment vector, the second element is the offset (default 0). The block keeps th"
"e input value at the offset time point for the entire interval."
      MaskPromptString	      "M-ary number (input integer in range [0, M-1]):"
"|Symbol interval (sec):|Carrier frequency (Hz):|Initial phase (rad):|Sample t"
"ime (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskDisplay	      "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10:1.6:20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+1"
"0*[sin([0:.8:10]*pi*2/5) sin([10:1.6:20]*pi/5) sin([20:.8:30]*pi*2/5)]]);\ndi"
"sp('MPSK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"MPSK mod"
	Location		[360, 100, 678, 235]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [10, 65, 30, 85]
	  ShowName		  off
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "MPSK map"
	  Ports			  [1, 1]
	  Position		  [60, 53, 140, 97]
	  ShowName		  off
	  SourceBlock		  "com_mocd/MPSK map"
	  SourceType		  "MPSK map"
	  MaskParam1		  "M"
	  td			  "td"
	}
	Block {
	  BlockType		  Reference
	  Name			  "PM\npassband"
	  Ports			  [1, 1]
	  Position		  [165, 53, 245, 97]
	  ForegroundColor	  "blue"
	  ShowName		  off
	  SourceBlock		  "com_cdmo/PM\npassband"
	  SourceType		  "Passband PM"
	  MaskParam1		  "Fc"
	  MaskParam2		  "Ph"
	  MaskParam3		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [275, 65, 295, 85]
	  ShowName		  off
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "MPSK map"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "PM\npassband"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "MPSK map"
	  SrcPort		  1
	  DstBlock		  "PM\npassband"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "More passband digital modem \nfunction block li"
"b"
      Ports		      []
      Position		      [25, 498, 105, 542]
      BackgroundColor	      "yellow"
      ShowName		      off
      OpenFcn		      "com_ddm2"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('More function\\nblocks')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"More passband digital modem \nfunction block "
"lib"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Noncoherent\nMFSK demod"
      Ports		      [1, 1]
      Position		      [285, 348, 365, 392]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MPSK demodulation"
      MaskDescription	      "Demodulate a MFSK modulated signal using noncoh"
"erent method."
      MaskHelp		      "This block demodulates a MFSK modulated signal "
"using noncoherent method. The tone space is the frequency distance between tw"
"o consecutive after the modulation. The inputs are integers in the range [0, "
"M-1], where M is the M-ary number. When the symbol interval is a two-element "
"vector, the second element is the offset (default 0)."
      MaskPromptString	      "M-ary number (output digits in range [0, M-1]):"
"|Tone space (Hz):|Symbol interval (sec):|Carrier frequency (Hz):|Initial phas"
"e (rad):|Sample time (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on"
      MaskCallbackString      "|||||"
      MaskEnableString	      "on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on,on"
      MaskVariables	      "M=@1;Ton=@2;td=@3;Fc=@4;Ph=@5;ts=@6;"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10:1.6:20] "
"[20:.8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) sin(["
"10:1.6:20]*pi/5) sin([20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndi"
"sp('Nonc MFSK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|8/.1/5|.1|100|pi/6|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Noncoherent\nMFSK demod"
	Location		[360, 100, 817, 283]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [25, 80, 45, 100]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "Min/max index1"
	  Ports			  [1, 1]
	  Position		  [230, 68, 310, 112]
	  SourceBlock		  "com_mocd/Min//max index"
	  SourceType		  "Maximum/minimum index."
	  td			  "td"
	  mima			  "'max'"
	}
	Block {
	  BlockType		  Reference
	  Name			  "Non-coh MFSK dm\ncorr passband"
	  Ports			  [1, 1]
	  Position		  [105, 68, 185, 112]
	  SourceBlock		  "com_mocd/Noncoh corr MFSK\ndemod  passband"
	  SourceType		  "Passband non-coherent MFSK correlation"
	  N			  "M"
	  Ton			  "Ton"
	  td			  "td"
	  MaskParam4		  "Fc"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [375, 80, 395, 100]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Min/max index1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Non-coh MFSK dm\ncorr passband"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Non-coh MFSK dm\ncorr passband"
	  SrcPort		  1
	  DstBlock		  "Min/max index1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband MASK\nmodem demo"
      Ports		      []
      Position		      [285, 53, 365, 97]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.1;M=8;Fc=100/2/pi;tddmmask"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('MASK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband MASK\nmodem demo"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband MFSK\nmodem demo"
      Ports		      []
      Position		      [415, 353, 495, 397]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;M=8;Fc=100/pi/2;tddmmfsk"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('MFSK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband MFSK\nmodem demo"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband MPSK\nmodem demo"
      Ports		      []
      Position		      [285, 428, 365, 472]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;M=8;Fc=100/2/pi;tddmmpsk"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('MPSK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband MPSK\nmodem demo"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband QASK\nA-constellation modem demo"
      Ports		      []
      Position		      [285, 278, 365, 322]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;Fc=100/2/pi;M=32;tddps3cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('A-QASK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband QASK\nA-constellation modem demo"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband QASK\nC-constellation modem demo"
      Ports		      []
      Position		      [285, 203, 365, 247]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;Fc=100/2/pi;NIR=[6 12 18 24 30 38]"
";AIR=[1 1.93 2.88 3.83 4.78 6.05];PIR=zeros(1,6);[num,den]=butter(4,100/pi*ts"
");M=sum(NIR);tddps2cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('C-QASK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband QASK\nC-constellation modem demo"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband QASK\nC-constellation modem demo2"
      Ports		      []
      Position		      [415, 203, 495, 247]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;Fc=100/2/pi;M=16;[num,den]=butter("
"4,100/pi*ts);tstqpsk"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('QPSK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband QASK\nC-constellation modem demo2"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband QASK\nS-constellation modem demo2"
      Ports		      []
      Position		      [415, 128, 495, 172]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "tutcdwmo"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('S-QASK\\ndemo2')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband QASK\nS-constellation modem demo2"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband QASK \nS-constellation modem demo"
      Ports		      []
      Position		      [285, 128, 365, 172]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.1;M=8;Fc=100/2/pi;tddmqask"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('S-QASK\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband QASK \nS-constellation modem demo"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"cyan"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Square-map\nQASK demod"
      Ports		      [1, 1]
      Position		      [155, 128, 235, 172]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband S-QASK demodulation"
      MaskDescription	      "Demodulate a QASK modulated signal using square"
" constellation.       "
      MaskHelp		      "This block demodulates a MQASK modulated signal"
". The output signals are digits in the range [0, M-1]. When the symbol interv"
"al is a two-element vector, the second element is the offset (default 0). A d"
"efault lowpass filter is used in the demodulation, which is [num, den]=butter"
"(5, Fc*2*ts). Ungroup this block to specify the numerator and denominator of "
"the lowpass filter."
      MaskPromptString	      "M-ary number (output integer in range [0 M-1]):"
"|Symbol interval (sec):|Carrier Frequency (Hz):|Initial phase (rad):|Sample t"
"ime (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskInitialization      "[num,den]=butter(5,Fc*2*ts);\n"
      MaskDisplay	      "plot(0,0,100,100,[5+1.5*[[0:.8:10] [10 20] [20:"
".8:30]] 50 50 50 50+15*[0 1 1 2 2 3]],[85+10*[sin([0:.8:10]*pi*2/5) 0 0 sin(["
"20:.8:30]*pi*2/5)] 85 99 75 85+8*[1 1 -1 -1 1 1]]);\ndisp('S-QASK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"Square-map\nQASK demod"
	Location		[360, 100, 710, 193]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [40, 40, 60, 60]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "QADM\npassband"
	  Ports			  [1, 2]
	  Position		  [90, 28, 170, 72]
	  ForegroundColor	  "blue"
	  ShowName		  off
	  SourceBlock		  "com_cdmo/QADM\npassband"
	  SourceType		  "Passband DSB-SC QADM"
	  Fc			  "Fc"
	  num			  "num"
	  den			  "den"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "QASK\nsquare-demap"
	  Ports			  [2, 1]
	  Position		  [205, 28, 285, 72]
	  ShowName		  off
	  SourceBlock		  "com_mocd/QASK\nsquare-demap"
	  SourceType		  "QASK S-demap"
	  N			  "M"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [320, 40, 340, 60]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "QADM\npassband"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\nsquare-demap"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QADM\npassband"
	  SrcPort		  2
	  DstBlock		  "QASK\nsquare-demap"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "QADM\npassband"
	  SrcPort		  1
	  DstBlock		  "QASK\nsquare-demap"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Square-map\nQASK mod"
      Ports		      [1, 1]
      Position		      [25, 128, 105, 172]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband S-QASK modulation"
      MaskDescription	      "Modulate the input signal using quadrature ampl"
"itude shift keying modulation method with square constellation."
      MaskHelp		      "This block modulates a digital signal using QAS"
"K method with square constellation. The inputs are integers in the range [0, "
"M-1], where M is the M-ary number, which is M=2^K. K is an integer. When the "
"symbol interval is a two element vector, the second element is the offset (de"
"fault 0). "
      MaskPromptString	      "M-ary number (input digits in range [0, M-1]):|"
"Symbol interval (sec):|Carrier frequency (Hz):|Initial phase (rad):|Sample ti"
"me (sec):"
      MaskStyleString	      "edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on"
      MaskCallbackString      "||||"
      MaskEnableString	      "on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on"
      MaskToolTipString	      "on,on,on,on,on"
      MaskVariables	      "M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;"
      MaskDisplay	      "plot(0,0,100,100,[5+15*[0 1 1 2 2 3] 50 50 50 5"
"0+1.5*[[0:.8:10] [10 20] [20:.8:30]]],[85+8*[1 1 -1 -1 1 1] 85 99 75 85+10*[s"
"in([0:.8:10]*pi*2/5) 0 0 sin([20:.8:30]*pi*2/5)]]);\ndisp('S-QASK')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"Square-map\nQASK mod"
	Location		[360, 100, 650, 240]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "in_1"
	  Position		  [5, 65, 20, 85]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Reference
	  Name			  "QAM\npassband"
	  Ports			  [2, 1]
	  Position		  [165, 53, 245, 97]
	  ForegroundColor	  "blue"
	  SourceBlock		  "com_cdmo/QAM\npassband"
	  SourceType		  "Passband DSB-SC QAM"
	  Fc			  "Fc"
	  Ph			  "Ph"
	  ts			  "ts"
	}
	Block {
	  BlockType		  Reference
	  Name			  "QASK\nsquare-map"
	  Ports			  [1, 2]
	  Position		  [50, 53, 130, 97]
	  SourceBlock		  "com_mocd/QASK\nsquare-map"
	  SourceType		  "QASK S-map"
	  N			  "M"
	  td			  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [275, 65, 295, 85]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "QASK\nsquare-map"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QAM\npassband"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "QASK\nsquare-map"
	  SrcPort		  2
	  DstBlock		  "QAM\npassband"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "QASK\nsquare-map"
	  SrcPort		  1
	  DstBlock		  "QAM\npassband"
	  DstPort		  1
	}
      }
    }
    Line {
      SrcBlock		      "Circle-map\nQASK mod"
      SrcPort		      1
      DstBlock		      "Circle-map\nQASK demod"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Square-map\nQASK mod"
      SrcPort		      1
      DstBlock		      "Square-map\nQASK demod"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Arbitrary-map\nQASK mod"
      SrcPort		      1
      DstBlock		      "Arbitrary-map\nQASK demod"
      DstPort		      1
    }
    Line {
      SrcBlock		      "MFSK mod"
      SrcPort		      1
      Points		      [30, 0]
      Branch {
	DstBlock		"Coherent\nMFSK demod"
	DstPort			1
      }
      Branch {
	Points			[0, -25; 110, 0; 0, 20]
	DstBlock		"Noncoherent\nMFSK demod"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "MPSK mod"
      SrcPort		      1
      DstBlock		      "MPSK demod"
      DstPort		      1
    }
    Line {
      SrcBlock		      "MASK mod"
      SrcPort		      1
      DstBlock		      "MASK demod"
      DstPort		      1
    }
    Annotation {
      Position		      [232, 12]
      VerticalAlignment	      "top"
      ForegroundColor	      "red"
      Text		      "Digital Modulation/Demodulation Library"
      FontSize		      12
      FontWeight	      "bold"
    }
    Annotation {
      Position		      [227, 32]
      VerticalAlignment	      "top"
      ForegroundColor	      "red"
      Text		      "(passband simulation)"
    }
    Annotation {
      Position		      [260, 592]
      Text		      "Warning: This library is obsolete and may be re"
"moved in the future."
      FontName		      "Arial"
      FontSize		      12
    }
  }
}
