Library {
  Name			  "com_mocd"
  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:01 1998"
  Creator		  "tdelve"
  UpdateHistory		  "UpdateHistoryNever"
  ModifiedByFormat	  "%<Auto>"
  LastModifiedBy	  "ysong"
  ModifiedDateFormat	  "%<Auto>"
  LastModifiedDate	  "Wed Aug 23 12:08:11 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_mocd"
    Location		    [69, 66, 714, 766]
    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		      "Blocks that can be found in other sublibraries "
"in this toolbox"
      Ports		      []
      Position		      [145, 610, 200, 633]
      Orientation	      "up"
      ForegroundColor	      "blue"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Blocks that can be found in other sublibrarie"
"s in this toolbox"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Coh corr MFSK\ndemod passband"
      Ports		      [1, 1]
      Position		      [295, 353, 375, 397]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband coherent MFSK correlation"
      MaskDescription	      "Compute MFSK correlation. Take MFSK modulated s"
"ignal. Output a vector of correlation result."
      MaskHelp		      "This block calculates the coherent correlation "
"value of the input signal with a vector of sinusoidal signals. These sinusoid"
"al signals have their frequency the same as that of FM modulated signal of po"
"ssible resulting digits. The output is an M length vector. M is the M-ary num"
"ber. The MFSK demodulation result is the index of the largest output, using t"
"he Min/max demap block. The computation is phase sensitive."
      MaskPromptString	      "M-ary number (input in range [0, M-1]):|Tone sp"
"ace (Hz):|Symbol interval and offset (sec):|Carrier frequency (Hz):|Initial p"
"hase (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	      "N=@1;Ton=@2;td=@3;Ph=@5;ts=@6;"
      MaskInitialization      "pi2=2*pi;Fc=@4*pi2;sft=[0:N-1]*Ton*pi2;"
      MaskDisplay	      "disp('Coh corr\\nMFSK dm')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "16|16/.1/5|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Coh corr MFSK\ndemod passband"
	Location		[360, 100, 950, 345]
	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		  [365, 45, 385, 65]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Array sin"
	  Ports			  [1, 1]
	  Position		  [325, 85, 375, 105]
	  FunctionName		  "arysin"
	  Parameters		  "'cos'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Clock
	  Name			  "Clock"
	  Position		  [35, 160, 55, 180]
	  DisplayTime		  off
	  Decimation		  "10"
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [70, 155, 110, 185]
	  Gain			  "Fc"
	  Multiplication	  "Element-wise(K.*u)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Initial phase"
	  Position		  [80, 113, 100, 137]
	  Value			  "Ph"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [415, 46, 440, 79]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Scheduled\nreset-int"
	  Ports			  [1, 1]
	  Position		  [140, 39, 200, 81]
	  ShowPortLabels	  on
	  TreatAsAtomicUnit	  off
	  RTWSystemCode		  "Auto"
	  RTWFcnNameOpts	  "Auto"
	  RTWFileNameOpts	  "Auto"
	  MaskType		  "Scheduled reset integration."
	  MaskDescription	  "Reset the state to be zero(s) at the schedu"
"led reset point."
	  MaskHelp		  "This block resets the state(s) to be zero(s"
") at the begining of reset time inteval. The reset inteval can be a two eleme"
"nts vector with the second element being offset."
	  MaskPromptString	  "Scheduled reset time inteval and offset:|Sa"
"mple time and offset:|Modulo bound:"
	  MaskStyleString	  "edit,edit,edit"
	  MaskTunableValueString  "on,on,on"
	  MaskCallbackString	  "||"
	  MaskEnableString	  "on,on,on"
	  MaskVisibilityString	  "on,on,on"
	  MaskToolTipString	  "on,on,on"
	  MaskInitialization	  "td=@1;ts=@2;limit=@3;"
	  MaskDisplay		  "disp('Schdld\\nreset-int')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  MaskValueString	  "td|ts|Inf"
	  MaskVariableAliases	  ",,"
	  System {
	    Name		    "Scheduled\nreset-int"
	    Location		    [410, 150, 910, 410]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	    Block {
	      BlockType		      Inport
	      Name		      "In1"
	      Position		      [20, 80, 40, 100]
	      Port		      "1"
	      Interpolate	      on
	    }
	    Block {
	      BlockType		      "S-Function"
	      Name		      "Scheduled\nreset-int"
	      Ports		      [1, 1]
	      Position		      [90, 59, 150, 101]
	      FunctionName	      "schdint"
	      Parameters	      "td, ts, limit"
	      PortCounts	      "[]"
	      SFunctionModules	      "''"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Out1"
	      Position		      [180, 80, 200, 100]
	      Port		      "1"
	      OutputWhenDisabled      "held"
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "In1"
	      SrcPort		      1
	      DstBlock		      "Scheduled\nreset-int"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Scheduled\nreset-int"
	      SrcPort		      1
	      DstBlock		      "Out1"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Scheduled\nreset-int1"
	  Ports			  [1, 1]
	  Position		  [470, 44, 530, 86]
	  ShowPortLabels	  on
	  TreatAsAtomicUnit	  off
	  RTWSystemCode		  "Auto"
	  RTWFcnNameOpts	  "Auto"
	  RTWFileNameOpts	  "Auto"
	  MaskType		  "Scheduled reset integration."
	  MaskDescription	  "Reset the state to be zero(s) at the schedu"
"led reset point."
	  MaskHelp		  "This block resets the state(s) to be zero(s"
") at the begining of reset time inteval. The reset inteval can be a two eleme"
"nts vector with the second element being offset."
	  MaskPromptString	  "Scheduled reset time inteval and offset:|Sa"
"mple time and offset:|Modulo bound:"
	  MaskStyleString	  "edit,edit,edit"
	  MaskTunableValueString  "on,on,on"
	  MaskCallbackString	  "||"
	  MaskEnableString	  "on,on,on"
	  MaskVisibilityString	  "on,on,on"
	  MaskToolTipString	  "on,on,on"
	  MaskInitialization	  "td=@1;ts=@2;limit=@3;"
	  MaskDisplay		  "disp('Schdld\\nreset-int')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  MaskValueString	  "td|ts|Inf"
	  MaskVariableAliases	  ",,"
	  System {
	    Name		    "Scheduled\nreset-int1"
	    Location		    [410, 150, 910, 410]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	    Block {
	      BlockType		      Inport
	      Name		      "In1"
	      Position		      [20, 80, 40, 100]
	      Port		      "1"
	      Interpolate	      on
	    }
	    Block {
	      BlockType		      "S-Function"
	      Name		      "Scheduled\nreset-int1"
	      Ports		      [1, 1]
	      Position		      [90, 59, 150, 101]
	      FunctionName	      "schdint"
	      Parameters	      "td, ts, limit"
	      PortCounts	      "[]"
	      SFunctionModules	      "''"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Out1"
	      Position		      [180, 80, 200, 100]
	      Port		      "1"
	      OutputWhenDisabled      "held"
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "In1"
	      SrcPort		      1
	      DstBlock		      "Scheduled\nreset-int1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Scheduled\nreset-int1"
	      SrcPort		      1
	      DstBlock		      "Out1"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key"
	  Position		  [60, 48, 80, 72]
	  Value			  "sft"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [3, 1]
	  Position		  [265, 75, 290, 115]
	  IconShape		  "rectangular"
	  Inputs		  "+++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [205, 160, 230, 195]
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [135, 184, 170, 216]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [560, 55, 580, 75]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  Points		  [5, 0; 0, -15]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  Points		  [0, 0]
	  Branch {
	    DstBlock		    "Zero-Order\nHold"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Sum2"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  Points		  [15, 0]
	  DstBlock		  "Sum1"
	  DstPort		  3
	}
	Line {
	  SrcBlock		  "Clock"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Initial phase"
	  SrcPort		  1
	  Points		  [125, 0; 0, -30]
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Scheduled\nreset-int"
	  SrcPort		  1
	  Points		  [20, 0; 0, 20]
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Shift key"
	  SrcPort		  1
	  DstBlock		  "Scheduled\nreset-int"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Array sin"
	  SrcPort		  1
	  Points		  [20, 0]
	  DstBlock		  "Product"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  DstBlock		  "Array sin"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  DstBlock		  "Scheduled\nreset-int1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Product"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Scheduled\nreset-int1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Corr MPSK\ndemod passband"
      Ports		      [1, 1]
      Position		      [295, 503, 375, 547]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband MPSK coherent MPSK correlation"
      MaskDescription	      "Compute MPSK correlation. Take MPSK modulated s"
"ignal. Output a vector of correlation result."
      MaskHelp		      "This block calculates the correlation value of "
"the input signal with a vector of sinusoidal signals. These sinusoidal signal"
"s have their phase shift the same as that of PM modulated signal of possible "
"resulting digits. The output is an M length vector. M is the M-ary number. Th"
"e MPSK demodulation result is the index of the largest output, using the Min/"
"max demap block. The computation is phase sensitive."
      MaskPromptString	      "M-ary number (integer in range [0, M-1]):|Symbo"
"l interval and offset (sec):|Carrier frequency (Hz):|Initial phase (rad):|Sam"
"ple 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	      "N=@1;td=@2;Ph=@4;ts=@5;"
      MaskInitialization      "pi2=2*pi;sft=[0:N-1]*pi2/N;Fc=@3*pi2;"
      MaskDisplay	      "disp('Corr MPSK\\ndemod')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "16|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,"
      System {
	Name			"Corr MPSK\ndemod passband"
	Location		[360, 100, 928, 291]
	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		  [305, 100, 325, 120]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Array sin"
	  Ports			  [1, 1]
	  Position		  [295, 50, 345, 70]
	  FunctionName		  "arysin"
	  Parameters		  "'cos'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Clock
	  Name			  "Clock"
	  Position		  [15, 90, 35, 110]
	  DisplayTime		  off
	  Decimation		  "10"
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [65, 85, 105, 115]
	  Gain			  "Fc"
	  Multiplication	  "Element-wise(K.*u)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Initial phase"
	  Position		  [165, 48, 185, 72]
	  Value			  "Ph"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [385, 51, 410, 84]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Scheduled\nreset-int1"
	  Ports			  [1, 1]
	  Position		  [440, 49, 500, 91]
	  ShowPortLabels	  on
	  TreatAsAtomicUnit	  off
	  RTWSystemCode		  "Auto"
	  RTWFcnNameOpts	  "Auto"
	  RTWFileNameOpts	  "Auto"
	  MaskType		  "Scheduled reset integration."
	  MaskDescription	  "Reset the state to be zero(s) at the schedu"
"led reset point."
	  MaskHelp		  "This block resets the state(s) to be zero(s"
") at the begining of reset time inteval. The reset inteval can be a two eleme"
"nts vector with the second element being offset."
	  MaskPromptString	  "Scheduled reset time inteval and offset:|Sa"
"mple time and offset:|Modulo bound:"
	  MaskStyleString	  "edit,edit,edit"
	  MaskTunableValueString  "on,on,on"
	  MaskCallbackString	  "||"
	  MaskEnableString	  "on,on,on"
	  MaskVisibilityString	  "on,on,on"
	  MaskToolTipString	  "on,on,on"
	  MaskInitialization	  "td=@1;ts=@2;limit=@3;"
	  MaskDisplay		  "disp('Schdld\\nreset-int')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  MaskValueString	  "td|ts|Inf"
	  MaskVariableAliases	  ",,"
	  System {
	    Name		    "Scheduled\nreset-int1"
	    Location		    [410, 150, 910, 410]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	    Block {
	      BlockType		      Inport
	      Name		      "In1"
	      Position		      [20, 80, 40, 100]
	      Port		      "1"
	      Interpolate	      on
	    }
	    Block {
	      BlockType		      "S-Function"
	      Name		      "Scheduled\nreset-int1"
	      Ports		      [1, 1]
	      Position		      [90, 59, 150, 101]
	      FunctionName	      "schdint"
	      Parameters	      "td, ts, limit"
	      PortCounts	      "[]"
	      SFunctionModules	      "''"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Out1"
	      Position		      [180, 80, 200, 100]
	      Port		      "1"
	      OutputWhenDisabled      "held"
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "In1"
	      SrcPort		      1
	      DstBlock		      "Scheduled\nreset-int1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Scheduled\nreset-int1"
	      SrcPort		      1
	      DstBlock		      "Out1"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key"
	  Position		  [115, 13, 135, 37]
	  Value			  "sft"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [3, 1]
	  Position		  [240, 40, 265, 80]
	  IconShape		  "rectangular"
	  Inputs		  "+++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [185, 90, 210, 125]
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [125, 119, 160, 151]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [525, 60, 545, 80]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Scheduled\nreset-int1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  DstBlock		  "Scheduled\nreset-int1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  DstBlock		  "Array sin"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Shift key"
	  SrcPort		  1
	  Points		  [85, 0]
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Initial phase"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Clock"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  Points		  [10, 0]
	  DstBlock		  "Sum1"
	  DstPort		  3
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  Points		  [0, 0]
	  Branch {
	    DstBlock		    "Sum2"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Zero-Order\nHold"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  Points		  [0, -20]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Array sin"
	  SrcPort		  1
	  DstBlock		  "Product"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  Points		  [30, 0; 0, -35]
	  DstBlock		  "Product"
	  DstPort		  2
	}
      }
    }
    Block {
      BlockType		      Reference
      Name		      "DSB-SC AM\npassband"
      Ports		      [1, 1]
      Position		      [130, 53, 210, 97]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/DSB-SC AM\npassband"
      SourceType	      "Passband DSB-SC AM"
      MaskParam1	      "100/2/pi"
      MaskParam2	      "pi/2"
      MaskParam3	      ".01"
    }
    Block {
      BlockType		      Reference
      Name		      "DSB-SC-ADM\npassband"
      Ports		      [1, 1]
      Position		      [295, 53, 375, 97]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/DSB-SC-ADM\npassband"
      SourceType	      "Passband DSB-SC ADM"
      MaskParam1	      "100/2/pi"
      MaskParam2	      "[4.57 9.14 4.57]*.01"
      MaskParam3	      "[1 -1.3108 .4936]"
      MaskParam4	      "pi/2"
      MaskParam5	      ".01"
    }
    Block {
      BlockType		      SubSystem
      Name		      "Demonstration blocks"
      Ports		      []
      Position		      [15, 570, 70, 593]
      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		      Reference
      Name		      "FM\npassband"
      Ports		      [1, 1]
      Position		      [130, 353, 210, 397]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/FM\npassband"
      SourceType	      "Passband FM"
      MaskParam1	      "100/2/pi"
      MaskParam2	      "0"
      MaskParam3	      ".01"
      MaskParam4	      "Inf"
    }
    Block {
      BlockType		      SubSystem
      Name		      "MASK demap"
      Ports		      [1, 1]
      Position		      [420, 53, 500, 97]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "MASK demap"
      MaskDescription	      "Reverse the MASK mapping process. Convert [-1 1"
"] analog signal to [0, M-1] symbols."
      MaskHelp		      "This block demaps a MASK mapped signal back to "
"digit symbols. You can place this block after a amplitude demodulation block."
" The input of this block is an analog signal in the range [-1, 1]. The demodu"
"lation decides the closest integer fitting in [0,M-1] range. When the input s"
"ymbol interval is a two-elements vector, the second element is offset. The de"
"fault offset value is 0."
      MaskPromptString	      "M-ary number (digit integers in ranger [0, M-1]"
"):|Output symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "N=@1;td=@2;"
      MaskInitialization      "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
      MaskDisplay	      "disp('MASK\\ndemap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "4|.1"
      MaskVariableAliases     ","
      System {
	Name			"MASK demap"
	Location		[360, 100, 801, 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		  [30, 35, 50, 55]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Abs
	  Name			  "Abs"
	  Position		  [235, 42, 270, 68]
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Minimum"
	  Ports			  [1, 1]
	  Position		  [315, 45, 370, 65]
	  FunctionName		  "arymimai"
	  Parameters		  "'min'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key"
	  Position		  [115, 93, 135, 117]
	  Value			  "sft"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [180, 38, 200, 67]
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [85, 29, 120, 61]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [400, 45, 420, 65]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Abs"
	  SrcPort		  1
	  DstBlock		  "Minimum"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  DstBlock		  "Sum2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Minimum"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Shift key"
	  SrcPort		  1
	  Points		  [15, 0; 0, -45]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  DstBlock		  "Abs"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MASK map"
      Ports		      [1, 1]
      Position		      [15, 53, 95, 97]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "MASK map"
      MaskDescription	      "Map a digital symbol onto an analog signal in t"
"he range [-1, 1] using M-ary amplitude shift keying modulation mapping."
      MaskHelp		      "This block maps an input digit signal onto a si"
"gnal in the range [-1, 1]. The coded signal can be modulated using analog\\nm"
"odulation blocks. Input digits are in the range [0, M-1], where M is the M-ar"
"y number. The input symbol interval can be a two-element vector with the seco"
"nd element being offset. The default value offset is 0. Use the MODMAP functi"
"on to see the constellation."
      MaskPromptString	      "M-ary number (input integers in range [0, M-1])"
":|Input symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "N=@1;td=@2;"
      MaskInitialization      "Ac=1;Kc=Ac*2/(N-1);"
      MaskDisplay	      "disp('MASK\\nmap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "4|.1"
      MaskVariableAliases     ","
      System {
	Name			"MASK map"
	Location		[360, 100, 742, 273]
	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, 30, 60, 50]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [180, 25, 220, 55]
	  Gain			  "Kc"
	  Multiplication	  "Element-wise(K.*u)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Gain diff"
	  Position		  [180, 96, 215, 124]
	  Value			  "Ac"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [250, 63, 270, 87]
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [100, 24, 135, 56]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [315, 65, 335, 85]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  Points		  [5, 0; 0, 30]
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Gain diff"
	  SrcPort		  1
	  Points		  [10, 0; 0, -30]
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MFSK map"
      Ports		      [1, 1]
      Position		      [15, 353, 95, 397]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "MFSK map"
      MaskDescription	      "Map input digital signal to analog tone space f"
"or FM modulation. The tone space is the frequency distance between two consec"
"tive digit numbers."
      MaskHelp		      "This block maps the input digital signal to the"
" analog signal, which is ready for the FM modulation. The input are integers "
"in the range [0, M-1], where M is the M-ary number. Tone space is the frequen"
"cy separation between two consective digits for the input signal. After FM, t"
"he modulated signal has a frequency in the range of [Fc, Fc+B]. B is the band"
"width of the FSK, B=(M-1) * Tone_space."
      MaskPromptString	      "Tone space (Hz):|Input symbol interval and offs"
"et (sec):"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "Ton=@1;td=@2;"
      MaskDisplay	      "disp('MFSK\\nmap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "16/5/.1|.1"
      MaskVariableAliases     ","
      System {
	Name			"MFSK map"
	Location		[360, 100, 677, 223]
	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		  [45, 45, 65, 65]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [175, 38, 225, 72]
	  Gain			  "Ton"
	  Multiplication	  "Element-wise(K.*u)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [105, 39, 140, 71]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [260, 45, 280, 65]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MPSK map"
      Ports		      [1, 1]
      Position		      [15, 503, 95, 547]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "MPSK map"
      MaskDescription	      "Map input digital signal to analog phase shift."
      MaskHelp		      "This block maps the input digital signal to the"
" analog signal, which is ready for the PM modulation. The input are integers "
"in the range [0, M-1], where M is the M-ary number. You can view the MPSK con"
"stellation using the MODMAP function."
      MaskPromptString	      "M-ary number (input integer in range [0, M-1]):"
"|Input symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "td=@2;"
      MaskInitialization      "pi2=2*pi;Sft=pi2/@1;"
      MaskDisplay	      "disp('MPSK\\nmap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "16|.1"
      MaskVariableAliases     ","
      System {
	Name			"MPSK map"
	Location		[360, 100, 708, 274]
	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		  [60, 35, 80, 55]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Multiple factor"
	  Position		  [130, 108, 150, 132]
	  Value			  "Sft"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [235, 76, 260, 109]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [130, 29, 165, 61]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [310, 85, 330, 105]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  Points		  [30, 0; 0, 40]
	  DstBlock		  "Product"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Multiple factor"
	  SrcPort		  1
	  Points		  [45, 0; 0, -20]
	  DstBlock		  "Product"
	  DstPort		  2
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Mapping/demapping blocks"
      Ports		      []
      Position		      [80, 590, 135, 613]
      Orientation	      "up"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Mapping/demapping blocks"
	Location		[360, 100, 520, 245]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Min/max index"
      Ports		      [1, 1]
      Position		      [420, 353, 500, 397]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Maximum/minimum index."
      MaskDescription	      "Choose the index of the input vector with max/m"
"in value at sampling point. Hold the value for the rest of the period."
      MaskHelp		      "This block outputs the index of the vector elem"
"ent that has the maximum or minimum value in the input vector. The computatio"
"n starts at the sampling time point. The block holds the value for the rest o"
"f the interval."
      MaskPromptString	      "Symbol interval (sec):|'max' or 'min':"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "td=@1;mima=@2;"
      MaskDisplay	      "disp('Min/Max\\ndemap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      ".1|'max'"
      MaskVariableAliases     ","
      System {
	Name			"Min/max index"
	Location		[360, 100, 791, 203]
	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		  [65, 20, 85, 40]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Maximum"
	  Ports			  [1, 1]
	  Position		  [240, 20, 320, 40]
	  FunctionName		  "arymimai"
	  Parameters		  "mima"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [165, 14, 200, 46]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [335, 20, 355, 40]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Maximum"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  DstBlock		  "Maximum"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      Reference
      Name		      "Min/max index2"
      Ports		      [1, 1]
      Position		      [420, 428, 500, 472]
      ForegroundColor	      "blue"
      SourceBlock	      "com_mocd/Min//max index"
      SourceType	      "Maximum/minimum index."
      td		      ".1"
      mima		      "'max'"
    }
    Block {
      BlockType		      Reference
      Name		      "Min/max index3"
      Ports		      [1, 1]
      Position		      [420, 503, 500, 547]
      ForegroundColor	      "blue"
      SourceBlock	      "com_mocd/Min//max index"
      SourceType	      "Maximum/minimum index."
      td		      ".1"
      mima		      "'max'"
    }
    Block {
      BlockType		      SubSystem
      Name		      "Noncoh corr MFSK\ndemod  passband"
      Ports		      [1, 1]
      Position		      [295, 428, 375, 472]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "Passband non-coherent MFSK correlation"
      MaskDescription	      "Compute MFSK correlation. Take MFSK modulated s"
"ignal. Output a vector of correlation result."
      MaskHelp		      "This block calculates the noncoherent correlati"
"on value of the input signal with a vector of sinusoidal signals. These sinus"
"oidal signals have their frequency the same as that of FM modulated signal of"
" possible resulting digits. The output is an M length vector. M is the M-ary "
"number. The MFSK demodulation result is the index of the largest output, usin"
"g the Min/max demap block."
      MaskPromptString	      "M-ary number (input in range [0, M-1]):|Tone sp"
"ace (Hz):|Symbol interval and offset (sec):|Carrier frequency (Hz):|Initial p"
"hase (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	      "N=@1;Ton=@2;td=@3;Ph=@5;ts=@6;"
      MaskInitialization      "pi2=2*pi;Fc=@4*pi2;sft=[0:N-1]*Ton*pi2;"
      MaskDisplay	      "disp('Noncoh corr\\nMFSK dm')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "16|16/.1/5|.1|100/2/pi|0|.01"
      MaskVariableAliases     ",,,,,"
      System {
	Name			"Noncoh corr MFSK\ndemod  passband"
	Location		[360, 100, 1145, 344]
	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		  [410, 25, 430, 45]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Array sin"
	  Ports			  [1, 1]
	  Position		  [390, 70, 440, 90]
	  FunctionName		  "arysin"
	  Parameters		  "'cos'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Clock
	  Name			  "Clock"
	  Position		  [15, 135, 35, 155]
	  DisplayTime		  off
	  Decimation		  "10"
	}
	Block {
	  BlockType		  Demux
	  Name			  "Demux"
	  Ports			  [1, 2]
	  Position		  [640, 55, 680, 90]
	  Outputs		  "[N N]"
	  BusSelectionMode	  off
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [65, 135, 85, 155]
	  Gain			  "Fc"
	  Multiplication	  "Element-wise(K.*u)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Initial phase"
	  Position		  [60, 88, 80, 112]
	  Value			  "Ph"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Initial phase1"
	  Position		  [255, 133, 275, 157]
	  Value			  "Ph"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Mux
	  Name			  "Mux"
	  Ports			  [2, 1]
	  Position		  [345, 58, 375, 102]
	  Inputs		  "[N N]"
	  DisplayOption		  "none"
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [460, 56, 485, 89]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Product
	  Name			  "Product1"
	  Ports			  [2, 1]
	  Position		  [595, 56, 620, 89]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Scheduled\nreset-int"
	  Ports			  [1, 1]
	  Position		  [120, 14, 180, 56]
	  ShowPortLabels	  on
	  TreatAsAtomicUnit	  off
	  RTWSystemCode		  "Auto"
	  RTWFcnNameOpts	  "Auto"
	  RTWFileNameOpts	  "Auto"
	  MaskType		  "Scheduled reset integration."
	  MaskDescription	  "Reset the state to be zero(s) at the schedu"
"led reset point."
	  MaskHelp		  "This block resets the state(s) to be zero(s"
") at the begining of reset time inteval. The reset inteval can be a two eleme"
"nts vector with the second element being offset."
	  MaskPromptString	  "Scheduled reset time inteval and offset:|Sa"
"mple time and offset:|Modulo bound:"
	  MaskStyleString	  "edit,edit,edit"
	  MaskTunableValueString  "on,on,on"
	  MaskCallbackString	  "||"
	  MaskEnableString	  "on,on,on"
	  MaskVisibilityString	  "on,on,on"
	  MaskToolTipString	  "on,on,on"
	  MaskInitialization	  "td=@1;ts=@2;limit=@3;"
	  MaskDisplay		  "disp('Schdld\\nreset-int')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  MaskValueString	  "td|ts|Inf"
	  MaskVariableAliases	  ",,"
	  System {
	    Name		    "Scheduled\nreset-int"
	    Location		    [410, 150, 910, 410]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	    Block {
	      BlockType		      Inport
	      Name		      "In1"
	      Position		      [20, 80, 40, 100]
	      Port		      "1"
	      Interpolate	      on
	    }
	    Block {
	      BlockType		      "S-Function"
	      Name		      "Scheduled\nreset-int"
	      Ports		      [1, 1]
	      Position		      [90, 59, 150, 101]
	      FunctionName	      "schdint"
	      Parameters	      "td, ts, limit"
	      PortCounts	      "[]"
	      SFunctionModules	      "''"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Out1"
	      Position		      [180, 80, 200, 100]
	      Port		      "1"
	      OutputWhenDisabled      "held"
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "In1"
	      SrcPort		      1
	      DstBlock		      "Scheduled\nreset-int"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Scheduled\nreset-int"
	      SrcPort		      1
	      DstBlock		      "Out1"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Scheduled\nreset-int1"
	  Ports			  [1, 1]
	  Position		  [500, 54, 560, 96]
	  ShowPortLabels	  on
	  TreatAsAtomicUnit	  off
	  RTWSystemCode		  "Auto"
	  RTWFcnNameOpts	  "Auto"
	  RTWFileNameOpts	  "Auto"
	  MaskType		  "Scheduled reset integration."
	  MaskDescription	  "Reset the state to be zero(s) at the schedu"
"led reset point."
	  MaskHelp		  "This block resets the state(s) to be zero(s"
") at the begining of reset time inteval. The reset inteval can be a two eleme"
"nts vector with the second element being offset."
	  MaskPromptString	  "Scheduled reset time inteval and offset:|Sa"
"mple time and offset:|Modulo bound:"
	  MaskStyleString	  "edit,edit,edit"
	  MaskTunableValueString  "on,on,on"
	  MaskCallbackString	  "||"
	  MaskEnableString	  "on,on,on"
	  MaskVisibilityString	  "on,on,on"
	  MaskToolTipString	  "on,on,on"
	  MaskInitialization	  "td=@1;ts=@2;limit=@3;"
	  MaskDisplay		  "disp('Schdld\\nreset-int')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  MaskValueString	  "td|ts|Inf"
	  MaskVariableAliases	  ",,"
	  System {
	    Name		    "Scheduled\nreset-int1"
	    Location		    [410, 150, 910, 410]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	    Block {
	      BlockType		      Inport
	      Name		      "In1"
	      Position		      [20, 80, 40, 100]
	      Port		      "1"
	      Interpolate	      on
	    }
	    Block {
	      BlockType		      "S-Function"
	      Name		      "Scheduled\nreset-int1"
	      Ports		      [1, 1]
	      Position		      [90, 59, 150, 101]
	      FunctionName	      "schdint"
	      Parameters	      "td, ts, limit"
	      PortCounts	      "[]"
	      SFunctionModules	      "''"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Out1"
	      Position		      [180, 80, 200, 100]
	      Port		      "1"
	      OutputWhenDisabled      "held"
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "In1"
	      SrcPort		      1
	      DstBlock		      "Scheduled\nreset-int1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Scheduled\nreset-int1"
	      SrcPort		      1
	      DstBlock		      "Out1"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key"
	  Position		  [40, 23, 60, 47]
	  Value			  "sft"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [3, 1]
	  Position		  [245, 50, 270, 90]
	  IconShape		  "rectangular"
	  Inputs		  "+++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [185, 135, 210, 170]
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum3"
	  Ports			  [2, 1]
	  Position		  [305, 93, 325, 122]
	  IconShape		  "rectangular"
	  Inputs		  "++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum4"
	  Ports			  [2, 1]
	  Position		  [705, 58, 725, 87]
	  IconShape		  "rectangular"
	  Inputs		  "++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [115, 159, 150, 191]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [745, 65, 765, 85]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Shift key"
	  SrcPort		  1
	  DstBlock		  "Scheduled\nreset-int"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Scheduled\nreset-int"
	  SrcPort		  1
	  Points		  [20, 0; 0, 20]
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Initial phase"
	  SrcPort		  1
	  Points		  [125, 0; 0, -30]
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Clock"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  Points		  [15, 0]
	  DstBlock		  "Sum1"
	  DstPort		  3
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  Points		  [10, 0]
	  Branch {
	    DstBlock		    "Zero-Order\nHold"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Sum2"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  Points		  [5, 0; 0, -15]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  Points		  [0, 0]
	  Branch {
	    Points		    [15, 0]
	    DstBlock		    "Sum3"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Mux"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Initial phase1"
	  SrcPort		  1
	  Points		  [10, 0]
	  DstBlock		  "Sum3"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum3"
	  SrcPort		  1
	  DstBlock		  "Mux"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Mux"
	  SrcPort		  1
	  DstBlock		  "Array sin"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Array sin"
	  SrcPort		  1
	  DstBlock		  "Product"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  DstBlock		  "Scheduled\nreset-int1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Scheduled\nreset-int1"
	  SrcPort		  1
	  Points		  [0, 0]
	  Branch {
	    Points		    [10, 0; 0, -10]
	    DstBlock		    "Product1"
	    DstPort		    1
	  }
	  Branch {
	    Points		    [10, 0; 0, 5]
	    DstBlock		    "Product1"
	    DstPort		    2
	  }
	}
	Line {
	  SrcBlock		  "Product1"
	  SrcPort		  1
	  DstBlock		  "Demux"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Demux"
	  SrcPort		  1
	  DstBlock		  "Sum4"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Demux"
	  SrcPort		  2
	  DstBlock		  "Sum4"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  Points		  [0, 30]
	  DstBlock		  "Product"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum4"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      Reference
      Name		      "PM\npassband"
      Ports		      [1, 1]
      Position		      [130, 503, 210, 547]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/PM\npassband"
      SourceType	      "Passband PM"
      MaskParam1	      "100/2/pi"
      MaskParam2	      "0"
      MaskParam3	      ".1"
    }
    Block {
      BlockType		      SubSystem
      Name		      "Passband A-QASK\ndemo"
      Ports		      []
      Position		      [540, 278, 620, 322]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;[num,den]=butter(4,100/pi/2*ts);td=.2;M="
"32;tstps3cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('QASK\\nA-map\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband A-QASK\ndemo"
	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 C-QASK\ndemo"
      Ports		      []
      Position		      [540, 203, 620, 247]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;[num,den]=butter(4,100/pi/2*ts);td=.2;M="
"128;tstps2cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('QASK\\nC-map\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband C-QASK\ndemo"
	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 MASK\nmodem demo"
      Ports		      []
      Position		      [540, 53, 620, 97]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;[num,den]=butter(2,100/pi/2*ts);td=.1;M="
"8;tstam2cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('MASK\\nmap\\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\ndemo"
      Ports		      []
      Position		      [540, 353, 620, 397]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;M=8;Fc=100/pi/2;tstfs2cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('MFSK\\nmap\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband MFSK\ndemo"
	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\ndemo"
      Ports		      []
      Position		      [540, 508, 620, 552]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;td=.2;M=8;Fc=100/2/pi;tstpk2cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('MPSK\\nmap\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband MPSK\ndemo"
	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 S-QASK\ndemo"
      Ports		      []
      Position		      [540, 128, 620, 172]
      BackgroundColor	      "cyan"
      ShowName		      off
      OpenFcn		      "ts=.01;[num,den]=butter(4,100/pi/2*ts);td=.2;M="
"64;tstqa2cd"
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('QASK\\nS-map\\ndemo')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"Passband S-QASK\ndemo"
	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		      Reference
      Name		      "QADM\npassband"
      Ports		      [1, 2]
      Position		      [295, 128, 375, 172]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/QADM\npassband"
      SourceType	      "Passband DSB-SC QADM"
      Fc		      "100/2/pi"
      num		      "[4.57 9.14 4.57]*.01"
      den		      "[1 -1.3108 .4936]"
      Ph		      "0"
      ts		      ".01"
    }
    Block {
      BlockType		      Reference
      Name		      "QADM\npassband2"
      Ports		      [1, 2]
      Position		      [295, 203, 375, 247]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/QADM\npassband"
      SourceType	      "Passband DSB-SC QADM"
      Fc		      "100/2/pi"
      num		      "[4.57 9.14 4.57]*.01"
      den		      "[1 -1.3108 .4936]"
      Ph		      "0"
      ts		      ".01"
    }
    Block {
      BlockType		      Reference
      Name		      "QADM\npassband3"
      Ports		      [1, 2]
      Position		      [295, 278, 375, 322]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/QADM\npassband"
      SourceType	      "Passband DSB-SC QADM"
      Fc		      "100/2/pi"
      num		      "[4.57 9.14 4.57]*.01"
      den		      "[1 -1.3108 .4936]"
      Ph		      "0"
      ts		      ".01"
    }
    Block {
      BlockType		      Reference
      Name		      "QAM\npassband"
      Ports		      [2, 1]
      Position		      [130, 128, 210, 172]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/QAM\npassband"
      SourceType	      "Passband DSB-SC QAM"
      Fc		      "100/2/pi"
      Ph		      "0"
      ts		      ".01"
    }
    Block {
      BlockType		      Reference
      Name		      "QAM\npassband2"
      Ports		      [2, 1]
      Position		      [130, 203, 210, 247]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/QAM\npassband"
      SourceType	      "Passband DSB-SC QAM"
      Fc		      "100/2/pi"
      Ph		      "0"
      ts		      ".01"
    }
    Block {
      BlockType		      Reference
      Name		      "QAM\npassband3"
      Ports		      [2, 1]
      Position		      [130, 278, 210, 322]
      ForegroundColor	      "blue"
      SourceBlock	      "com_cdmo/QAM\npassband"
      SourceType	      "Passband DSB-SC QAM"
      Fc		      "100/2/pi"
      Ph		      "0"
      ts		      ".01"
    }
    Block {
      BlockType		      SubSystem
      Name		      "QASK\narbitrary-demap"
      Ports		      [2, 1]
      Position		      [420, 278, 500, 322]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "QASK A-demap"
      MaskDescription	      "Reverse the QASK map. Input in-phase and quadra"
"ture components from the two inputs. Output demapped signal."
      MaskHelp		      "This block demaps a QASK mapped signal using us"
"er defined arbitrary constellation. You can place this block after a QAM demo"
"dulation block. The in-phase and quadrature constellation vectors must have t"
"he same length, which equals to M, the M-ary number of the QASK. The output s"
"ymbols are integers in the range [0, M-1]. The symbol interval can be a two e"
"lements vector with the first element being offset. The default offset is zer"
"o."
      MaskPromptString	      "Constellation for in-phase component:|Constella"
"tion for quadrature component:|Symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit,edit"
      MaskTunableValueString  "on,on,on"
      MaskCallbackString      "||"
      MaskEnableString	      "on,on,on"
      MaskVisibilityString    "on,on,on"
      MaskToolTipString	      "on,on,on"
      MaskVariables	      "y1=@1;y2=@2;td=@3;"
      MaskDisplay	      "disp('QASK\\nA-demap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "real(exp(j*[0:16-1]/16*pi*2))|imag(exp(j*[0:16-"
"1]/16*pi*2))|.1"
      MaskVariableAliases     ",,"
      System {
	Name			"QASK\narbitrary-demap"
	Location		[360, 100, 909, 335]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "real"
	  Position		  [45, 35, 65, 55]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Inport
	  Name			  "imag"
	  Position		  [45, 120, 65, 140]
	  Port			  "2"
	  Interpolate		  on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Minimum1"
	  Ports			  [1, 1]
	  Position		  [415, 85, 475, 105]
	  FunctionName		  "arymimai"
	  Parameters		  "'min'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [300, 45, 325, 65]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Product
	  Name			  "Product1"
	  Ports			  [2, 1]
	  Position		  [300, 130, 325, 150]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [230, 38, 250, 67]
	  ForegroundColor	  "red"
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [370, 78, 390, 107]
	  IconShape		  "rectangular"
	  Inputs		  "++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum6"
	  Ports			  [2, 1]
	  Position		  [230, 123, 250, 152]
	  ForegroundColor	  "blue"
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [120, 29, 155, 61]
	  ForegroundColor	  "red"
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [120, 114, 155, 146]
	  ForegroundColor	  "blue"
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Constant
	  Name			  "imag_pt"
	  Position		  [165, 169, 190, 191]
	  BackgroundColor	  "yellow"
	  Value			  "y2"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Constant
	  Name			  "real_pt"
	  Position		  [170, 84, 195, 106]
	  BackgroundColor	  "green"
	  Value			  "y1"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [495, 85, 515, 105]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "real"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "imag"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "real_pt"
	  SrcPort		  1
	  Points		  [5, 0; 0, -35]
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  DstBlock		  "Sum6"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "imag_pt"
	  SrcPort		  1
	  Points		  [10, 0; 0, -35]
	  DstBlock		  "Sum6"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  Points		  [15, 0; 0, 0]
	  Branch {
	    Points		    [0, 5]
	    DstBlock		    "Product"
	    DstPort		    2
	  }
	  Branch {
	    Points		    [0, -5]
	    DstBlock		    "Product"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Sum6"
	  SrcPort		  1
	  Points		  [15, 0; 0, 0]
	  Branch {
	    Points		    [0, 5]
	    DstBlock		    "Product1"
	    DstPort		    2
	  }
	  Branch {
	    Points		    [0, -5]
	    DstBlock		    "Product1"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  Points		  [10, 0; 0, 30]
	  DstBlock		  "Sum2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product1"
	  SrcPort		  1
	  Points		  [10, 0; 0, -40]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  DstBlock		  "Minimum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Minimum1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "QASK\narbitrary-map"
      Ports		      [1, 2]
      Position		      [15, 278, 95, 322]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "QASK A-map"
      MaskDescription	      "QASK mapping for arbitrary defined map. Assume "
"input digit is K. 1st outport outputs in-phase(K+1). 2nd outport outputs quad"
"rature(K+1)."
      MaskHelp		      "This block maps a digital signal onto in-phase "
"and quadratic components, which are outputs in the first and second output po"
"rt respectively. The in-phase and quadrature constellation vectors must have "
"the same length, which equals to M, the M-ary number of the QASK. The input s"
"ignal is in the range of [0, M-1]. The symbol interval can be a two elements "
"vector with the first element being offset. The default offset is zero."
      MaskPromptString	      "Constellation for in-phase component:|Constella"
"tion for quadrature component:|Symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit,edit"
      MaskTunableValueString  "on,on,on"
      MaskCallbackString      "||"
      MaskEnableString	      "on,on,on"
      MaskVisibilityString    "on,on,on"
      MaskToolTipString	      "on,on,on"
      MaskVariables	      "y1=@1;y2=@2;td=@3;"
      MaskInitialization      "ly=length(y1);x=[-10 1:ly-1;1:ly-1 10*ly]-.5;x="
"x(:);y1=y1(:)';y1=[y1;y1];y1=y1(:);y2=y2(:)';y2=[y2;y2];y2=y2(:);"
      MaskDisplay	      "disp('QASK\\nA-map')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "real(exp(j*[0:16-1]/16*pi*2))|imag(exp(j*[0:16-"
"1]/16*pi*2))|.1"
      MaskVariableAliases     ",,"
      System {
	Name			"QASK\narbitrary-map"
	Location		[360, 100, 705, 265]
	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, 20, 45, 40]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [80, 14, 115, 46]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "imag part1"
	  Position		  [175, 97, 210, 123]
	  InputValues		  "x"
	  OutputValues		  "y2"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "real part"
	  Position		  [180, 17, 215, 43]
	  InputValues		  "x"
	  OutputValues		  "y1"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Real"
	  Position		  [275, 20, 295, 40]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Imag"
	  Position		  [275, 100, 295, 120]
	  Port			  "2"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  Points		  [25, 0]
	  Branch {
	    Points		    [0, 80]
	    DstBlock		    "imag part1"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "real part"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "real part"
	  SrcPort		  1
	  DstBlock		  "Real"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "imag part1"
	  SrcPort		  1
	  DstBlock		  "Imag"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "QASK\ncircle-demap"
      Ports		      [2, 1]
      Position		      [420, 203, 500, 247]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "QASK C-demap"
      MaskDescription	      "Reverse the QASK map. Input in-phase and quadra"
"ture components from the two inputs. Output demapped signal."
      MaskHelp		      "This block demaps a QASK mapped signal using ci"
"rcle constellation. You can place this block after a QAM demodulation block. "
"The circle constellation is defined in NIC, RIC, and PIC. The symbol interval"
" can be a two elements vector with the first element being offset. The defaul"
"t offset is zero. Use function MODMAP to view the constellation."
      MaskPromptString	      "Number of symbols on each circle NIC::|Radii fo"
"r each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and "
"offset (sec):"
      MaskStyleString	      "edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on"
      MaskCallbackString      "|||"
      MaskEnableString	      "on,on,on,on"
      MaskVisibilityString    "on,on,on,on"
      MaskToolTipString	      "on,on,on,on"
      MaskVariables	      "N=@1;A=@2;P=@3;td=@4;"
      MaskInitialization      "y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);"
      MaskDisplay	      "disp('QASK\\nC-demap')"
      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"
      MaskVariableAliases     ",,,"
      System {
	Name			"QASK\ncircle-demap"
	Location		[360, 100, 909, 335]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "real"
	  Position		  [45, 35, 65, 55]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Inport
	  Name			  "imag"
	  Position		  [45, 120, 65, 140]
	  Port			  "2"
	  Interpolate		  on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Minimum1"
	  Ports			  [1, 1]
	  Position		  [415, 85, 475, 105]
	  FunctionName		  "arymimai"
	  Parameters		  "'min'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [300, 45, 325, 65]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Product
	  Name			  "Product1"
	  Ports			  [2, 1]
	  Position		  [300, 130, 325, 150]
	  Inputs		  "2"
	  Multiplication	  "Element-wise(.*)"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [230, 38, 250, 67]
	  ForegroundColor	  "red"
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [370, 78, 390, 107]
	  IconShape		  "rectangular"
	  Inputs		  "++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum6"
	  Ports			  [2, 1]
	  Position		  [230, 123, 250, 152]
	  ForegroundColor	  "blue"
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [120, 29, 155, 61]
	  ForegroundColor	  "red"
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [120, 114, 155, 146]
	  ForegroundColor	  "blue"
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Constant
	  Name			  "imag_pt"
	  Position		  [165, 169, 190, 191]
	  BackgroundColor	  "yellow"
	  Value			  "y2"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Constant
	  Name			  "real_pt"
	  Position		  [170, 84, 195, 106]
	  BackgroundColor	  "green"
	  Value			  "y1"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [495, 85, 515, 105]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Minimum1"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  DstBlock		  "Minimum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product1"
	  SrcPort		  1
	  Points		  [10, 0; 0, -40]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  Points		  [10, 0; 0, 30]
	  DstBlock		  "Sum2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum6"
	  SrcPort		  1
	  Points		  [15, 0; 0, 0]
	  Branch {
	    Points		    [0, 5]
	    DstBlock		    "Product1"
	    DstPort		    2
	  }
	  Branch {
	    Points		    [0, -5]
	    DstBlock		    "Product1"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  Points		  [15, 0; 0, 0]
	  Branch {
	    Points		    [0, 5]
	    DstBlock		    "Product"
	    DstPort		    2
	  }
	  Branch {
	    Points		    [0, -5]
	    DstBlock		    "Product"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "imag_pt"
	  SrcPort		  1
	  Points		  [10, 0; 0, -35]
	  DstBlock		  "Sum6"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  DstBlock		  "Sum6"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "real_pt"
	  SrcPort		  1
	  Points		  [5, 0; 0, -35]
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "imag"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "real"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "QASK\ncircle-map"
      Ports		      [1, 2]
      Position		      [15, 203, 95, 247]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "QASK C-map"
      MaskDescription	      "QASK mapping with circle constellation. The con"
"stellation is defined in NIC, RIC and PIC."
      MaskHelp		      "This block maps a digital signal onto in-phase "
"and quadratic components, which are outputs in the first and second output po"
"rt respectively. The circle constellation is defined in NIC, RIC, and PIC. Th"
"e input symbol interval can be a two-element vector with the second element b"
"eing offset. The default value offset is 0. Use the MODMAP function to see th"
"e constellation."
      MaskPromptString	      "Number of symbols in each circle NIC:|Radii in "
"each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and of"
"fset (sec):"
      MaskStyleString	      "edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on"
      MaskCallbackString      "|||"
      MaskEnableString	      "on,on,on,on"
      MaskVisibilityString    "on,on,on,on"
      MaskToolTipString	      "on,on,on,on"
      MaskVariables	      "N=@1;A=@2;P=@3;td=@4;"
      MaskInitialization      "y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=imag("
"y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);"
      MaskDisplay	      "disp('QASK\\nC-map')"
      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"
      MaskVariableAliases     ",,,"
      System {
	Name			"QASK\ncircle-map"
	Location		[360, 100, 705, 265]
	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, 20, 45, 40]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [80, 14, 115, 46]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "imag part1"
	  Position		  [175, 97, 210, 123]
	  InputValues		  "x"
	  OutputValues		  "y2"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "real part"
	  Position		  [180, 17, 215, 43]
	  InputValues		  "x"
	  OutputValues		  "y1"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Real"
	  Position		  [275, 20, 295, 40]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Imag"
	  Position		  [275, 100, 295, 120]
	  Port			  "2"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "imag part1"
	  SrcPort		  1
	  DstBlock		  "Imag"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "real part"
	  SrcPort		  1
	  DstBlock		  "Real"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  Points		  [25, 0]
	  Branch {
	    Points		    [0, 80]
	    DstBlock		    "imag part1"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "real part"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "QASK\nsquare-demap"
      Ports		      [2, 1]
      Position		      [420, 128, 500, 172]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "QASK S-demap"
      MaskDescription	      "Reverse the QASK map. Input in-phase and quadra"
"ture components from the two inputs. Output demapped signal."
      MaskHelp		      "This block demaps a QASK mapped signal using sq"
"uare constellation. You can place this block after a QAM demodulation block. "
"This block assumes the maximum amplitude of the input signals is 1. The outpu"
"t symbols are integers in the range [0, M-1]. The input symbol interval can b"
"e a two-element vector with the second element being offset. The default valu"
"e offset is 0."
      MaskPromptString	      "QASK M-ary number (outputs are in range [0, M-1"
"]):|Output symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "N=@1;td=@2;"
      MaskInitialization      "Ac=1;K=log(N)/log(2);tab=flipud(constlay(K));[l"
"eny,lenx]=size(tab);sftx=[1:lenx]*2-lenx-1;sfty=[1:leny]*2-leny-1;xx=max(sftx"
");sftx=sftx/((xx==0)+xx)*Ac;yy=max(sfty);sfty=sfty/((yy==0)+yy)*Ac;x=[1:lengt"
"h(sftx)];y=[1:length(sfty)];\nif length(y)==1, y=[y;2*y];tab=[tab;tab];end;"
      MaskDisplay	      "disp('QASK\\nS-demap')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "64|.1"
      MaskVariableAliases     ","
      System {
	Name			"QASK\nsquare-demap"
	Location		[360, 100, 1033, 281]
	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, 30, 45, 50]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Inport
	  Name			  "in_2"
	  Position		  [25, 120, 45, 140]
	  Port			  "2"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Lookup2D
	  Name			  "2-D Look-Up\nTable"
	  Position		  [475, 66, 550, 99]
	  RowIndex		  "x"
	  ColumnIndex		  "y"
	  OutputValues		  "tab'"
	}
	Block {
	  BlockType		  Abs
	  Name			  "Abs"
	  Position		  [260, 128, 290, 152]
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Abs
	  Name			  "Abs1"
	  Position		  [265, 38, 295, 62]
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Minimum"
	  Ports			  [1, 1]
	  Position		  [315, 130, 380, 150]
	  FunctionName		  "arymimai"
	  Parameters		  "'min'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Minimum1"
	  Ports			  [1, 1]
	  Position		  [320, 40, 380, 60]
	  FunctionName		  "arymimai"
	  Parameters		  "'min'"
	  PortCounts		  "[]"
	  SFunctionModules	  "''"
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key"
	  Position		  [140, 134, 165, 156]
	  Value			  "sfty"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key1"
	  Position		  [145, 44, 170, 66]
	  Value			  "sftx"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Constant
	  Name			  "Shift key2"
	  Position		  [315, 84, 340, 106]
	  BackgroundColor	  "yellow"
	  Value			  "1"
	  VectorParams1D	  on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [220, 33, 240, 62]
	  ForegroundColor	  "red"
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [215, 123, 235, 152]
	  ForegroundColor	  "red"
	  IconShape		  "rectangular"
	  Inputs		  "+-"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum4"
	  Ports			  [2, 1]
	  Position		  [415, 43, 435, 72]
	  ForegroundColor	  "red"
	  IconShape		  "rectangular"
	  Inputs		  "++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum5"
	  Ports			  [2, 1]
	  Position		  [410, 118, 430, 147]
	  ForegroundColor	  "red"
	  IconShape		  "rectangular"
	  Inputs		  "++"
	  SaturateOnIntegerOverflow on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [75, 24, 110, 56]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold1"
	  Position		  [75, 114, 110, 146]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold2"
	  Position		  [570, 69, 605, 101]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [640, 75, 660, 95]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "in_2"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "2-D Look-Up\nTable"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold2"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Abs"
	  SrcPort		  1
	  DstBlock		  "Minimum"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  DstBlock		  "Abs"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Shift key"
	  SrcPort		  1
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold1"
	  SrcPort		  1
	  DstBlock		  "Sum2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Minimum"
	  SrcPort		  1
	  DstBlock		  "Sum5"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum5"
	  SrcPort		  1
	  Points		  [25, 0]
	  DstBlock		  "2-D Look-Up\nTable"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Shift key2"
	  SrcPort		  1
	  Points		  [35, 0]
	  Branch {
	    Points		    [0, 30]
	    DstBlock		    "Sum5"
	    DstPort		    1
	  }
	  Branch {
	    Points		    [0, -30]
	    DstBlock		    "Sum4"
	    DstPort		    2
	  }
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Minimum1"
	  SrcPort		  1
	  DstBlock		  "Sum4"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum4"
	  SrcPort		  1
	  Points		  [20, 0]
	  DstBlock		  "2-D Look-Up\nTable"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Abs1"
	  SrcPort		  1
	  DstBlock		  "Minimum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  DstBlock		  "Abs1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Shift key1"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "QASK\nsquare-map"
      Ports		      [1, 2]
      Position		      [15, 128, 95, 172]
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskType		      "QASK S-map"
      MaskDescription	      "Use square constellation to map the input digit"
"al signal into in-phase and quadrature components. M must be M=2^K with integ"
"er K."
      MaskHelp		      "This block maps a digital signal onto in-phase "
"and quadratic components, which are outputs in the first and second output po"
"rt respectively. The M-ary number must be M=2^K with integer K. The input sym"
"bol interval can be a two-element vector with the second element being offset"
". The default value offset is 0. The maximum amplitudes for the outputs are 1"
"."
      MaskPromptString	      "M-ary number (input integers in range [0, M-1])"
":|Input symbol interval and offset (sec):"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVariables	      "N=@1;td=@2;"
      MaskInitialization      "Ac=1;z=[[1:N];[1:N]];z=z(:);[x,y]=qaskenco(z-1,"
"N);z=z-1.5;z=[z(2:2*N);N-.5];xx=max(x);yy=max(y);x=x/((xx==0)+xx);y=y/((yy==0"
")+yy);"
      MaskDisplay	      "disp('QASK\\nS-map')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "64|.1"
      MaskVariableAliases     ","
      System {
	Name			"QASK\nsquare-map"
	Location		[360, 100, 788, 269]
	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		  [45, 30, 65, 50]
	  Port			  "1"
	  Interpolate		  on
	}
	Block {
	  BlockType		  ZeroOrderHold
	  Name			  "Zero-Order\nHold"
	  Position		  [110, 24, 145, 56]
	  SampleTime		  "td"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "c-y axis"
	  Position		  [245, 90, 280, 120]
	  InputValues		  "z"
	  OutputValues		  "y"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "s-x axis"
	  Position		  [245, 25, 280, 55]
	  InputValues		  "z"
	  OutputValues		  "x"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [325, 30, 345, 50]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_2"
	  Position		  [325, 95, 345, 115]
	  Port			  "2"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "s-x axis"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "c-y axis"
	  SrcPort		  1
	  DstBlock		  "out_2"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Zero-Order\nHold"
	  SrcPort		  1
	  Points		  [35, 0]
	  Branch {
	    Points		    [0, 65]
	    DstBlock		    "c-y axis"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "s-x axis"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "in_1"
	  SrcPort		  1
	  DstBlock		  "Zero-Order\nHold"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "help"
      Ports		      []
      Position		      [540, 585, 565, 611]
      ForegroundColor	      "magenta"
      ShowName		      off
      ShowPortLabels	      on
      TreatAsAtomicUnit	      off
      RTWSystemCode	      "Auto"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      MaskDisplay	      "disp('?')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      System {
	Name			"help"
	Location		[360, 100, 819, 301]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Annotation {
	  Position		  [162, 167]
	  VerticalAlignment	  "top"
	  Text			  "(5) demos: show how to use the blocks."
	}
	Annotation {
	  Position		  [227, 142]
	  VerticalAlignment	  "top"
	  Text			  "(4) digital demap: demaping demodulated sig"
"nal to digital signal."
	}
	Annotation {
	  Position		  [237, 92]
	  VerticalAlignment	  "top"
	  Text			  "(2) analog modulation: modulating analog si"
"gnal to carrier frequency."
	}
	Annotation {
	  Position		  [222, 17]
	  VerticalAlignment	  "top"
	  Text			  "This library is the ungrouped version of th"
"e Digital Modulation/Demodulation Library."
	}
	Annotation {
	  Position		  [202, 117]
	  VerticalAlignment	  "top"
	  Text			  "(3) analog demodulation: demodulating analo"
"g signal."
	}
	Annotation {
	  Position		  [182, 42]
	  VerticalAlignment	  "top"
	  Text			  "The contents of this library are organized "
"in five columns:"
	}
	Annotation {
	  Position		  [207, 67]
	  VerticalAlignment	  "top"
	  Text			  "(1) digital map: mapping digital signal to "
"analog signal. "
	}
      }
    }
    Line {
      SrcBlock		      "MFSK map"
      SrcPort		      1
      DstBlock		      "FM\npassband"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QADM\npassband"
      SrcPort		      1
      DstBlock		      "QASK\nsquare-demap"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QADM\npassband"
      SrcPort		      2
      DstBlock		      "QASK\nsquare-demap"
      DstPort		      2
    }
    Line {
      SrcBlock		      "QASK\nsquare-map"
      SrcPort		      1
      DstBlock		      "QAM\npassband"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QASK\nsquare-map"
      SrcPort		      2
      DstBlock		      "QAM\npassband"
      DstPort		      2
    }
    Line {
      SrcBlock		      "DSB-SC-ADM\npassband"
      SrcPort		      1
      DstBlock		      "MASK demap"
      DstPort		      1
    }
    Line {
      SrcBlock		      "MASK map"
      SrcPort		      1
      DstBlock		      "DSB-SC AM\npassband"
      DstPort		      1
    }
    Line {
      SrcBlock		      "FM\npassband"
      SrcPort		      1
      Points		      [45, 0]
      Branch {
	Points			[0, 75]
	DstBlock		"Noncoh corr MFSK\ndemod  passband"
	DstPort			1
      }
      Branch {
	DstBlock		"Coh corr MFSK\ndemod passband"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "Coh corr MFSK\ndemod passband"
      SrcPort		      1
      DstBlock		      "Min/max index"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Noncoh corr MFSK\ndemod  passband"
      SrcPort		      1
      DstBlock		      "Min/max index2"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Corr MPSK\ndemod passband"
      SrcPort		      1
      DstBlock		      "Min/max index3"
      DstPort		      1
    }
    Line {
      SrcBlock		      "PM\npassband"
      SrcPort		      1
      DstBlock		      "Corr MPSK\ndemod passband"
      DstPort		      1
    }
    Line {
      SrcBlock		      "MPSK map"
      SrcPort		      1
      DstBlock		      "PM\npassband"
      DstPort		      1
    }
    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-map"
      SrcPort		      2
      DstBlock		      "QAM\npassband3"
      DstPort		      2
    }
    Line {
      SrcBlock		      "QASK\narbitrary-map"
      SrcPort		      1
      DstBlock		      "QAM\npassband3"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QASK\ncircle-map"
      SrcPort		      1
      DstBlock		      "QAM\npassband2"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QASK\ncircle-map"
      SrcPort		      2
      DstBlock		      "QAM\npassband2"
      DstPort		      2
    }
    Line {
      SrcBlock		      "QADM\npassband2"
      SrcPort		      1
      DstBlock		      "QASK\ncircle-demap"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QADM\npassband2"
      SrcPort		      2
      DstBlock		      "QASK\ncircle-demap"
      DstPort		      2
    }
    Line {
      SrcBlock		      "QAM\npassband"
      SrcPort		      1
      DstBlock		      "QADM\npassband"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QAM\npassband2"
      SrcPort		      1
      DstBlock		      "QADM\npassband2"
      DstPort		      1
    }
    Line {
      SrcBlock		      "QAM\npassband3"
      SrcPort		      1
      DstBlock		      "QADM\npassband3"
      DstPort		      1
    }
    Line {
      SrcBlock		      "DSB-SC AM\npassband"
      SrcPort		      1
      DstBlock		      "DSB-SC-ADM\npassband"
      DstPort		      1
    }
    Annotation {
      Position		      [302, 12]
      VerticalAlignment	      "top"
      ForegroundColor	      "red"
      Text		      "Passband Digital Modulation/Demodulation Librar"
"y"
      FontSize		      12
      FontWeight	      "bold"
    }
    Annotation {
      Position		      [297, 32]
      VerticalAlignment	      "top"
      ForegroundColor	      "red"
      Text		      "(map+modu ===> demod+demap)"
    }
    Annotation {
      Position		      [315, 672]
      Text		      "Warning: This library is obsolete and may be re"
"moved in the future."
      FontName		      "Arial"
      FontSize		      12
    }
  }
}
