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

通讯编程文档

开发平台:

Matlab

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