asknrzmf.mdl
上传用户:loeagle
上传日期:2013-03-02
资源大小:1236k
文件大小:82k
源码类别:

通讯编程文档

开发平台:

Matlab

  1. Model {
  2.   Name   "asknrzmf"
  3.   Version   5.0
  4.   SaveDefaultBlockParams  on
  5.   SampleTimeColors   off
  6.   LibraryLinkDisplay   "none"
  7.   WideLines   off
  8.   ShowLineDimensions   off
  9.   ShowPortDataTypes   off
  10.   ShowLoopsOnError   on
  11.   IgnoreBidirectionalLines off
  12.   ShowStorageClass   off
  13.   ExecutionOrder   off
  14.   RecordCoverage   off
  15.   CovPath   "/"
  16.   CovSaveName   "covdata"
  17.   CovMetricSettings   "dw"
  18.   CovNameIncrementing   off
  19.   CovHtmlReporting   on
  20.   covSaveCumulativeToWorkspaceVar on
  21.   CovSaveSingleToWorkspaceVar on
  22.   CovCumulativeVarName   "covCumulativeData"
  23.   CovCumulativeReport   off
  24.   DataTypeOverride   "UseLocalSettings"
  25.   MinMaxOverflowLogging   "UseLocalSettings"
  26.   MinMaxOverflowArchiveMode "Overwrite"
  27.   BlockNameDataTip   off
  28.   BlockParametersDataTip  off
  29.   BlockDescriptionStringDataTip off
  30.   ToolBar   on
  31.   StatusBar   on
  32.   BrowserShowLibraryLinks off
  33.   BrowserLookUnderMasks   off
  34.   CloseFcn   "closemodcross"
  35.   Created   "Fri Jul 20 12:53:54 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:40:07 2003"
  42.   ModelVersionFormat   "1.%<AutoIncrement:16>"
  43.   ConfigurationManager   "none"
  44.   SimParamPage   "Solver"
  45.   LinearizationMsg   "none"
  46.   Profile   off
  47.   ParamWorkspaceSource   "MATLABWorkspace"
  48.   AccelSystemTargetFile   "accel.tlc"
  49.   AccelTemplateMakefile   "accel_default_tmf"
  50.   AccelMakeCommand   "make_rtw"
  51.   TryForcingSFcnDF   off
  52.   ExtModeMexFile   "ext_comm"
  53.   ExtModeBatchMode   off
  54.   ExtModeTrigType   "manual"
  55.   ExtModeTrigMode   "normal"
  56.   ExtModeTrigPort   "1"
  57.   ExtModeTrigElement   "any"
  58.   ExtModeTrigDuration   1000
  59.   ExtModeTrigHoldOff   0
  60.   ExtModeTrigDelay   0
  61.   ExtModeTrigDirection   "rising"
  62.   ExtModeTrigLevel   0
  63.   ExtModeArchiveMode   "off"
  64.   ExtModeAutoIncOneShot   off
  65.   ExtModeIncDirWhenArm   off
  66.   ExtModeAddSuffixToVar   off
  67.   ExtModeWriteAllDataToWs off
  68.   ExtModeArmWhenConnect   on
  69.   ExtModeSkipDownloadWhenConnect off
  70.   ExtModeLogAll   on
  71.   ExtModeAutoUpdateStatusClock off
  72.   BufferReuse   on
  73.   RTWExpressionDepthLimit 5
  74.   SimulationMode   "normal"
  75.   Solver   "ode45"
  76.   SolverMode   "Auto"
  77.   StartTime   "0.0"
  78.   StopTime   "999999"
  79.   MaxOrder   5
  80.   MaxStep   "0.01"
  81.   MinStep   ".00001"
  82.   MaxNumMinSteps   "-1"
  83.   InitialStep   "auto"
  84.   FixedStep   "auto"
  85.   RelTol   "1e-6"
  86.   AbsTol   "1e-6"
  87.   OutputOption   "RefineOutputTimes"
  88.   OutputTimes   "[]"
  89.   Refine   "1"
  90.   LoadExternalInput   off
  91.   ExternalInput   "[t, u]"
  92.   LoadInitialState   off
  93.   InitialState   "xInitial"
  94.   SaveTime   off
  95.   TimeSaveName   "tout"
  96.   SaveState   off
  97.   StateSaveName   "xout"
  98.   SaveOutput   off
  99.   OutputSaveName   "yout"
  100.   SaveFinalState   off
  101.   FinalStateName   "xFinal"
  102.   SaveFormat   "Array"
  103.   Decimation   "1"
  104.   LimitDataPoints   on
  105.   MaxDataPoints   "1000"
  106.   SignalLoggingName   "sigsOut"
  107.   ConsistencyChecking   "none"
  108.   ArrayBoundsChecking   "none"
  109.   AlgebraicLoopMsg   "warning"
  110.   BlockPriorityViolationMsg "warning"
  111.   MinStepSizeMsg   "warning"
  112.   InheritedTsInSrcMsg   "warning"
  113.   DiscreteInheritContinuousMsg "warning"
  114.   MultiTaskRateTransMsg   "error"
  115.   SingleTaskRateTransMsg  "none"
  116.   CheckForMatrixSingularity "none"
  117.   IntegerOverflowMsg   "warning"
  118.   Int32ToFloatConvMsg   "warning"
  119.   ParameterDowncastMsg   "error"
  120.   ParameterOverflowMsg   "error"
  121.   ParameterPrecisionLossMsg "warning"
  122.   UnderSpecifiedDataTypeMsg "none"
  123.   UnnecessaryDatatypeConvMsg "none"
  124.   VectorMatrixConversionMsg "none"
  125.   InvalidFcnCallConnMsg   "error"
  126.   SignalLabelMismatchMsg  "none"
  127.   UnconnectedInputMsg   "warning"
  128.   UnconnectedOutputMsg   "warning"
  129.   UnconnectedLineMsg   "warning"
  130.   SfunCompatibilityCheckMsg "none"
  131.   RTWInlineParameters   off
  132.   BlockReductionOpt   off
  133.   BooleanDataType   off
  134.   ConditionallyExecuteInputs on
  135.   ParameterPooling   on
  136.   OptimizeBlockIOStorage  on
  137.   ZeroCross   on
  138.   AssertionControl   "UseLocalSettings"
  139.   ProdHWDeviceType   "Microprocessor"
  140.   ProdHWWordLengths   "8,16,32,32"
  141.   RTWSystemTargetFile   "grt.tlc"
  142.   RTWTemplateMakefile   "grt_default_tmf"
  143.   RTWMakeCommand   "make_rtw"
  144.   RTWGenerateCodeOnly   off
  145.   RTWRetainRTWFile   off
  146.   TLCProfiler   off
  147.   TLCDebug   off
  148.   TLCCoverage   off
  149.   TLCAssertion   off
  150.   BlockDefaults {
  151.     Orientation     "right"
  152.     ForegroundColor     "black"
  153.     BackgroundColor     "white"
  154.     DropShadow     off
  155.     NamePlacement     "normal"
  156.     FontName     "Helvetica"
  157.     FontSize     10
  158.     FontWeight     "normal"
  159.     FontAngle     "normal"
  160.     ShowName     on
  161.   }
  162.   BlockParameterDefaults {
  163.     Block {
  164.       BlockType       Abs
  165.       SaturateOnIntegerOverflow on
  166.       ZeroCross       on
  167.     }
  168.     Block {
  169.       BlockType       Clock
  170.       DisplayTime       off
  171.     }
  172.     Block {
  173.       BlockType       Constant
  174.       Value       "1"
  175.       VectorParams1D       on
  176.       ShowAdditionalParam     off
  177.       OutDataTypeMode       "Inherit from 'Constant value'"
  178.       OutDataType       "sfix(16)"
  179.       ConRadixGroup       "Use specified scaling"
  180.       OutScaling       "2^0"
  181.     }
  182.     Block {
  183.       BlockType       Demux
  184.       Outputs       "4"
  185.       DisplayOption       "none"
  186.       BusSelectionMode       off
  187.     }
  188.     Block {
  189.       BlockType       DigitalClock
  190.       SampleTime       "1"
  191.     }
  192.     Block {
  193.       BlockType       DiscreteFilter
  194.       Numerator       "[1]"
  195.       Denominator       "[1 2]"
  196.       SampleTime       "1"
  197.       Realization       "auto"
  198.       RTWStateStorageClass    "Auto"
  199.     }
  200.     Block {
  201.       BlockType       Fcn
  202.       Expr       "sin(u[1])"
  203.     }
  204.     Block {
  205.       BlockType       Gain
  206.       Gain       "1"
  207.       Multiplication       "Element-wise(K.*u)"
  208.       ShowAdditionalParam     off
  209.       ParameterDataTypeMode   "Same as input"
  210.       ParameterDataType       "sfix(16)"
  211.       ParameterScalingMode    "Best Precision: Matrix-wise"
  212.       ParameterScaling       "2^0"
  213.       OutDataTypeMode       "Same as input"
  214.       OutDataType       "sfix(16)"
  215.       OutScaling       "2^0"
  216.       LockScale       off
  217.       RndMeth       "Floor"
  218.       SaturateOnIntegerOverflow on
  219.     }
  220.     Block {
  221.       BlockType       Inport
  222.       Port       "1"
  223.       PortDimensions       "-1"
  224.       SampleTime       "-1"
  225.       ShowAdditionalParam     off
  226.       LatchInput       off
  227.       DataType       "auto"
  228.       OutDataType       "sfix(16)"
  229.       OutScaling       "2^0"
  230.       SignalType       "auto"
  231.       SamplingMode       "auto"
  232.       Interpolate       on
  233.     }
  234.     Block {
  235.       BlockType       Logic
  236.       Operator       "AND"
  237.       Inputs       "2"
  238.       ShowAdditionalParam     off
  239.       AllPortsSameDT       on
  240.       OutDataTypeMode       "Logical (see Advanced Sim. Parameters)"
  241.       LogicDataType       "uint(8)"
  242.     }
  243.     Block {
  244.       BlockType       Mux
  245.       Inputs       "4"
  246.       DisplayOption       "none"
  247.     }
  248.     Block {
  249.       BlockType       Outport
  250.       Port       "1"
  251.       OutputWhenDisabled      "held"
  252.       InitialOutput       "[]"
  253.     }
  254.     Block {
  255.       BlockType       Product
  256.       Inputs       "2"
  257.       Multiplication       "Element-wise(.*)"
  258.       ShowAdditionalParam     off
  259.       InputSameDT       on
  260.       OutDataTypeMode       "Same as first input"
  261.       OutDataType       "sfix(16)"
  262.       OutScaling       "2^0"
  263.       LockScale       off
  264.       RndMeth       "Floor"
  265.       SaturateOnIntegerOverflow on
  266.     }
  267.     Block {
  268.       BlockType       RandomNumber
  269.       Mean       "0"
  270.       Variance       "1"
  271.       Seed       "0"
  272.       SampleTime       "-1"
  273.       VectorParams1D       on
  274.     }
  275.     Block {
  276.       BlockType       RelationalOperator
  277.       Operator       ">="
  278.       ShowAdditionalParam     off
  279.       InputSameDT       on
  280.       LogicOutDataTypeMode    "Logical (see Advanced Sim. Parameters)"
  281.       LogicDataType       "uint(8)"
  282.       ZeroCross       on
  283.     }
  284.     Block {
  285.       BlockType       Scope
  286.       Floating       off
  287.       ModelBased       off
  288.       TickLabels       "OneTimeTick"
  289.       ZoomMode       "on"
  290.       Grid       "on"
  291.       TimeRange       "auto"
  292.       YMin       "-5"
  293.       YMax       "5"
  294.       SaveToWorkspace       off
  295.       SaveName       "ScopeData"
  296.       LimitDataPoints       on
  297.       MaxDataPoints       "5000"
  298.       Decimation       "1"
  299.       SampleInput       off
  300.       SampleTime       "0"
  301.     }
  302.     Block {
  303.       BlockType       "S-Function"
  304.       FunctionName       "system"
  305.       PortCounts       "[]"
  306.       SFunctionModules       "''"
  307.     }
  308.     Block {
  309.       BlockType       StateSpace
  310.       A       "1"
  311.       B       "1"
  312.       C       "1"
  313.       D       "1"
  314.       X0       "0"
  315.       AbsoluteTolerance       "auto"
  316.       Realization       "auto"
  317.     }
  318.     Block {
  319.       BlockType       Step
  320.       Time       "1"
  321.       Before       "0"
  322.       After       "1"
  323.       SampleTime       "-1"
  324.       VectorParams1D       on
  325.       ZeroCross       on
  326.     }
  327.     Block {
  328.       BlockType       SubSystem
  329.       ShowPortLabels       on
  330.       Permissions       "ReadWrite"
  331.       RTWSystemCode       "Auto"
  332.       RTWFcnNameOpts       "Auto"
  333.       RTWFileNameOpts       "Auto"
  334.       SimViewingDevice       off
  335.       DataTypeOverride       "UseLocalSettings"
  336.       MinMaxOverflowLogging   "UseLocalSettings"
  337.     }
  338.     Block {
  339.       BlockType       Sum
  340.       IconShape       "rectangular"
  341.       Inputs       "++"
  342.       ShowAdditionalParam     off
  343.       InputSameDT       on
  344.       OutDataTypeMode       "Same as first input"
  345.       OutDataType       "sfix(16)"
  346.       OutScaling       "2^0"
  347.       LockScale       off
  348.       RndMeth       "Floor"
  349.       SaturateOnIntegerOverflow on
  350.     }
  351.     Block {
  352.       BlockType       Switch
  353.       Criteria       "u2 >= Threshold"
  354.       Threshold       "0"
  355.       ShowAdditionalParam     off
  356.       InputSameDT       on
  357.       OutDataTypeMode       "Inherit via internal rule"
  358.       RndMeth       "Floor"
  359.       SaturateOnIntegerOverflow on
  360.       ZeroCross       on
  361.     }
  362.     Block {
  363.       BlockType       Terminator
  364.     }
  365.     Block {
  366.       BlockType       UnitDelay
  367.       X0       "0"
  368.       SampleTime       "1"
  369.       RTWStateStorageClass    "Auto"
  370.     }
  371.     Block {
  372.       BlockType       ZeroOrderHold
  373.       SampleTime       "1"
  374.     }
  375.   }
  376.   AnnotationDefaults {
  377.     HorizontalAlignment     "center"
  378.     VerticalAlignment     "middle"
  379.     ForegroundColor     "black"
  380.     BackgroundColor     "white"
  381.     DropShadow     off
  382.     FontName     "Helvetica"
  383.     FontSize     10
  384.     FontWeight     "normal"
  385.     FontAngle     "normal"
  386.   }
  387.   LineDefaults {
  388.     FontName     "Helvetica"
  389.     FontSize     9
  390.     FontWeight     "normal"
  391.     FontAngle     "normal"
  392.   }
  393.   System {
  394.     Name     "asknrzmf"
  395.     Location     [205, 174, 1217, 450]
  396.     Open     on
  397.     ModelBrowserVisibility  off
  398.     ModelBrowserWidth     200
  399.     ScreenColor     "white"
  400.     PaperOrientation     "landscape"
  401.     PaperPositionMode     "auto"
  402.     PaperType     "usletter"
  403.     PaperUnits     "inches"
  404.     ZoomFactor     "100"
  405.     ReportName     "simulink-default.rpt"
  406.     Block {
  407.       BlockType       SubSystem
  408.       Name       "4-ASK"
  409.       Ports       [1, 1]
  410.       Position       [120, 104, 200, 146]
  411.       TreatAsAtomicUnit       off
  412.       MaskType       "M-ASK mapping"
  413.       MaskDescription       "Map a digital symbol onto an analognsignal in "
  414. "the range [-1, 1] using M-arynamplitude shift keying modulation mapping."
  415.       MaskHelp       "This block maps an input digit signal onto a si"
  416. "gnal in the range [-1, 1]. The coded signal can be modulated using analog\nm"
  417. "odulation blocks. Input digits are in the range [0, M-1], where M is the M-ar"
  418. "y number. The input symbol interval can be a two-element vector with the seco"
  419. "nd element being offset. The default value offset is 0. Use the MODMAP functi"
  420. "on to see the constellation."
  421.       MaskPromptString       "M-ary number (input integers in range [0, M-1])"
  422. ":|Input symbol interval and offset (sec):"
  423.       MaskStyleString       "edit,edit"
  424.       MaskTunableValueString  "on,on"
  425.       MaskCallbackString      "|"
  426.       MaskEnableString       "on,on"
  427.       MaskVisibilityString    "on,on"
  428.       MaskToolTipString       "on,on"
  429.       MaskVarAliasString      ","
  430.       MaskVariables       "N=@1;td=@2;"
  431.       MaskInitialization      "Ac=1;Kc=Ac*2/(N-1);"
  432.       MaskDisplay       "disp('MASK\nmapping')"
  433.       MaskIconFrame       on
  434.       MaskIconOpaque       on
  435.       MaskIconRotate       "none"
  436.       MaskIconUnits       "autoscale"
  437.       MaskValueString       "4|1"
  438.       System {
  439. Name "4-ASK"
  440. Location [148, 182, 646, 482]
  441. Open off
  442. ModelBrowserVisibility off
  443. ModelBrowserWidth 200
  444. ScreenColor "white"
  445. PaperOrientation "landscape"
  446. PaperPositionMode "auto"
  447. PaperType "usletter"
  448. PaperUnits "inches"
  449. ZoomFactor "100"
  450. Block {
  451.   BlockType   Inport
  452.   Name   "in_1"
  453.   Position   [60, 60, 80, 80]
  454. }
  455. Block {
  456.   BlockType   Gain
  457.   Name   "Gain"
  458.   Position   [200, 55, 240, 85]
  459.   Gain   "Kc"
  460. }
  461. Block {
  462.   BlockType   Constant
  463.   Name   "Gain diff"
  464.   Position   [200, 126, 235, 154]
  465.   Value   "Ac"
  466. }
  467. Block {
  468.   BlockType   Sum
  469.   Name   "Sum1"
  470.   Ports   [2, 1]
  471.   Position   [270, 93, 290, 117]
  472.   Inputs   "+-"
  473. }
  474. Block {
  475.   BlockType   ZeroOrderHold
  476.   Name   "Zero-OrdernHold"
  477.   Position   [120, 54, 155, 86]
  478.   SampleTime   "td"
  479. }
  480. Block {
  481.   BlockType   Outport
  482.   Name   "out_1"
  483.   Position   [335, 95, 355, 115]
  484. }
  485. Line {
  486.   SrcBlock   "Gain"
  487.   SrcPort   1
  488.   Points   [5, 0; 0, 30]
  489.   DstBlock   "Sum1"
  490.   DstPort   1
  491. }
  492. Line {
  493.   SrcBlock   "Gain diff"
  494.   SrcPort   1
  495.   Points   [10, 0; 0, -30]
  496.   DstBlock   "Sum1"
  497.   DstPort   2
  498. }
  499. Line {
  500.   SrcBlock   "Sum1"
  501.   SrcPort   1
  502.   DstBlock   "out_1"
  503.   DstPort   1
  504. }
  505. Line {
  506.   SrcBlock   "in_1"
  507.   SrcPort   1
  508.   DstBlock   "Zero-OrdernHold"
  509.   DstPort   1
  510. }
  511. Line {
  512.   SrcBlock   "Zero-OrdernHold"
  513.   SrcPort   1
  514.   DstBlock   "Gain"
  515.   DstPort   1
  516. }
  517.       }
  518.     }
  519.     Block {
  520.       BlockType       SubSystem
  521.       Name       "4-ASK demap"
  522.       Ports       [1, 1]
  523.       Position       [870, 109, 940, 151]
  524.       TreatAsAtomicUnit       off
  525.       MaskType       "MASK demapping"
  526.       MaskDescription       "Reverse the MASK mapping processnConvert [-1 1"
  527. "] analog signal to [0, M-1] symbols."
  528.       MaskHelp       "This block demaps a MASK mapped signal back to "
  529. "digit symbols. You can place this block after a amplitude demodulation block."
  530. " The input of this block is an analog signal in the range [-1, 1]. The demodu"
  531. "lation decides the closest integer fitting in [0,M-1] range. When the input s"
  532. "ymbol interval is a two-elements vector, the second element is offset. The de"
  533. "fault offset value is 0."
  534.       MaskPromptString       "M-ary number (digit integers in ranger [0, M-1]"
  535. "):|Output symbol interval and offset (sec):"
  536.       MaskStyleString       "edit,edit"
  537.       MaskTunableValueString  "on,on"
  538.       MaskCallbackString      "|"
  539.       MaskEnableString       "on,on"
  540.       MaskVisibilityString    "on,on"
  541.       MaskToolTipString       "on,on"
  542.       MaskVarAliasString      ","
  543.       MaskVariables       "N=@1;td=@2;"
  544.       MaskInitialization      "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
  545.       MaskDisplay       "disp('MASK\ndemapping')"
  546.       MaskIconFrame       on
  547.       MaskIconOpaque       on
  548.       MaskIconRotate       "none"
  549.       MaskIconUnits       "autoscale"
  550.       MaskValueString       "4|[1, .9]"
  551.       System {
  552. Name "4-ASK demap"
  553. Location [617, 158, 1115, 458]
  554. Open off
  555. ModelBrowserVisibility off
  556. ModelBrowserWidth 200
  557. ScreenColor "white"
  558. PaperOrientation "landscape"
  559. PaperPositionMode "auto"
  560. PaperType "usletter"
  561. PaperUnits "inches"
  562. ZoomFactor "100"
  563. Block {
  564.   BlockType   Inport
  565.   Name   "in_1"
  566.   Position   [40, 30, 60, 50]
  567. }
  568. Block {
  569.   BlockType   Abs
  570.   Name   "Abs"
  571.   Position   [245, 37, 280, 63]
  572. }
  573. Block {
  574.   BlockType   "S-Function"
  575.   Name   "Minimum"
  576.   Ports   [1, 1]
  577.   Position   [325, 40, 380, 60]
  578.   FunctionName   "arymimai"
  579.   Parameters   "'min'"
  580. }
  581. Block {
  582.   BlockType   Constant
  583.   Name   "Shift key"
  584.   Position   [125, 88, 145, 112]
  585.   Value   "sft"
  586. }
  587. Block {
  588.   BlockType   Sum
  589.   Name   "Sum2"
  590.   Ports   [2, 1]
  591.   Position   [190, 33, 210, 62]
  592.   Inputs   "+-"
  593. }
  594. Block {
  595.   BlockType   ZeroOrderHold
  596.   Name   "Zero-OrdernHold"
  597.   Position   [95, 24, 130, 56]
  598.   SampleTime   "td"
  599. }
  600. Block {
  601.   BlockType   Outport
  602.   Name   "out_1"
  603.   Position   [410, 40, 430, 60]
  604. }
  605. Line {
  606.   SrcBlock   "in_1"
  607.   SrcPort   1
  608.   DstBlock   "Zero-OrdernHold"
  609.   DstPort   1
  610. }
  611. Line {
  612.   SrcBlock   "Abs"
  613.   SrcPort   1
  614.   DstBlock   "Minimum"
  615.   DstPort   1
  616. }
  617. Line {
  618.   SrcBlock   "Zero-OrdernHold"
  619.   SrcPort   1
  620.   DstBlock   "Sum2"
  621.   DstPort   1
  622. }
  623. Line {
  624.   SrcBlock   "Minimum"
  625.   SrcPort   1
  626.   DstBlock   "out_1"
  627.   DstPort   1
  628. }
  629. Line {
  630.   SrcBlock   "Shift key"
  631.   SrcPort   1
  632.   Points   [15, 0; 0, -45]
  633.   DstBlock   "Sum2"
  634.   DstPort   2
  635. }
  636. Line {
  637.   SrcBlock   "Sum2"
  638.   SrcPort   1
  639.   DstBlock   "Abs"
  640.   DstPort   1
  641. }
  642.       }
  643.     }
  644.     Block {
  645.       BlockType       SubSystem
  646.       Name       "4-ary source"
  647.       Ports       [0, 2]
  648.       Position       [35, 101, 65, 154]
  649.       ShowPortLabels       off
  650.       TreatAsAtomicUnit       off
  651.       System {
  652. Name "4-ary source"
  653. Location [84, 535, 621, 774]
  654. Open off
  655. ModelBrowserVisibility off
  656. ModelBrowserWidth 200
  657. ScreenColor "white"
  658. PaperOrientation "landscape"
  659. PaperPositionMode "auto"
  660. PaperType "usletter"
  661. PaperUnits "inches"
  662. ZoomFactor "100"
  663. Block {
  664.   BlockType   SubSystem
  665.   Name   "Bits"
  666.   Ports   [0, 1]
  667.   Position   [25, 48, 85, 92]
  668.   ShowPortLabels   off
  669.   TreatAsAtomicUnit   off
  670.   MaskType   "Read from workspace"
  671.   MaskDescription   "Read from a workspace variable atnsampling"
  672. " time point."
  673.   MaskHelp   "This block reads from a workspace variable "
  674. "at a given sample time. The column number is the block output vector length. "
  675. "When the simulation reaches the end of the variable (eof), the block will cyc"
  676. "lically output from the first row of the variable or output zeros based on th"
  677. "e repeat flag entree."
  678.   MaskPromptString   "Variable (column_number=block_output_length"
  679. "):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output zero"
  680. "s after eof).|Initial output:"
  681.   MaskStyleString   "edit,edit,edit,edit"
  682.   MaskTunableValueString  "on,on,on,on"
  683.   MaskCallbackString   "|||"
  684.   MaskEnableString   "on,on,on,on"
  685.   MaskVisibilityString   "on,on,on,on"
  686.   MaskToolTipString   "on,on,on,on"
  687.   MaskVarAliasString   ",,,"
  688.   MaskInitialization   "var=@1;td=@2;ts=td(1);if (length(td)>=2),of"
  689. "f=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
  690.   MaskDisplay   "plot(0,0,100,100,x,y);disp('Rd wksp')"
  691.   MaskIconFrame   on
  692.   MaskIconOpaque   on
  693.   MaskIconRotate   "none"
  694.   MaskIconUnits   "autoscale"
  695.   MaskValueString   "randint(2000,1,2)|.5|1|1"
  696.   System {
  697.     Name     "Bits"
  698.     Location     [355, 528, 737, 675]
  699.     Open     off
  700.     ModelBrowserVisibility  off
  701.     ModelBrowserWidth     200
  702.     ScreenColor     "white"
  703.     PaperOrientation     "landscape"
  704.     PaperPositionMode     "auto"
  705.     PaperType     "usletter"
  706.     PaperUnits     "inches"
  707.     ZoomFactor     "100"
  708.     Block {
  709.       BlockType       "S-Function"
  710.       Name       "Message source"
  711.       Ports       [1, 1]
  712.       Position       [180, 53, 255, 97]
  713.       BackgroundColor       "yellow"
  714.       FunctionName       "trigwksp"
  715.       Parameters       "var,thd,cyclFlag,ini"
  716.       MaskType       "Read from workspace"
  717.       MaskDescription       "The raising edge of input pulse trigger"
  718. " the block output the next row from the workspace variable."
  719.       MaskHelp       "This block reads the data from a worksp"
  720. "ace variable. The output is refreshed at the raising edge of the input pulse."
  721.       MaskPromptString       "Read the variable:|Threshold for the in"
  722. "put pulse:|Cyclic read variable (1) or amend zeros (0).|Output before first t"
  723. "rigger:"
  724.       MaskStyleString       "edit,edit,edit,edit"
  725.       MaskTunableValueString  "on,on,on,on"
  726.       MaskCallbackString      "|||"
  727.       MaskEnableString       "on,on,on,on"
  728.       MaskVisibilityString    "on,on,on,on"
  729.       MaskToolTipString       "on,on,on,on"
  730.       MaskVarAliasString      ",,,"
  731.       MaskInitialization      "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
  732.       MaskDisplay       "disp('Triggered\nread')"
  733.       MaskIconFrame       on
  734.       MaskIconOpaque       on
  735.       MaskIconRotate       "none"
  736.       MaskIconUnits       "autoscale"
  737.       MaskValueString       "var|.1|cyc|ini"
  738.     }
  739.     Block {
  740.       BlockType       SubSystem
  741.       Name       "Pulses deividensame sample time1"
  742.       Ports       [0, 1]
  743.       Position       [50, 56, 110, 94]
  744.       ShowPortLabels       off
  745.       TreatAsAtomicUnit       off
  746.       MaskType       "Pulse generator"
  747.       MaskDescription       "Vector pulses with sample rate of each "
  748. "pulse as Sample_time ./Divider. "
  749.       MaskHelp       "This block generator a vector pulses. T"
  750. "he output length is the same as the vector defined in "Divider". The ith el"
  751. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  752. "in "Divider" must be integers."
  753.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  754. "eger vector):|Offset (have same dimension as Divider:"
  755.       MaskStyleString       "edit,edit,edit"
  756.       MaskTunableValueString  "on,on,on"
  757.       MaskCallbackString      "||"
  758.       MaskEnableString       "on,on,on"
  759.       MaskVisibilityString    "on,on,on"
  760.       MaskToolTipString       "on,on,on"
  761.       MaskVarAliasString      ",,"
  762.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  763.       MaskDisplay       "disp('Vector\nPulse')"
  764.       MaskIconFrame       on
  765.       MaskIconOpaque       on
  766.       MaskIconRotate       "none"
  767.       MaskIconUnits       "autoscale"
  768.       MaskValueString       "ts|1|off"
  769.       System {
  770. Name "Pulses deividensame sample time1"
  771. Location [55, 192, 283, 286]
  772. Open off
  773. ModelBrowserVisibility off
  774. ModelBrowserWidth 200
  775. ScreenColor "white"
  776. PaperOrientation "landscape"
  777. PaperPositionMode "auto"
  778. PaperType "usletter"
  779. PaperUnits "inches"
  780. ZoomFactor "100"
  781. Block {
  782.   BlockType   "S-Function"
  783.   Name   "S-function1"
  784.   Ports   [0, 1]
  785.   Position   [40, 31, 105, 59]
  786.   FunctionName   "homopuls"
  787.   Parameters   "samp_time, out_divid, offset"
  788. }
  789. Block {
  790.   BlockType   Outport
  791.   Name   "Outport"
  792.   Position   [160, 35, 180, 55]
  793. }
  794. Line {
  795.   SrcBlock   "S-function1"
  796.   SrcPort   1
  797.   DstBlock   "Outport"
  798.   DstPort   1
  799. }
  800.       }
  801.     }
  802.     Block {
  803.       BlockType       Outport
  804.       Name       "out_1"
  805.       Position       [295, 65, 315, 85]
  806.     }
  807.     Line {
  808.       SrcBlock       "Pulses deividensame sample time1"
  809.       SrcPort       1
  810.       DstBlock       "Message source"
  811.       DstPort       1
  812.     }
  813.     Line {
  814.       SrcBlock       "Message source"
  815.       SrcPort       1
  816.       DstBlock       "out_1"
  817.       DstPort       1
  818.     }
  819.   }
  820. }
  821. Block {
  822.   BlockType   "S-Function"
  823.   Name   "D/A "
  824.   Ports   [1, 1]
  825.   Position   [370, 128, 450, 172]
  826.   FunctionName   "simbi2de"
  827.   Parameters   "p"
  828.   MaskType   "Base M vector to decimal integer"
  829.   MaskDescription   "Convert base M integer with eachnposition "
  830. "in the input vector into scalar decimal output."
  831.   MaskHelp   "This block convert the base M vector into s"
  832. "calar decimal integer output. Each element of the input vector is one positio"
  833. "n of the digit of the base M integer. The 1st element in the input vector con"
  834. "tains the 1's position. The 2nd element in the input vector contains the M's "
  835. "position."
  836.   MaskPromptString   "Input integer base M:"
  837.   MaskStyleString   "edit"
  838.   MaskTunableValueString  "on"
  839.   MaskEnableString   "on"
  840.   MaskVisibilityString   "on"
  841.   MaskToolTipString   "on"
  842.   MaskInitialization   "p=@1;"
  843.   MaskDisplay   "disp('Vec to sca\nconverter')"
  844.   MaskIconFrame   on
  845.   MaskIconOpaque   on
  846.   MaskIconRotate   "none"
  847.   MaskIconUnits   "autoscale"
  848.   MaskValueString   "2"
  849. }
  850. Block {
  851.   BlockType   SubSystem
  852.   Name   "Shift register"
  853.   Ports   [2, 2]
  854.   Position   [120, 133, 200, 177]
  855.   ShowPortLabels   off
  856.   TreatAsAtomicUnit   off
  857.   MaskType   "Register-shift"
  858.   MaskDescription   "The rising edge of the 2nd port pulsentrig"
  859. "gers the block to input the 1st port data and to shift the register."
  860.   MaskHelp   "This block stores the scalar input signal f"
  861. "rom the 1st input port at the rising edge of the pulse from the 2nd port. The"
  862. " 1st outport outputs a vector with its size the same as the "Delay steps" e"
  863. "ntree of this block. The maximum delay is the register size of this block. Th"
  864. "e second outport outputs a positive pulse when the register is\nrefreshed."
  865.   MaskPromptString   "Delay steps (output length is same as this "
  866. "vector size):|Threshold in detecting the rising edge of the pulse:"
  867.   MaskStyleString   "edit,edit"
  868.   MaskTunableValueString  "on,on"
  869.   MaskCallbackString   "|"
  870.   MaskEnableString   "on,on"
  871.   MaskVisibilityString   "on,on"
  872.   MaskToolTipString   "on,on"
  873.   MaskVarAliasString   ","
  874.   MaskInitialization   "shft_out=@1;thrhld=@2;len_rg=length(@1);[v,"
  875. "w]=trigicon(0,25,get_param(gcb,'orientation'),2);[x,y]=trigicon(1,75,get_para"
  876. "m(gcb,'orientation'),2);"
  877.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);disp('Reg. shift'"
  878. ")"
  879.   MaskIconFrame   on
  880.   MaskIconOpaque   on
  881.   MaskIconRotate   "none"
  882.   MaskIconUnits   "autoscale"
  883.   MaskValueString   "[2 1]|1"
  884.   System {
  885.     Name     "Shift register"
  886.     Location     [19, 610, 374, 740]
  887.     Open     off
  888.     ModelBrowserVisibility  off
  889.     ModelBrowserWidth     200
  890.     ScreenColor     "white"
  891.     PaperOrientation     "landscape"
  892.     PaperPositionMode     "auto"
  893.     PaperType     "usletter"
  894.     PaperUnits     "inches"
  895.     ZoomFactor     "100"
  896.     Block {
  897.       BlockType       Inport
  898.       Name       "in_1"
  899.       Position       [30, 55, 50, 75]
  900.     }
  901.     Block {
  902.       BlockType       Inport
  903.       Name       "in_2"
  904.       Position       [30, 70, 50, 90]
  905.       Port       "2"
  906.     }
  907.     Block {
  908.       BlockType       Demux
  909.       Name       "Demux"
  910.       Ports       [1, 2]
  911.       Position       [260, 55, 300, 90]
  912.       Outputs       "[len_rg, 1]"
  913.     }
  914.     Block {
  915.       BlockType       Mux
  916.       Name       "Mux"
  917.       Ports       [2, 1]
  918.       Position       [80, 56, 115, 89]
  919.       Inputs       "2"
  920.     }
  921.     Block {
  922.       BlockType       "S-Function"
  923.       Name       "S-function"
  924.       Ports       [1, 1]
  925.       Position       [150, 65, 200, 85]
  926.       FunctionName       "regshift"
  927.       Parameters       "shft_out, thrhld"
  928.     }
  929.     Block {
  930.       BlockType       Outport
  931.       Name       "out_1"
  932.       Position       [330, 55, 350, 75]
  933.     }
  934.     Block {
  935.       BlockType       Outport
  936.       Name       "out_2"
  937.       Position       [330, 70, 350, 90]
  938.       Port       "2"
  939.     }
  940.     Line {
  941.       SrcBlock       "in_2"
  942.       SrcPort       1
  943.       DstBlock       "Mux"
  944.       DstPort       2
  945.     }
  946.     Line {
  947.       SrcBlock       "in_1"
  948.       SrcPort       1
  949.       DstBlock       "Mux"
  950.       DstPort       1
  951.     }
  952.     Line {
  953.       SrcBlock       "Demux"
  954.       SrcPort       2
  955.       DstBlock       "out_2"
  956.       DstPort       1
  957.     }
  958.     Line {
  959.       SrcBlock       "Demux"
  960.       SrcPort       1
  961.       DstBlock       "out_1"
  962.       DstPort       1
  963.     }
  964.     Line {
  965.       SrcBlock       "S-function"
  966.       SrcPort       1
  967.       DstBlock       "Demux"
  968.       DstPort       1
  969.     }
  970.     Line {
  971.       SrcBlock       "Mux"
  972.       SrcPort       1
  973.       DstBlock       "S-function"
  974.       DstPort       1
  975.     }
  976.   }
  977. }
  978. Block {
  979.   BlockType   Terminator
  980.   Name   "Terminator"
  981.   Position   [475, 195, 495, 215]
  982. }
  983. Block {
  984.   BlockType   SubSystem
  985.   Name   "clock"
  986.   Ports   [0, 1]
  987.   Position   [35, 147, 70, 183]
  988.   ShowPortLabels   off
  989.   TreatAsAtomicUnit   off
  990.   MaskType   "Pulse Generator"
  991.   MaskDescription   "Pulse Generator."
  992.   MaskHelp   "Pulse generator which ensures pulse\ntrans"
  993. "itions are hit. Provides a vector of pulses when the height is entered as a v"
  994. "ector.\nUnmask to see how it works."
  995.   MaskPromptString   "Pulse period (secs):|Pulse width:|Pulse hei"
  996. "ght:|Pulse start time:"
  997.   MaskStyleString   "edit,edit,edit,edit"
  998.   MaskTunableValueString  "on,on,on,on"
  999.   MaskCallbackString   "|||"
  1000.   MaskEnableString   "on,on,on,on"
  1001.   MaskVisibilityString   "on,on,on,on"
  1002.   MaskToolTipString   "on,on,on,on"
  1003.   MaskVarAliasString   ",,,"
  1004.   MaskInitialization   "Ts=@1; du=@2; ht=@3; stt=@4; ini=ones(lengt"
  1005. "h(ht),1); st1=rem(stt,Ts); st2=rem(stt+du,Ts);if(Ts<=1.2*du),ini=zeros(length"
  1006. "(ht),1);end;"
  1007.   MaskDisplay   "plot(0,0,100,100,[90,75,75,60,60,35,35,20,2"
  1008. "0,10],[20,20,80,80,20,20,80,80,20,20])"
  1009.   MaskIconFrame   on
  1010.   MaskIconOpaque   on
  1011.   MaskIconRotate   "none"
  1012.   MaskIconUnits   "autoscale"
  1013.   MaskValueString   ".5|.25|1|0"
  1014.   System {
  1015.     Name     "clock"
  1016.     Location     [158, 441, 759, 682]
  1017.     Open     off
  1018.     ModelBrowserVisibility  off
  1019.     ModelBrowserWidth     200
  1020.     ScreenColor     "white"
  1021.     PaperOrientation     "landscape"
  1022.     PaperPositionMode     "auto"
  1023.     PaperType     "usletter"
  1024.     PaperUnits     "inches"
  1025.     ZoomFactor     "100"
  1026.     Block {
  1027.       BlockType       Clock
  1028.       Name       "Clock1"
  1029.       Position       [295, 100, 315, 120]
  1030.       ShowName       off
  1031.       Decimation       "10"
  1032.     }
  1033.     Block {
  1034.       BlockType       Constant
  1035.       Name       "Constant"
  1036.       Position       [25, 30, 45, 50]
  1037.     }
  1038.     Block {
  1039.       BlockType       Constant
  1040.       Name       "Constant1"
  1041.       Position       [295, 149, 320, 171]
  1042.       Value       "stt"
  1043.     }
  1044.     Block {
  1045.       BlockType       Gain
  1046.       Name       "Gain"
  1047.       Position       [510, 102, 535, 128]
  1048.       ShowName       off
  1049.       Gain       "ht"
  1050.     }
  1051.     Block {
  1052.       BlockType       Logic
  1053.       Name       "LogicalnOperator"
  1054.       Ports       [2, 1]
  1055.       Position       [285, 38, 315, 62]
  1056.       Operator       "XOR"
  1057.     }
  1058.     Block {
  1059.       BlockType       Logic
  1060.       Name       "LogicalnOperator1"
  1061.       Ports       [1, 1]
  1062.       Position       [355, 38, 385, 62]
  1063.       Operator       "NOT"
  1064.       Inputs       "1"
  1065.     }
  1066.     Block {
  1067.       BlockType       Product
  1068.       Name       "Product"
  1069.       Ports       [2, 1]
  1070.       Position       [455, 105, 480, 125]
  1071.       ShowName       off
  1072.     }
  1073.     Block {
  1074.       BlockType       RelationalOperator
  1075.       Name       "Relationalnoperator"
  1076.       Position       [370, 102, 400, 133]
  1077.       ShowName       off
  1078.     }
  1079.     Block {
  1080.       BlockType       Sum
  1081.       Name       "Sum"
  1082.       Ports       [2, 1]
  1083.       Position       [135, 35, 155, 55]
  1084.       ShowName       off
  1085.       Inputs       "+-"
  1086.     }
  1087.     Block {
  1088.       BlockType       Sum
  1089.       Name       "Sum1"
  1090.       Ports       [2, 1]
  1091.       Position       [130, 120, 150, 140]
  1092.       ShowName       off
  1093.       Inputs       "+-"
  1094.     }
  1095.     Block {
  1096.       BlockType       UnitDelay
  1097.       Name       "Unit Delay"
  1098.       Position       [145, 75, 195, 95]
  1099.       Orientation       "left"
  1100.       SampleTime       "[Ts,st1]"
  1101.     }
  1102.     Block {
  1103.       BlockType       UnitDelay
  1104.       Name       "Unit Delay1"
  1105.       Position       [140, 165, 190, 185]
  1106.       Orientation       "left"
  1107.       X0       "ini"
  1108.       SampleTime       "[Ts,st2]"
  1109.     }
  1110.     Block {
  1111.       BlockType       Outport
  1112.       Name       "out_1"
  1113.       Position       [560, 105, 580, 125]
  1114.       ShowName       off
  1115.     }
  1116.     Line {
  1117.       SrcBlock       "LogicalnOperator1"
  1118.       SrcPort       1
  1119.       Points       [40, 0; 0, 60]
  1120.       DstBlock       "Product"
  1121.       DstPort       1
  1122.     }
  1123.     Line {
  1124.       SrcBlock       "LogicalnOperator"
  1125.       SrcPort       1
  1126.       DstBlock       "LogicalnOperator1"
  1127.       DstPort       1
  1128.     }
  1129.     Line {
  1130.       SrcBlock       "Constant1"
  1131.       SrcPort       1
  1132.       Points       [20, 0; 0, -35]
  1133.       DstBlock       "Relationalnoperator"
  1134.       DstPort       2
  1135.     }
  1136.     Line {
  1137.       SrcBlock       "Gain"
  1138.       SrcPort       1
  1139.       DstBlock       "out_1"
  1140.       DstPort       1
  1141.     }
  1142.     Line {
  1143.       SrcBlock       "Product"
  1144.       SrcPort       1
  1145.       DstBlock       "Gain"
  1146.       DstPort       1
  1147.     }
  1148.     Line {
  1149.       SrcBlock       "Relationalnoperator"
  1150.       SrcPort       1
  1151.       DstBlock       "Product"
  1152.       DstPort       2
  1153.     }
  1154.     Line {
  1155.       SrcBlock       "Clock1"
  1156.       SrcPort       1
  1157.       DstBlock       "Relationalnoperator"
  1158.       DstPort       1
  1159.     }
  1160.     Line {
  1161.       SrcBlock       "Unit Delay"
  1162.       SrcPort       1
  1163.       Points       [-35, 0; 0, -35]
  1164.       DstBlock       "Sum"
  1165.       DstPort       2
  1166.     }
  1167.     Line {
  1168.       SrcBlock       "Sum"
  1169.       SrcPort       1
  1170.       Points       [0, 0]
  1171.       Branch {
  1172. Points [70, 0; 0, 40]
  1173. DstBlock "Unit Delay"
  1174. DstPort 1
  1175.       }
  1176.       Branch {
  1177. DstBlock "LogicalnOperator"
  1178. DstPort 1
  1179.       }
  1180.     }
  1181.     Line {
  1182.       SrcBlock       "Constant"
  1183.       SrcPort       1
  1184.       Points       [0, 0]
  1185.       Branch {
  1186. DstBlock "Sum"
  1187. DstPort 1
  1188.       }
  1189.       Branch {
  1190. Points [20, 0; 0, 85]
  1191. DstBlock "Sum1"
  1192. DstPort 1
  1193.       }
  1194.     }
  1195.     Line {
  1196.       SrcBlock       "Sum1"
  1197.       SrcPort       1
  1198.       Points       [0, 0]
  1199.       Branch {
  1200. Points [55, 0; 0, 45]
  1201. DstBlock "Unit Delay1"
  1202. DstPort 1
  1203.       }
  1204.       Branch {
  1205. Points [90, 0; 0, -75]
  1206. DstBlock "LogicalnOperator"
  1207. DstPort 2
  1208.       }
  1209.     }
  1210.     Line {
  1211.       SrcBlock       "Unit Delay1"
  1212.       SrcPort       1
  1213.       Points       [-35, 0; 0, -40]
  1214.       DstBlock       "Sum1"
  1215.       DstPort       2
  1216.     }
  1217.   }
  1218. }
  1219. Block {
  1220.   BlockType   SubSystem
  1221.   Name   "delay"
  1222.   Ports   [1, 1]
  1223.   Position   [260, 48, 340, 92]
  1224.   ShowPortLabels   off
  1225.   TreatAsAtomicUnit   off
  1226.   MaskType   "Multi-step delay"
  1227.   MaskDescription   "Output is K-step delay of the input signal."
  1228.   MaskHelp   "This block holds the input signal for K ste"
  1229. "ps and then outputs the signal. The delay step cannot be changed during the s"
  1230. "imulation."
  1231.   MaskPromptString   "Delay steps (integer):|Sample time (sec):|I"
  1232. "nitial output:"
  1233.   MaskStyleString   "edit,edit,edit"
  1234.   MaskTunableValueString  "on,on,on"
  1235.   MaskCallbackString   "||"
  1236.   MaskEnableString   "on,on,on"
  1237.   MaskVisibilityString   "on,on,on"
  1238.   MaskToolTipString   "on,on,on"
  1239.   MaskVarAliasString   ",,"
  1240.   MaskInitialization   "n=@1;ts=@2;if length(ts)<2, ts=[ts 0];end;i"
  1241. "ni=@3;"
  1242.   MaskDisplay   "disp('-k\nz   ')"
  1243.   MaskIconFrame   on
  1244.   MaskIconOpaque   on
  1245.   MaskIconRotate   "none"
  1246.   MaskIconUnits   "autoscale"
  1247.   MaskValueString   "2|.5|0"
  1248.   System {
  1249.     Name     "delay"
  1250.     Location     [12, 432, 357, 702]
  1251.     Open     off
  1252.     ModelBrowserVisibility  off
  1253.     ModelBrowserWidth     200
  1254.     ScreenColor     "white"
  1255.     PaperOrientation     "landscape"
  1256.     PaperPositionMode     "auto"
  1257.     PaperType     "usletter"
  1258.     PaperUnits     "inches"
  1259.     ZoomFactor     "100"
  1260.     Block {
  1261.       BlockType       Inport
  1262.       Name       "in_1"
  1263.       Position       [20, 80, 40, 100]
  1264.     }
  1265.     Block {
  1266.       BlockType       Constant
  1267.       Name       "Constant"
  1268.       Position       [120, 230, 140, 250]
  1269.       Value       "ini"
  1270.     }
  1271.     Block {
  1272.       BlockType       Constant
  1273.       Name       "Constant1"
  1274.       Position       [15, 194, 100, 216]
  1275.       Value       "n*ts(1)+ts(2)"
  1276.     }
  1277.     Block {
  1278.       BlockType       DigitalClock
  1279.       Name       "Digital Clock"
  1280.       Position       [60, 140, 95, 170]
  1281.       SampleTime       "ts"
  1282.     }
  1283.     Block {
  1284.       BlockType       DiscreteFilter
  1285.       Name       "K-stepndelay"
  1286.       Position       [60, 70, 185, 110]
  1287.       Numerator       "[zeros(1,n), 1]"
  1288.       Denominator       "1"
  1289.       SampleTime       "ts"
  1290.     }
  1291.     Block {
  1292.       BlockType       RelationalOperator
  1293.       Name       "RelationalnOperator"
  1294.       Position       [150, 168, 180, 192]
  1295.     }
  1296.     Block {
  1297.       BlockType       Switch
  1298.       Name       "Switch"
  1299.       Position       [270, 114, 295, 146]
  1300.       Threshold       ".1"
  1301.     }
  1302.     Block {
  1303.       BlockType       Outport
  1304.       Name       "out_1"
  1305.       Position       [325, 120, 345, 140]
  1306.     }
  1307.     Line {
  1308.       SrcBlock       "Switch"
  1309.       SrcPort       1
  1310.       DstBlock       "out_1"
  1311.       DstPort       1
  1312.     }
  1313.     Line {
  1314.       SrcBlock       "in_1"
  1315.       SrcPort       1
  1316.       DstBlock       "K-stepndelay"
  1317.       DstPort       1
  1318.     }
  1319.     Line {
  1320.       SrcBlock       "K-stepndelay"
  1321.       SrcPort       1
  1322.       Points       [5, 0; 0, 30]
  1323.       DstBlock       "Switch"
  1324.       DstPort       1
  1325.     }
  1326.     Line {
  1327.       SrcBlock       "Constant"
  1328.       SrcPort       1
  1329.       Points       [95, 0; 0, -100]
  1330.       DstBlock       "Switch"
  1331.       DstPort       3
  1332.     }
  1333.     Line {
  1334.       SrcBlock       "Digital Clock"
  1335.       SrcPort       1
  1336.       Points       [15, 0; 0, 20]
  1337.       DstBlock       "RelationalnOperator"
  1338.       DstPort       1
  1339.     }
  1340.     Line {
  1341.       SrcBlock       "Constant1"
  1342.       SrcPort       1
  1343.       Points       [10, 0; 0, -20]
  1344.       DstBlock       "RelationalnOperator"
  1345.       DstPort       2
  1346.     }
  1347.     Line {
  1348.       SrcBlock       "RelationalnOperator"
  1349.       SrcPort       1
  1350.       Points       [35, 0; 0, -50]
  1351.       DstBlock       "Switch"
  1352.       DstPort       2
  1353.     }
  1354.   }
  1355. }
  1356. Block {
  1357.   BlockType   SubSystem
  1358.   Name   "hold"
  1359.   Ports   [3, 2]
  1360.   Position   [260, 138, 340, 182]
  1361.   ShowPortLabels   off
  1362.   TreatAsAtomicUnit   off
  1363.   MaskType   "Triggered buffer down"
  1364.   MaskDescription   "Rising edge of the 2nd port triggers 1st po"
  1365. "rt vector signal in. Rising edge of the 3rd port triggers 1st outport signal "
  1366. "out."
  1367.   MaskHelp   "The block refreshes its registers with the "
  1368. "vector input from the 1st inport at the rising edge of the 2nd inport pulse. "
  1369. "The 1st outport outputs the elements of the registers starting with the given"
  1370. " initial index. The rising edge of the 3rd inport pulse triggers the 1st outp"
  1371. "ut to output the register value with the index increasing the increment value"
  1372. ". The second outport outputs a spike pulse when the internal register is refr"
  1373. "eshed."
  1374.   MaskPromptString   "Input signal vector size:|Initial index (in"
  1375. "teger vector):|Increment for each index (integer vector):|Trigger threshold:|"
  1376. "When index exceed register size, 1: cyclic out, 0: zero out:"
  1377.   MaskStyleString   "edit,edit,edit,edit,edit"
  1378.   MaskTunableValueString  "on,on,on,on,on"
  1379.   MaskCallbackString   "||||"
  1380.   MaskEnableString   "on,on,on,on,on"
  1381.   MaskVisibilityString   "on,on,on,on,on"
  1382.   MaskToolTipString   "on,on,on,on,on"
  1383.   MaskVarAliasString   ",,,,"
  1384.   MaskInitialization   "in_size=@1;ini_idx=@2;idx_inc=@3;thrshld=@4"
  1385. ";cycl_flag=@5;out_size=length(ini_idx);[v,w]=trigicon(0,25,get_param(gcb,'ori"
  1386. "entation'),2);[x,y]=trigicon(1,75,get_param(gcb,'orientation'),2);[u,z]=trigi"
  1387. "con(0,50,get_param(gcb,'orientation'),2);"
  1388.   MaskDisplay   "plot(0,0,100,100,x,y,v,w,u,z);disp('Buffer "
  1389. "dwn')"
  1390.   MaskIconFrame   on
  1391.   MaskIconOpaque   on
  1392.   MaskIconRotate   "none"
  1393.   MaskIconUnits   "autoscale"
  1394.   MaskValueString   "2|[1 0]|[0 0]|1|0"
  1395.   System {
  1396.     Name     "hold"
  1397.     Location     [22, 58, 460, 228]
  1398.     Open     off
  1399.     ModelBrowserVisibility  off
  1400.     ModelBrowserWidth     200
  1401.     ScreenColor     "white"
  1402.     PaperOrientation     "landscape"
  1403.     PaperPositionMode     "auto"
  1404.     PaperType     "usletter"
  1405.     PaperUnits     "inches"
  1406.     ZoomFactor     "100"
  1407.     Block {
  1408.       BlockType       Inport
  1409.       Name       "in_1"
  1410.       Position       [15, 55, 35, 75]
  1411.     }
  1412.     Block {
  1413.       BlockType       Inport
  1414.       Name       "in_2"
  1415.       Position       [40, 70, 60, 90]
  1416.       Port       "2"
  1417.     }
  1418.     Block {
  1419.       BlockType       Inport
  1420.       Name       "in_3"
  1421.       Position       [65, 85, 85, 105]
  1422.       Port       "3"
  1423.     }
  1424.     Block {
  1425.       BlockType       Demux
  1426.       Name       "Demux"
  1427.       Ports       [1, 2]
  1428.       Position       [290, 62, 330, 98]
  1429.       Outputs       "[out_size 1]"
  1430.     }
  1431.     Block {
  1432.       BlockType       Mux
  1433.       Name       "Mux"
  1434.       Ports       [3, 1]
  1435.       Position       [110, 59, 140, 101]
  1436.       Inputs       "[in_size 1 1]"
  1437.     }
  1438.     Block {
  1439.       BlockType       "S-Function"
  1440.       Name       "S-function"
  1441.       Ports       [1, 1]
  1442.       Position       [185, 70, 235, 90]
  1443.       FunctionName       "regdown"
  1444.       Parameters       "ini_idx, idx_inc, thrshld, cycl_flag"
  1445.     }
  1446.     Block {
  1447.       BlockType       Outport
  1448.       Name       "out_1"
  1449.       Position       [390, 60, 410, 80]
  1450.     }
  1451.     Block {
  1452.       BlockType       Outport
  1453.       Name       "out_2"
  1454.       Position       [355, 80, 375, 100]
  1455.       Port       "2"
  1456.     }
  1457.     Line {
  1458.       SrcBlock       "S-function"
  1459.       SrcPort       1
  1460.       DstBlock       "Demux"
  1461.       DstPort       1
  1462.     }
  1463.     Line {
  1464.       SrcBlock       "Mux"
  1465.       SrcPort       1
  1466.       DstBlock       "S-function"
  1467.       DstPort       1
  1468.     }
  1469.     Line {
  1470.       SrcBlock       "in_1"
  1471.       SrcPort       1
  1472.       DstBlock       "Mux"
  1473.       DstPort       1
  1474.     }
  1475.     Line {
  1476.       SrcBlock       "Demux"
  1477.       SrcPort       1
  1478.       DstBlock       "out_1"
  1479.       DstPort       1
  1480.     }
  1481.     Line {
  1482.       SrcBlock       "in_2"
  1483.       SrcPort       1
  1484.       DstBlock       "Mux"
  1485.       DstPort       2
  1486.     }
  1487.     Line {
  1488.       SrcBlock       "Demux"
  1489.       SrcPort       2
  1490.       DstBlock       "out_2"
  1491.       DstPort       1
  1492.     }
  1493.     Line {
  1494.       SrcBlock       "in_3"
  1495.       SrcPort       1
  1496.       DstBlock       "Mux"
  1497.       DstPort       3
  1498.     }
  1499.   }
  1500. }
  1501. Block {
  1502.   BlockType   Outport
  1503.   Name   "binary"
  1504.   Position   [480, 60, 500, 80]
  1505. }
  1506. Block {
  1507.   BlockType   Outport
  1508.   Name   "Symbol"
  1509.   Position   [480, 140, 500, 160]
  1510.   Port   "2"
  1511. }
  1512. Line {
  1513.   SrcBlock   "Bits"
  1514.   SrcPort   1
  1515.   Points   [15, 0]
  1516.   Branch {
  1517.     DstBlock     "delay"
  1518.     DstPort     1
  1519.   }
  1520.   Branch {
  1521.     DstBlock     "Shift register"
  1522.     DstPort     1
  1523.   }
  1524. }
  1525. Line {
  1526.   SrcBlock   "Shift register"
  1527.   SrcPort   2
  1528.   Points   [20, 0]
  1529.   Branch {
  1530.     Points     [0, -5]
  1531.     DstBlock     "hold"
  1532.     DstPort     2
  1533.   }
  1534.   Branch {
  1535.     Points     [0, 10]
  1536.     DstBlock     "hold"
  1537.     DstPort     3
  1538.   }
  1539. }
  1540. Line {
  1541.   SrcBlock   "clock"
  1542.   SrcPort   1
  1543.   DstBlock   "Shift register"
  1544.   DstPort   2
  1545. }
  1546. Line {
  1547.   SrcBlock   "hold"
  1548.   SrcPort   1
  1549.   DstBlock   "D/A "
  1550.   DstPort   1
  1551. }
  1552. Line {
  1553.   SrcBlock   "Shift register"
  1554.   SrcPort   1
  1555.   DstBlock   "hold"
  1556.   DstPort   1
  1557. }
  1558. Line {
  1559.   SrcBlock   "delay"
  1560.   SrcPort   1
  1561.   DstBlock   "binary"
  1562.   DstPort   1
  1563. }
  1564. Line {
  1565.   SrcBlock   "D/A "
  1566.   SrcPort   1
  1567.   DstBlock   "Symbol"
  1568.   DstPort   1
  1569. }
  1570. Line {
  1571.   SrcBlock   "hold"
  1572.   SrcPort   2
  1573.   Points   [10, 0; 0, 35]
  1574.   DstBlock   "Terminator"
  1575.   DstPort   1
  1576. }
  1577. Annotation {
  1578.   Name   "two bits are combined to a 4-ary symbol.nM"
  1579. "SB first"
  1580.   Position   [267, 7]
  1581.   VerticalAlignment   "top"
  1582. }
  1583.       }
  1584.     }
  1585.     Block {
  1586.       BlockType       Reference
  1587.       Name       "Channel"
  1588.       Ports       [1, 1]
  1589.       Position       [485, 114, 565, 156]
  1590.       SourceBlock       "librnew/Channel"
  1591.       SourceType       "AWGN channel, fixed parameter"
  1592.       m       "0"
  1593.       variance       "0.001"
  1594.       s       "12345"
  1595.     }
  1596.     Block {
  1597.       BlockType       Clock
  1598.       Name       "Clock"
  1599.       Position       [245, 165, 265, 185]
  1600.       Decimation       "10"
  1601.     }
  1602.     Block {
  1603.       BlockType       Clock
  1604.       Name       "Clock1"
  1605.       Position       [495, 20, 515, 40]
  1606.       Decimation       "10"
  1607.     }
  1608.     Block {
  1609.       BlockType       SubSystem
  1610.       Name       "Error rate"
  1611.       Ports       [2]
  1612.       Position       [910, 225, 990, 265]
  1613.       Orientation       "down"
  1614.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  1615.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  1616.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  1617.       StartFcn       "sbiterr([],[],[],'Start')"
  1618.       StopFcn       "sbiterr([],[],[],'Stop')"
  1619.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  1620.       ShowPortLabels       off
  1621.       TreatAsAtomicUnit       off
  1622.       MaskType       "Symbol/bit error counter"
  1623.       MaskDescription       "Use the input data from the 1st port as the ref"
  1624. "erence signal to detect the number of errors and error rate of the 2nd signal"
  1625. "."
  1626.       MaskHelp       "The signal from the first port must be a scalar"
  1627. ". The second input port can be a vector with a delay to the first port signal"
  1628. ". The comparison happens only at the sampling point."
  1629.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  1630. "lay between 1st port and 2nd port:|Sample time (sec):"
  1631.       MaskStyleString       "edit,edit,edit,edit"
  1632.       MaskTunableValueString  "on,on,on,on"
  1633.       MaskCallbackString      "|||"
  1634.       MaskEnableString       "on,on,on,on"
  1635.       MaskVisibilityString    "on,on,on,on"
  1636.       MaskToolTipString       "on,on,on,on"
  1637.       MaskVarAliasString      ",,,"
  1638.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  1639.       MaskDisplay       "disp('Error\nmeter')"
  1640.       MaskIconFrame       on
  1641.       MaskIconOpaque       on
  1642.       MaskIconRotate       "none"
  1643.       MaskIconUnits       "autoscale"
  1644.       MaskValueString       "2|10|1|1"
  1645.       System {
  1646. Name "Error rate"
  1647. Location [255, 368, 509, 510]
  1648. Open off
  1649. ModelBrowserVisibility off
  1650. ModelBrowserWidth 200
  1651. ScreenColor "white"
  1652. PaperOrientation "landscape"
  1653. PaperPositionMode "auto"
  1654. PaperType "usletter"
  1655. PaperUnits "inches"
  1656. ZoomFactor "100"
  1657. Block {
  1658.   BlockType   Inport
  1659.   Name   "in_1"
  1660.   Position   [15, 45, 35, 65]
  1661. }
  1662. Block {
  1663.   BlockType   Inport
  1664.   Name   "in_2"
  1665.   Position   [15, 60, 35, 80]
  1666.   Port   "2"
  1667. }
  1668. Block {
  1669.   BlockType   Mux
  1670.   Name   "Mux"
  1671.   Ports   [2, 1]
  1672.   Position   [65, 46, 100, 79]
  1673.   Inputs   "2"
  1674. }
  1675. Block {
  1676.   BlockType   "S-Function"
  1677.   Name   "S-function"
  1678.   Ports   [1]
  1679.   Position   [130, 52, 195, 78]
  1680.   FunctionName   "sbiterr"
  1681.   Parameters   "num_lin, K, TDelay, Sample"
  1682. }
  1683. Line {
  1684.   SrcBlock   "in_2"
  1685.   SrcPort   1
  1686.   DstBlock   "Mux"
  1687.   DstPort   2
  1688. }
  1689. Line {
  1690.   SrcBlock   "in_1"
  1691.   SrcPort   1
  1692.   DstBlock   "Mux"
  1693.   DstPort   1
  1694. }
  1695. Line {
  1696.   SrcBlock   "Mux"
  1697.   SrcPort   1
  1698.   DstBlock   "S-function"
  1699.   DstPort   1
  1700. }
  1701.       }
  1702.     }
  1703.     Block {
  1704.       BlockType       Fcn
  1705.       Name       "Fcn"
  1706.       Position       [285, 162, 355, 188]
  1707.       ShowName       off
  1708.       Expr       "cos(4*pi*u)"
  1709.     }
  1710.     Block {
  1711.       BlockType       Fcn
  1712.       Name       "Fcn1"
  1713.       Position       [535, 17, 630, 43]
  1714.       ShowName       off
  1715.       Expr       "2*cos(4*pi*u)"
  1716.     }
  1717.     Block {
  1718.       BlockType       "S-Function"
  1719.       Name       "Integrate and Dumpn"
  1720.       Ports       [1, 1]
  1721.       Position       [730, 108, 810, 152]
  1722.       FunctionName       "schdint"
  1723.       Parameters       "td, ts, limit"
  1724.       MaskType       "Scheduled reset integration"
  1725.       MaskDescription       "Reset the state to be zero(s) at thenscheduled"
  1726. " reset sample point."
  1727.       MaskHelp       "This block resets the state(s) to be zero(s) at"
  1728. " the reset time points. The reset interval can be a two-element vector with t"
  1729. "he second element as offset. The computation sample time must be smaller than"
  1730. " the reset interval. The block resets the state value to be the remainder of "
  1731. "the state divided by the modulo bound when the absolute value of the state is"
  1732. " larger than the modulo bound."
  1733.       MaskPromptString       "Scheduled reset time interval and offset (sec):"
  1734. "|Computation sample time and offset (sec):|Modulo bound:"
  1735.       MaskStyleString       "edit,edit,edit"
  1736.       MaskTunableValueString  "on,on,on"
  1737.       MaskCallbackString      "||"
  1738.       MaskEnableString       "on,on,on"
  1739.       MaskVisibilityString    "on,on,on"
  1740.       MaskToolTipString       "on,on,on"
  1741.       MaskVarAliasString      ",,"
  1742.       MaskInitialization      "td=@1;ts=@2;limit=@3;"
  1743.       MaskDisplay       "disp('Scheduled\nreset-int')"
  1744.       MaskIconFrame       on
  1745.       MaskIconOpaque       on
  1746.       MaskIconRotate       "none"
  1747.       MaskIconUnits       "autoscale"
  1748.       MaskValueString       "1|.01|999"
  1749.     }
  1750.     Block {
  1751.       BlockType       Product
  1752.       Name       "Product"
  1753.       Ports       [2, 1]
  1754.       Position       [380, 117, 405, 148]
  1755.       ShowName       off
  1756.     }
  1757.     Block {
  1758.       BlockType       Product
  1759.       Name       "Product1"
  1760.       Ports       [2, 1]
  1761.       Position       [660, 112, 685, 143]
  1762.       ShowName       off
  1763.     }
  1764.     Block {
  1765.       BlockType       Scope
  1766.       Name       "a(t)"
  1767.       Ports       [1]
  1768.       Position       [120, 225, 150, 255]
  1769.       NamePlacement       "alternate"
  1770.       Location       [224, 436, 1147, 536]
  1771.       Open       off
  1772.       NumInputPorts       "1"
  1773.       List {
  1774. ListType AxesTitles
  1775. axes1 "%<SignalLabel>"
  1776.       }
  1777.       TimeRange       "25.000000"
  1778.       YMin       "-3"
  1779.       YMax       "3"
  1780.       DataFormat       "Array"
  1781.     }
  1782.     Block {
  1783.       BlockType       Scope
  1784.       Name       "binaryndata"
  1785.       Ports       [1]
  1786.       Position       [175, 20, 205, 50]
  1787.       Location       [224, 337, 1147, 437]
  1788.       Open       off
  1789.       NumInputPorts       "1"
  1790.       List {
  1791. ListType AxesTitles
  1792. axes1 "%<SignalLabel>"
  1793.       }
  1794.       TimeRange       "25.000000"
  1795.       YMin       "-3"
  1796.       YMax       "3"
  1797.       DataFormat       "Array"
  1798.     }
  1799.     Block {
  1800.       BlockType       SubSystem
  1801.       Name       "constellation"
  1802.       Ports       []
  1803.       Position       [15, 24, 100, 61]
  1804.       BackgroundColor       "lightBlue"
  1805.       ShowName       off
  1806.       OpenFcn       "cplotask(4)"
  1807.       ShowPortLabels       off
  1808.       TreatAsAtomicUnit       off
  1809.       MaskType       "constellation"
  1810.       MaskDisplay       "disp('Signal Space \n Constellation')"
  1811.       MaskIconFrame       on
  1812.       MaskIconOpaque       on
  1813.       MaskIconRotate       "none"
  1814.       MaskIconUnits       "autoscale"
  1815.       System {
  1816. Name "constellation"
  1817. Location [74, 73, 1338, 1015]
  1818. Open off
  1819. ModelBrowserVisibility off
  1820. ModelBrowserWidth 200
  1821. ScreenColor "cyan"
  1822. PaperOrientation "landscape"
  1823. PaperPositionMode "auto"
  1824. PaperType "usletter"
  1825. PaperUnits "inches"
  1826. ZoomFactor "100"
  1827.       }
  1828.     }
  1829.     Block {
  1830.       BlockType       SubSystem
  1831.       Name       "noise variance"
  1832.       Ports       []
  1833.       Position       [474, 80, 580, 104]
  1834.       BackgroundColor       "lightBlue"
  1835.       ShowName       off
  1836.       OpenFcn       "setnoise"
  1837.       FontSize       12
  1838.       FontAngle       "italic"
  1839.       ShowPortLabels       off
  1840.       TreatAsAtomicUnit       off
  1841.       MaskType       "noise"
  1842.       MaskDisplay       "disp('Noise variance')"
  1843.       MaskIconFrame       on
  1844.       MaskIconOpaque       on
  1845.       MaskIconRotate       "none"
  1846.       MaskIconUnits       "autoscale"
  1847.       System {
  1848. Name "noise variance"
  1849. Location [136, 230, 381, 439]
  1850. Open off
  1851. ModelBrowserVisibility off
  1852. ModelBrowserWidth 200
  1853. ScreenColor "cyan"
  1854. PaperOrientation "landscape"
  1855. PaperPositionMode "auto"
  1856. PaperType "usletter"
  1857. PaperUnits "inches"
  1858. ZoomFactor "100"
  1859.       }
  1860.     }
  1861.     Block {
  1862.       BlockType       Scope
  1863.       Name       "received signal r(t)"
  1864.       Ports       [1]
  1865.       Position       [575, 225, 605, 255]
  1866.       Orientation       "down"
  1867.       Location       [223, 729, 1147, 829]
  1868.       Open       off
  1869.       NumInputPorts       "1"
  1870.       List {
  1871. ListType AxesTitles
  1872. axes1 "%<SignalLabel>"
  1873.       }
  1874.       TimeRange       "25.000000"
  1875.       YMin       "-1.5"
  1876.       YMax       "1.5"
  1877.       DataFormat       "Array"
  1878.     }
  1879.     Block {
  1880.       BlockType       SubSystem
  1881.       Name       "receiver ndiagrams"
  1882.       Ports       [1]
  1883.       Position       [865, 15, 920, 55]
  1884.       ShowPortLabels       off
  1885.       TreatAsAtomicUnit       off
  1886.       MaskType       "Diagrams"
  1887.       MaskDescription       "Eye pattern, signal space trajectory and scatte"
  1888. "r plot"
  1889.       MaskPromptString       "Plot start time:|Samples per time slot (2*T):|D"
  1890. "ecision offset :"
  1891.       MaskStyleString       "edit,edit,edit"
  1892.       MaskTunableValueString  "on,on,on"
  1893.       MaskCallbackString      "||"
  1894.       MaskEnableString       "on,on,on"
  1895.       MaskVisibilityString    "on,on,on"
  1896.       MaskToolTipString       "on,on,on"
  1897.       MaskVarAliasString      ",,"
  1898.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  1899.       MaskInitialization      " [x, y] = srcsicon(10);"
  1900.       MaskDisplay       "plot(0,0,100,100,x,y)"
  1901.       MaskIconFrame       on
  1902.       MaskIconOpaque       on
  1903.       MaskIconRotate       "none"
  1904.       MaskIconUnits       "autoscale"
  1905.       MaskValueString       "0|40|0"
  1906.       System {
  1907. Name "receiver ndiagrams"
  1908. Location [572, 328, 941, 569]
  1909. Open off
  1910. ModelBrowserVisibility off
  1911. ModelBrowserWidth 200
  1912. ScreenColor "white"
  1913. PaperOrientation "landscape"
  1914. PaperPositionMode "auto"
  1915. PaperType "usletter"
  1916. PaperUnits "inches"
  1917. ZoomFactor "100"
  1918. Block {
  1919.   BlockType   Inport
  1920.   Name   "in_1"
  1921.   Position   [35, 40, 55, 60]
  1922. }
  1923. Block {
  1924.   BlockType   Constant
  1925.   Name   "Constant"
  1926.   Position   [35, 130, 55, 150]
  1927.   Value   "Inf"
  1928. }
  1929. Block {
  1930.   BlockType   Constant
  1931.   Name   "Constant1"
  1932.   Position   [130, 130, 150, 150]
  1933.   Value   "0"
  1934. }
  1935. Block {
  1936.   BlockType   SubSystem
  1937.   Name   "Eye patternnreceiver"
  1938.   Ports   [1]
  1939.   Position   [275, 37, 330, 73]
  1940.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  1941.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  1942.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  1943.   StartFcn   "eyesampl([],[],[],'Start')"
  1944.   StopFcn   "eyesampl([],[],[],'Stop')"
  1945.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  1946.   ShowPortLabels   off
  1947.   TreatAsAtomicUnit   off
  1948.   MaskType   "Eye-diagram/scatter plot"
  1949.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  1950. "plot."
  1951.   MaskHelp   "This plot opens one, or two plots by assign"
  1952. "ing the line type parameters. The scatter plot point is selected by the decis"
  1953. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  1954. "attern diagram. The plot is updated at the plot update sample time point."
  1955.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  1956. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  1957. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  1958. "or scatter plot (0 for no plot):|Plot update sample time:"
  1959.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1960.   MaskTunableValueString  "on,on,on,on,on,on"
  1961.   MaskCallbackString   "|||||"
  1962.   MaskEnableString   "on,on,on,on,on,on"
  1963.   MaskVisibilityString   "on,on,on,on,on,on"
  1964.   MaskToolTipString   "on,on,on,on,on,on"
  1965.   MaskVarAliasString   ",,,,,"
  1966.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  1967. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1968.   MaskDisplay   "plot(0,0,100,100,x,y);"
  1969.   MaskIconFrame   on
  1970.   MaskIconOpaque   on
  1971.   MaskIconRotate   "none"
  1972.   MaskIconUnits   "autoscale"
  1973.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  1974. "ahl"
  1975.   System {
  1976.     Name     "Eye patternnreceiver"
  1977.     Location     [121, 409, 416, 595]
  1978.     Open     off
  1979.     ModelBrowserVisibility  off
  1980.     ModelBrowserWidth     200
  1981.     ScreenColor     "white"
  1982.     PaperOrientation     "landscape"
  1983.     PaperPositionMode     "auto"
  1984.     PaperType     "usletter"
  1985.     PaperUnits     "inches"
  1986.     ZoomFactor     "100"
  1987.     Block {
  1988.       BlockType       Inport
  1989.       Name       "in_1"
  1990.       Position       [75, 80, 95, 100]
  1991.     }
  1992.     Block {
  1993.       BlockType       "S-Function"
  1994.       Name       "Plot1"
  1995.       Ports       [1]
  1996.       Position       [130, 70, 200, 110]
  1997.       FunctionName       "eyesampl"
  1998.       Parameters       "time_range, boundary, kept_length, eye_"
  1999. "line, scatter_line, two_d_line"
  2000.     }
  2001.     Line {
  2002.       SrcBlock       "in_1"
  2003.       SrcPort       1
  2004.       DstBlock       "Plot1"
  2005.       DstPort       1
  2006.     }
  2007.   }
  2008. }
  2009. Block {
  2010.   BlockType   Mux
  2011.   Name   "Mux"
  2012.   Ports   [2, 1]
  2013.   Position   [185, 36, 220, 69]
  2014.   Inputs   "2"
  2015. }
  2016. Block {
  2017.   BlockType   Mux
  2018.   Name   "Mux1"
  2019.   Ports   [2, 1]
  2020.   Position   [185, 96, 220, 129]
  2021.   Inputs   "2"
  2022. }
  2023. Block {
  2024.   BlockType   SubSystem
  2025.   Name   "Scatter plotnreceiver"
  2026.   Ports   [1]
  2027.   Position   [275, 173, 330, 207]
  2028.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  2029.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  2030.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  2031.   StartFcn   "eyesampl([],[],[],'Start')"
  2032.   StopFcn   "eyesampl([],[],[],'Stop')"
  2033.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  2034.   ShowPortLabels   off
  2035.   TreatAsAtomicUnit   off
  2036.   MaskType   "Eye-diagram/scatter plot"
  2037.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  2038. "plot."
  2039.   MaskHelp   "This plot opens one, or two plots by assign"
  2040. "ing the line type parameters. The scatter plot point is selected by the decis"
  2041. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  2042. "attern diagram. The plot is updated at the plot update sample time point."
  2043.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  2044. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  2045. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  2046. "or scatter plot (0 for no plot):|Plot update sample time:"
  2047.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2048.   MaskTunableValueString  "on,on,on,on,on,on"
  2049.   MaskCallbackString   "|||||"
  2050.   MaskEnableString   "on,on,on,on,on,on"
  2051.   MaskVisibilityString   "on,on,on,on,on,on"
  2052.   MaskToolTipString   "on,on,on,on,on,on"
  2053.   MaskVarAliasString   ",,,,,"
  2054.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2055. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2056.   MaskDisplay   "plot(0,0,100,100,x,y);"
  2057.   MaskIconFrame   on
  2058.   MaskIconOpaque   on
  2059.   MaskIconRotate   "none"
  2060.   MaskIconUnits   "autoscale"
  2061.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  2062.   System {
  2063.     Name     "Scatter plotnreceiver"
  2064.     Location     [165, 242, 460, 428]
  2065.     Open     off
  2066.     ModelBrowserVisibility  off
  2067.     ModelBrowserWidth     200
  2068.     ScreenColor     "white"
  2069.     PaperOrientation     "landscape"
  2070.     PaperPositionMode     "auto"
  2071.     PaperType     "usletter"
  2072.     PaperUnits     "inches"
  2073.     ZoomFactor     "100"
  2074.     Block {
  2075.       BlockType       Inport
  2076.       Name       "in_1"
  2077.       Position       [75, 80, 95, 100]
  2078.     }
  2079.     Block {
  2080.       BlockType       "S-Function"
  2081.       Name       "Plot1"
  2082.       Ports       [1]
  2083.       Position       [130, 70, 200, 110]
  2084.       FunctionName       "eyesampl"
  2085.       Parameters       "time_range, boundary, kept_length, eye_"
  2086. "line, scatter_line, two_d_line"
  2087.     }
  2088.     Line {
  2089.       SrcBlock       "in_1"
  2090.       SrcPort       1
  2091.       DstBlock       "Plot1"
  2092.       DstPort       1
  2093.     }
  2094.   }
  2095. }
  2096. Block {
  2097.   BlockType   Step
  2098.   Name   "Step input"
  2099.   Position   [35, 85, 55, 105]
  2100.   Time   "starttime"
  2101.   SampleTime   "1"
  2102. }
  2103. Block {
  2104.   BlockType   Switch
  2105.   Name   "Switch"
  2106.   Position   [110, 44, 135, 76]
  2107.   Threshold   "1"
  2108. }
  2109. Block {
  2110.   BlockType   SubSystem
  2111.   Name   "Trajectorynreceiver"
  2112.   Ports   [1]
  2113.   Position   [275, 107, 330, 143]
  2114.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  2115.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  2116.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  2117.   StartFcn   "eyediasi([],[],[],'Start')"
  2118.   StopFcn   "eyediasi([],[],[],'Stop')"
  2119.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  2120.   ShowPortLabels   off
  2121.   TreatAsAtomicUnit   off
  2122.   MaskType   "Eye-diagram/scatter plot"
  2123.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  2124. "-y plot with the rising edge of the second input as the decision line."
  2125.   MaskHelp   "This plot opens one, two, or three plots by"
  2126. " assigning the line type parameters. The scatter plot point is selected by th"
  2127. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  2128. "e of the trigger signal."
  2129.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  2130. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  2131. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  2132. "plot):|Line-type for x-y plot (0 for no plot):"
  2133.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2134.   MaskTunableValueString  "on,on,on,on,on,on"
  2135.   MaskCallbackString   "|||||"
  2136.   MaskEnableString   "on,on,on,on,on,on"
  2137.   MaskVisibilityString   "on,on,on,on,on,on"
  2138.   MaskToolTipString   "on,on,on,on,on,on"
  2139.   MaskVarAliasString   ",,,,,"
  2140.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2141. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  2142. "5,get_param(gcb,'orientation'),2);"
  2143.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  2144.   MaskIconFrame   on
  2145.   MaskIconOpaque   on
  2146.   MaskIconRotate   "none"
  2147.   MaskIconUnits   "autoscale"
  2148.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  2149.   System {
  2150.     Name     "Trajectorynreceiver"
  2151.     Location     [165, 242, 460, 428]
  2152.     Open     off
  2153.     ModelBrowserVisibility  off
  2154.     ModelBrowserWidth     200
  2155.     ScreenColor     "white"
  2156.     PaperOrientation     "landscape"
  2157.     PaperPositionMode     "auto"
  2158.     PaperType     "usletter"
  2159.     PaperUnits     "inches"
  2160.     ZoomFactor     "100"
  2161.     Block {
  2162.       BlockType       Inport
  2163.       Name       "in_1"
  2164.       Position       [15, 55, 35, 75]
  2165.     }
  2166.     Block {
  2167.       BlockType       Constant
  2168.       Name       "Constant"
  2169.       Position       [15, 110, 45, 140]
  2170.       Value       "0"
  2171.     }
  2172.     Block {
  2173.       BlockType       Mux
  2174.       Name       "Mux"
  2175.       Ports       [2, 1]
  2176.       Position       [65, 70, 100, 105]
  2177.       Inputs       "2"
  2178.     }
  2179.     Block {
  2180.       BlockType       "S-Function"
  2181.       Name       "Plot1"
  2182.       Ports       [1]
  2183.       Position       [130, 70, 200, 110]
  2184.       FunctionName       "eyediasi"
  2185.       Parameters       "time_range, boundary, kept_length, eye_"
  2186. "line, scatter_line, two_d_line"
  2187.     }
  2188.     Line {
  2189.       SrcBlock       "Mux"
  2190.       SrcPort       1
  2191.       DstBlock       "Plot1"
  2192.       DstPort       1
  2193.     }
  2194.     Line {
  2195.       SrcBlock       "Constant"
  2196.       SrcPort       1
  2197.       DstBlock       "Mux"
  2198.       DstPort       2
  2199.     }
  2200.     Line {
  2201.       SrcBlock       "in_1"
  2202.       SrcPort       1
  2203.       Points       [5, 0; 0, 15]
  2204.       DstBlock       "Mux"
  2205.       DstPort       1
  2206.     }
  2207.   }
  2208. }
  2209. Line {
  2210.   SrcBlock   "Mux"
  2211.   SrcPort   1
  2212.   DstBlock   "Eye patternnreceiver"
  2213.   DstPort   1
  2214. }
  2215. Line {
  2216.   SrcBlock   "in_1"
  2217.   SrcPort   1
  2218.   DstBlock   "Switch"
  2219.   DstPort   1
  2220. }
  2221. Line {
  2222.   SrcBlock   "Step input"
  2223.   SrcPort   1
  2224.   Points   [15, 0; 0, -35]
  2225.   DstBlock   "Switch"
  2226.   DstPort   2
  2227. }
  2228. Line {
  2229.   SrcBlock   "Constant"
  2230.   SrcPort   1
  2231.   Points   [35, 0]
  2232.   DstBlock   "Switch"
  2233.   DstPort   3
  2234. }
  2235. Line {
  2236.   SrcBlock   "Mux1"
  2237.   SrcPort   1
  2238.   Points   [25, 0]
  2239.   Branch {
  2240.     Points     [10, 0]
  2241.     DstBlock     "Trajectorynreceiver"
  2242.     DstPort     1
  2243.   }
  2244.   Branch {
  2245.     Points     [0, 75]
  2246.     DstBlock     "Scatter plotnreceiver"
  2247.     DstPort     1
  2248.   }
  2249. }
  2250. Line {
  2251.   SrcBlock   "Constant1"
  2252.   SrcPort   1
  2253.   Points   [10, 0; 0, -20]
  2254.   Branch {
  2255.     Points     [0, -75]
  2256.     DstBlock     "Mux"
  2257.     DstPort     1
  2258.   }
  2259.   Branch {
  2260.     DstBlock     "Mux1"
  2261.     DstPort     2
  2262.   }
  2263. }
  2264. Line {
  2265.   SrcBlock   "Switch"
  2266.   SrcPort   1
  2267.   Points   [10, 0]
  2268.   Branch {
  2269.     DstBlock     "Mux"
  2270.     DstPort     2
  2271.   }
  2272.   Branch {
  2273.     Points     [0, 45]
  2274.     DstBlock     "Mux1"
  2275.     DstPort     1
  2276.   }
  2277. }
  2278.       }
  2279.     }
  2280.     Block {
  2281.       BlockType       Scope
  2282.       Name       "s(t)"
  2283.       Ports       [1]
  2284.       Position       [210, 225, 240, 255]
  2285.       Orientation       "down"
  2286.       Location       [224, 533, 1147, 633]
  2287.       Open       off
  2288.       NumInputPorts       "1"
  2289.       List {
  2290. ListType AxesTitles
  2291. axes1 "%<SignalLabel>"
  2292.       }
  2293.       TimeRange       "25.000000"
  2294.       YMin       "-1.5"
  2295.       YMax       "1.5"
  2296.       DataFormat       "Array"
  2297.     }
  2298.     Block {
  2299.       BlockType       Scope
  2300.       Name       "s_r(t)"
  2301.       Ports       [1]
  2302.       Position       [825, 185, 855, 215]
  2303.       Orientation       "down"
  2304.       Location       [223, 794, 1147, 894]
  2305.       Open       off
  2306.       NumInputPorts       "1"
  2307.       List {
  2308. ListType AxesTitles
  2309. axes1 "%<SignalLabel>"
  2310.       }
  2311.       TimeRange       "25.000000"
  2312.       YMin       "-1.5"
  2313.       YMax       "1.5"
  2314.       DataFormat       "Array"
  2315.     }
  2316.     Block {
  2317.       BlockType       Scope
  2318.       Name       "sink signal v(t)"
  2319.       Ports       [1]
  2320.       Position       [995, 115, 1025, 145]
  2321.       Location       [223, 794, 1147, 894]
  2322.       Open       off
  2323.       NumInputPorts       "1"
  2324.       List {
  2325. ListType AxesTitles
  2326. axes1 "%<SignalLabel>"
  2327.       }
  2328.       TimeRange       "25.000000"
  2329.       YMin       "-3"
  2330.       YMax       "3"
  2331.       DataFormat       "Array"
  2332.     }
  2333.     Block {
  2334.       BlockType       Scope
  2335.       Name       "transmitted signal u(t)"
  2336.       Ports       [1]
  2337.       Position       [420, 225, 450, 255]
  2338.       Orientation       "down"
  2339.       Location       [224, 631, 1147, 731]
  2340.       Open       off
  2341.       NumInputPorts       "1"
  2342.       List {
  2343. ListType AxesTitles
  2344. axes1 "%<SignalLabel>"
  2345.       }
  2346.       TimeRange       "25.000000"
  2347.       YMin       "-1.5"
  2348.       YMax       "1.5"
  2349.       DataFormat       "Array"
  2350.     }
  2351.     Block {
  2352.       BlockType       SubSystem
  2353.       Name       "transmitterndiagrams"
  2354.       Ports       [1]
  2355.       Position       [310, 15, 365, 55]
  2356.       ShowPortLabels       off
  2357.       TreatAsAtomicUnit       off
  2358.       MaskType       "Diagrams"
  2359.       MaskDescription       "Eye pattern, signal space trajectory and scatte"
  2360. "r plot."
  2361.       MaskPromptString       "Plot start time:|Samples per time slot (2*T):|D"
  2362. "ecision offset:"
  2363.       MaskStyleString       "edit,edit,edit"
  2364.       MaskTunableValueString  "on,on,on"
  2365.       MaskCallbackString      "||"
  2366.       MaskEnableString       "on,on,on"
  2367.       MaskVisibilityString    "on,on,on"
  2368.       MaskToolTipString       "on,on,on"
  2369.       MaskVarAliasString      ",,"
  2370.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  2371.       MaskInitialization      " [x, y] = srcsicon(10);"
  2372.       MaskDisplay       "plot(0,0,100,100,x,y)"
  2373.       MaskIconFrame       on
  2374.       MaskIconOpaque       on
  2375.       MaskIconRotate       "none"
  2376.       MaskIconUnits       "autoscale"
  2377.       MaskValueString       "0|40|0"
  2378.       System {
  2379. Name "transmitterndiagrams"
  2380. Location [475, 310, 844, 551]
  2381. Open off
  2382. ModelBrowserVisibility off
  2383. ModelBrowserWidth 200
  2384. ScreenColor "white"
  2385. PaperOrientation "landscape"
  2386. PaperPositionMode "auto"
  2387. PaperType "usletter"
  2388. PaperUnits "inches"
  2389. ZoomFactor "100"
  2390. Block {
  2391.   BlockType   Inport
  2392.   Name   "in_1"
  2393.   Position   [35, 40, 55, 60]
  2394. }
  2395. Block {
  2396.   BlockType   Constant
  2397.   Name   "Constant"
  2398.   Position   [35, 130, 55, 150]
  2399.   Value   "Inf"
  2400. }
  2401. Block {
  2402.   BlockType   Constant
  2403.   Name   "Constant1"
  2404.   Position   [130, 130, 150, 150]
  2405.   Value   "0"
  2406. }
  2407. Block {
  2408.   BlockType   SubSystem
  2409.   Name   "Eye patternntransmitter"
  2410.   Ports   [1]
  2411.   Position   [275, 37, 330, 73]
  2412.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  2413.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  2414.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  2415.   StartFcn   "eyesampl([],[],[],'Start')"
  2416.   StopFcn   "eyesampl([],[],[],'Stop')"
  2417.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  2418.   ShowPortLabels   off
  2419.   TreatAsAtomicUnit   off
  2420.   MaskType   "Eye-diagram/scatter plot"
  2421.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  2422. "plot."
  2423.   MaskHelp   "This plot opens one, or two plots by assign"
  2424. "ing the line type parameters. The scatter plot point is selected by the decis"
  2425. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  2426. "attern diagram. The plot is updated at the plot update sample time point."
  2427.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  2428. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  2429. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  2430. "or scatter plot (0 for no plot):|Plot update sample time:"
  2431.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2432.   MaskTunableValueString  "on,on,on,on,on,on"
  2433.   MaskCallbackString   "|||||"
  2434.   MaskEnableString   "on,on,on,on,on,on"
  2435.   MaskVisibilityString   "on,on,on,on,on,on"
  2436.   MaskToolTipString   "on,on,on,on,on,on"
  2437.   MaskVarAliasString   ",,,,,"
  2438.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2439. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2440.   MaskDisplay   "plot(0,0,100,100,x,y);"
  2441.   MaskIconFrame   on
  2442.   MaskIconOpaque   on
  2443.   MaskIconRotate   "none"
  2444.   MaskIconUnits   "autoscale"
  2445.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  2446. "ahl"
  2447.   System {
  2448.     Name     "Eye patternntransmitter"
  2449.     Location     [121, 409, 416, 595]
  2450.     Open     off
  2451.     ModelBrowserVisibility  off
  2452.     ModelBrowserWidth     200
  2453.     ScreenColor     "white"
  2454.     PaperOrientation     "landscape"
  2455.     PaperPositionMode     "auto"
  2456.     PaperType     "usletter"
  2457.     PaperUnits     "inches"
  2458.     ZoomFactor     "100"
  2459.     Block {
  2460.       BlockType       Inport
  2461.       Name       "in_1"
  2462.       Position       [75, 80, 95, 100]
  2463.     }
  2464.     Block {
  2465.       BlockType       "S-Function"
  2466.       Name       "Plot1"
  2467.       Ports       [1]
  2468.       Position       [130, 70, 200, 110]
  2469.       FunctionName       "eyesampl"
  2470.       Parameters       "time_range, boundary, kept_length, eye_"
  2471. "line, scatter_line, two_d_line"
  2472.     }
  2473.     Line {
  2474.       SrcBlock       "in_1"
  2475.       SrcPort       1
  2476.       DstBlock       "Plot1"
  2477.       DstPort       1
  2478.     }
  2479.   }
  2480. }
  2481. Block {
  2482.   BlockType   Mux
  2483.   Name   "Mux"
  2484.   Ports   [2, 1]
  2485.   Position   [185, 36, 220, 69]
  2486.   Inputs   "2"
  2487. }
  2488. Block {
  2489.   BlockType   Mux
  2490.   Name   "Mux1"
  2491.   Ports   [2, 1]
  2492.   Position   [185, 96, 220, 129]
  2493.   Inputs   "2"
  2494. }
  2495. Block {
  2496.   BlockType   SubSystem
  2497.   Name   "Scatter plotntransmitter"
  2498.   Ports   [1]
  2499.   Position   [275, 173, 330, 207]
  2500.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  2501.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  2502.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  2503.   StartFcn   "eyesampl([],[],[],'Start')"
  2504.   StopFcn   "eyesampl([],[],[],'Stop')"
  2505.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  2506.   ShowPortLabels   off
  2507.   TreatAsAtomicUnit   off
  2508.   MaskType   "Eye-diagram/scatter plot"
  2509.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  2510. "plot."
  2511.   MaskHelp   "This plot opens one, or two plots by assign"
  2512. "ing the line type parameters. The scatter plot point is selected by the decis"
  2513. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  2514. "attern diagram. The plot is updated at the plot update sample time point."
  2515.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  2516. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  2517. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  2518. "or scatter plot (0 for no plot):|Plot update sample time:"
  2519.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2520.   MaskTunableValueString  "on,on,on,on,on,on"
  2521.   MaskCallbackString   "|||||"
  2522.   MaskEnableString   "on,on,on,on,on,on"
  2523.   MaskVisibilityString   "on,on,on,on,on,on"
  2524.   MaskToolTipString   "on,on,on,on,on,on"
  2525.   MaskVarAliasString   ",,,,,"
  2526.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2527. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2528.   MaskDisplay   "plot(0,0,100,100,x,y);"
  2529.   MaskIconFrame   on
  2530.   MaskIconOpaque   on
  2531.   MaskIconRotate   "none"
  2532.   MaskIconUnits   "autoscale"
  2533.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  2534.   System {
  2535.     Name     "Scatter plotntransmitter"
  2536.     Location     [165, 242, 460, 428]
  2537.     Open     off
  2538.     ModelBrowserVisibility  off
  2539.     ModelBrowserWidth     200
  2540.     ScreenColor     "white"
  2541.     PaperOrientation     "landscape"
  2542.     PaperPositionMode     "auto"
  2543.     PaperType     "usletter"
  2544.     PaperUnits     "inches"
  2545.     ZoomFactor     "100"
  2546.     Block {
  2547.       BlockType       Inport
  2548.       Name       "in_1"
  2549.       Position       [75, 80, 95, 100]
  2550.     }
  2551.     Block {
  2552.       BlockType       "S-Function"
  2553.       Name       "Plot1"
  2554.       Ports       [1]
  2555.       Position       [130, 70, 200, 110]
  2556.       FunctionName       "eyesampl"
  2557.       Parameters       "time_range, boundary, kept_length, eye_"
  2558. "line, scatter_line, two_d_line"
  2559.     }
  2560.     Line {
  2561.       SrcBlock       "in_1"
  2562.       SrcPort       1
  2563.       DstBlock       "Plot1"
  2564.       DstPort       1
  2565.     }
  2566.   }
  2567. }
  2568. Block {
  2569.   BlockType   Step
  2570.   Name   "Step input"
  2571.   Position   [35, 85, 55, 105]
  2572.   Time   "starttime"
  2573.   SampleTime   "1"
  2574. }
  2575. Block {
  2576.   BlockType   Switch
  2577.   Name   "Switch"
  2578.   Position   [110, 44, 135, 76]
  2579.   Threshold   "1"
  2580. }
  2581. Block {
  2582.   BlockType   SubSystem
  2583.   Name   "Trajectoryntransmitter"
  2584.   Ports   [1]
  2585.   Position   [275, 107, 330, 143]
  2586.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  2587.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  2588.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  2589.   StartFcn   "eyediasi([],[],[],'Start')"
  2590.   StopFcn   "eyediasi([],[],[],'Stop')"
  2591.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  2592.   ShowPortLabels   off
  2593.   TreatAsAtomicUnit   off
  2594.   MaskType   "Eye-diagram/scatter plot"
  2595.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  2596. "-y plot with the rising edge of the second input as the decision line."
  2597.   MaskHelp   "This plot opens one, two, or three plots by"
  2598. " assigning the line type parameters. The scatter plot point is selected by th"
  2599. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  2600. "e of the trigger signal."
  2601.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  2602. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  2603. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  2604. "plot):|Line-type for x-y plot (0 for no plot):"
  2605.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2606.   MaskTunableValueString  "on,on,on,on,on,on"
  2607.   MaskCallbackString   "|||||"
  2608.   MaskEnableString   "on,on,on,on,on,on"
  2609.   MaskVisibilityString   "on,on,on,on,on,on"
  2610.   MaskToolTipString   "on,on,on,on,on,on"
  2611.   MaskVarAliasString   ",,,,,"
  2612.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2613. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  2614. "5,get_param(gcb,'orientation'),2);"
  2615.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  2616.   MaskIconFrame   on
  2617.   MaskIconOpaque   on
  2618.   MaskIconRotate   "none"
  2619.   MaskIconUnits   "autoscale"
  2620.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  2621.   System {
  2622.     Name     "Trajectoryntransmitter"
  2623.     Location     [165, 242, 460, 428]
  2624.     Open     off
  2625.     ModelBrowserVisibility  off
  2626.     ModelBrowserWidth     200
  2627.     ScreenColor     "white"
  2628.     PaperOrientation     "landscape"
  2629.     PaperPositionMode     "auto"
  2630.     PaperType     "usletter"
  2631.     PaperUnits     "inches"
  2632.     ZoomFactor     "100"
  2633.     Block {
  2634.       BlockType       Inport
  2635.       Name       "in_1"
  2636.       Position       [15, 55, 35, 75]
  2637.     }
  2638.     Block {
  2639.       BlockType       Constant
  2640.       Name       "Constant"
  2641.       Position       [15, 110, 45, 140]
  2642.       Value       "0"
  2643.     }
  2644.     Block {
  2645.       BlockType       Mux
  2646.       Name       "Mux"
  2647.       Ports       [2, 1]
  2648.       Position       [65, 70, 100, 105]
  2649.       Inputs       "2"
  2650.     }
  2651.     Block {
  2652.       BlockType       "S-Function"
  2653.       Name       "Plot1"
  2654.       Ports       [1]
  2655.       Position       [130, 70, 200, 110]
  2656.       FunctionName       "eyediasi"
  2657.       Parameters       "time_range, boundary, kept_length, eye_"
  2658. "line, scatter_line, two_d_line"
  2659.     }
  2660.     Line {
  2661.       SrcBlock       "in_1"
  2662.       SrcPort       1
  2663.       Points       [5, 0; 0, 15]
  2664.       DstBlock       "Mux"
  2665.       DstPort       1
  2666.     }
  2667.     Line {
  2668.       SrcBlock       "Constant"
  2669.       SrcPort       1
  2670.       DstBlock       "Mux"
  2671.       DstPort       2
  2672.     }
  2673.     Line {
  2674.       SrcBlock       "Mux"
  2675.       SrcPort       1
  2676.       DstBlock       "Plot1"
  2677.       DstPort       1
  2678.     }
  2679.   }
  2680. }
  2681. Line {
  2682.   SrcBlock   "Switch"
  2683.   SrcPort   1
  2684.   Points   [10, 0]
  2685.   Branch {
  2686.     DstBlock     "Mux"
  2687.     DstPort     2
  2688.   }
  2689.   Branch {
  2690.     Points     [0, 45]
  2691.     DstBlock     "Mux1"
  2692.     DstPort     1
  2693.   }
  2694. }
  2695. Line {
  2696.   SrcBlock   "Constant1"
  2697.   SrcPort   1
  2698.   Points   [10, 0; 0, -20]
  2699.   Branch {
  2700.     Points     [0, -75]
  2701.     DstBlock     "Mux"
  2702.     DstPort     1
  2703.   }
  2704.   Branch {
  2705.     DstBlock     "Mux1"
  2706.     DstPort     2
  2707.   }
  2708. }
  2709. Line {
  2710.   SrcBlock   "Mux1"
  2711.   SrcPort   1
  2712.   Points   [25, 0]
  2713.   Branch {
  2714.     Points     [10, 0]
  2715.     DstBlock     "Trajectoryntransmitter"
  2716.     DstPort     1
  2717.   }
  2718.   Branch {
  2719.     Points     [0, 75]
  2720.     DstBlock     "Scatter plotntransmitter"
  2721.     DstPort     1
  2722.   }
  2723. }
  2724. Line {
  2725.   SrcBlock   "Constant"
  2726.   SrcPort   1
  2727.   Points   [35, 0]
  2728.   DstBlock   "Switch"
  2729.   DstPort   3
  2730. }
  2731. Line {
  2732.   SrcBlock   "Step input"
  2733.   SrcPort   1
  2734.   Points   [15, 0; 0, -35]
  2735.   DstBlock   "Switch"
  2736.   DstPort   2
  2737. }
  2738. Line {
  2739.   SrcBlock   "in_1"
  2740.   SrcPort   1
  2741.   DstBlock   "Switch"
  2742.   DstPort   1
  2743. }
  2744. Line {
  2745.   SrcBlock   "Mux"
  2746.   SrcPort   1
  2747.   DstBlock   "Eye patternntransmitter"
  2748.   DstPort   1
  2749. }
  2750.       }
  2751.     }
  2752.     Line {
  2753.       SrcBlock       "Clock"
  2754.       SrcPort       1
  2755.       DstBlock       "Fcn"
  2756.       DstPort       1
  2757.     }
  2758.     Line {
  2759.       SrcBlock       "4-ASK"
  2760.       SrcPort       1
  2761.       Points       [20, 0]
  2762.       Branch {
  2763. DstBlock "s(t)"
  2764. DstPort 1
  2765.       }
  2766.       Branch {
  2767. Points [60, 0]
  2768. Branch {
  2769.   DstBlock   "Product"
  2770.   DstPort   1
  2771. }
  2772. Branch {
  2773.   Points   [0, -90]
  2774.   DstBlock   "transmitterndiagrams"
  2775.   DstPort   1
  2776. }
  2777.       }
  2778.     }
  2779.     Line {
  2780.       SrcBlock       "Product"
  2781.       SrcPort       1
  2782.       Points       [25, 0]
  2783.       Branch {
  2784. DstBlock "transmitted signal u(t)"
  2785. DstPort 1
  2786.       }
  2787.       Branch {
  2788. DstBlock "Channel"
  2789. DstPort 1
  2790.       }
  2791.     }
  2792.     Line {
  2793.       SrcBlock       "4-ASK demap"
  2794.       SrcPort       1
  2795.       Points       [25, 0]
  2796.       Branch {
  2797. DstBlock "sink signal v(t)"
  2798. DstPort 1
  2799.       }
  2800.       Branch {
  2801. DstBlock "Error rate"
  2802. DstPort 2
  2803.       }
  2804.     }
  2805.     Line {
  2806.       SrcBlock       "Fcn"
  2807.       SrcPort       1
  2808.       Points       [0, -35]
  2809.       DstBlock       "Product"
  2810.       DstPort       2
  2811.     }
  2812.     Line {
  2813.       SrcBlock       "4-ary source"
  2814.       SrcPort       2
  2815.       Points       [0, -15; 25, 0]
  2816.       Branch {
  2817. DstBlock "4-ASK"
  2818. DstPort 1
  2819.       }
  2820.       Branch {
  2821. Points [0, 115]
  2822. Branch {
  2823.   Points   [0, 25; 800, 0; 0, -55]
  2824.   DstBlock   "Error rate"
  2825.   DstPort   1
  2826. }
  2827. Branch {
  2828.   DstBlock   "a(t)"
  2829.   DstPort   1
  2830. }
  2831.       }
  2832.     }
  2833.     Line {
  2834.       SrcBlock       "Clock1"
  2835.       SrcPort       1
  2836.       DstBlock       "Fcn1"
  2837.       DstPort       1
  2838.     }
  2839.     Line {
  2840.       SrcBlock       "Product1"
  2841.       SrcPort       1
  2842.       DstBlock       "Integrate and Dumpn"
  2843.       DstPort       1
  2844.     }
  2845.     Line {
  2846.       SrcBlock       "Integrate and Dumpn"
  2847.       SrcPort       1
  2848.       Points       [25, 0]
  2849.       Branch {
  2850. DstBlock "4-ASK demap"
  2851. DstPort 1
  2852.       }
  2853.       Branch {
  2854. Points [0, -95]
  2855. DstBlock "receiver ndiagrams"
  2856. DstPort 1
  2857.       }
  2858.       Branch {
  2859. DstBlock "s_r(t)"
  2860. DstPort 1
  2861.       }
  2862.     }
  2863.     Line {
  2864.       SrcBlock       "Channel"
  2865.       SrcPort       1
  2866.       Points       [20, 0]
  2867.       Branch {
  2868. DstBlock "Product1"
  2869. DstPort 2
  2870.       }
  2871.       Branch {
  2872. DstBlock "received signal r(t)"
  2873. DstPort 1
  2874.       }
  2875.     }
  2876.     Line {
  2877.       SrcBlock       "Fcn1"
  2878.       SrcPort       1
  2879.       Points       [5, 0; 0, 90]
  2880.       DstBlock       "Product1"
  2881.       DstPort       1
  2882.     }
  2883.     Line {
  2884.       SrcBlock       "4-ary source"
  2885.       SrcPort       1
  2886.       Points       [40, 0; 0, -80]
  2887.       DstBlock       "binaryndata"
  2888.       DstPort       1
  2889.     }
  2890.   }
  2891. }