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

通讯编程文档

开发平台:

Matlab

  1. Model {
  2.   Name   "asknyqmf"
  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 16:00:00 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:40:49 2003"
  42.   ModelVersionFormat   "1.%<AutoIncrement:21>"
  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-6"
  86.   AbsTol   "1e-6"
  87.   OutputOption   "RefineOutputTimes"
  88.   OutputTimes   "[]"
  89.   Refine   "1"
  90.   LoadExternalInput   off
  91.   ExternalInput   "[t, u]"
  92.   LoadInitialState   off
  93.   InitialState   "xInitial"
  94.   SaveTime   off
  95.   TimeSaveName   "tout"
  96.   SaveState   off
  97.   StateSaveName   "xout"
  98.   SaveOutput   off
  99.   OutputSaveName   "yout"
  100.   SaveFinalState   off
  101.   FinalStateName   "xFinal"
  102.   SaveFormat   "Array"
  103.   Decimation   "1"
  104.   LimitDataPoints   on
  105.   MaxDataPoints   "1000"
  106.   SignalLoggingName   "sigsOut"
  107.   ConsistencyChecking   "none"
  108.   ArrayBoundsChecking   "none"
  109.   AlgebraicLoopMsg   "warning"
  110.   BlockPriorityViolationMsg "warning"
  111.   MinStepSizeMsg   "warning"
  112.   InheritedTsInSrcMsg   "warning"
  113.   DiscreteInheritContinuousMsg "warning"
  114.   MultiTaskRateTransMsg   "error"
  115.   SingleTaskRateTransMsg  "none"
  116.   CheckForMatrixSingularity "none"
  117.   IntegerOverflowMsg   "warning"
  118.   Int32ToFloatConvMsg   "warning"
  119.   ParameterDowncastMsg   "error"
  120.   ParameterOverflowMsg   "error"
  121.   ParameterPrecisionLossMsg "warning"
  122.   UnderSpecifiedDataTypeMsg "none"
  123.   UnnecessaryDatatypeConvMsg "none"
  124.   VectorMatrixConversionMsg "none"
  125.   InvalidFcnCallConnMsg   "error"
  126.   SignalLabelMismatchMsg  "none"
  127.   UnconnectedInputMsg   "warning"
  128.   UnconnectedOutputMsg   "warning"
  129.   UnconnectedLineMsg   "warning"
  130.   SfunCompatibilityCheckMsg "none"
  131.   RTWInlineParameters   off
  132.   BlockReductionOpt   off
  133.   BooleanDataType   off
  134.   ConditionallyExecuteInputs on
  135.   ParameterPooling   on
  136.   OptimizeBlockIOStorage  on
  137.   ZeroCross   on
  138.   AssertionControl   "UseLocalSettings"
  139.   ProdHWDeviceType   "Microprocessor"
  140.   ProdHWWordLengths   "8,16,32,32"
  141.   RTWSystemTargetFile   "grt.tlc"
  142.   RTWTemplateMakefile   "grt_default_tmf"
  143.   RTWMakeCommand   "make_rtw"
  144.   RTWGenerateCodeOnly   off
  145.   RTWRetainRTWFile   off
  146.   TLCProfiler   off
  147.   TLCDebug   off
  148.   TLCCoverage   off
  149.   TLCAssertion   off
  150.   BlockDefaults {
  151.     Orientation     "right"
  152.     ForegroundColor     "black"
  153.     BackgroundColor     "white"
  154.     DropShadow     off
  155.     NamePlacement     "normal"
  156.     FontName     "Helvetica"
  157.     FontSize     10
  158.     FontWeight     "normal"
  159.     FontAngle     "normal"
  160.     ShowName     on
  161.   }
  162.   BlockParameterDefaults {
  163.     Block {
  164.       BlockType       Abs
  165.       SaturateOnIntegerOverflow on
  166.       ZeroCross       on
  167.     }
  168.     Block {
  169.       BlockType       Clock
  170.       DisplayTime       off
  171.     }
  172.     Block {
  173.       BlockType       Constant
  174.       Value       "1"
  175.       VectorParams1D       on
  176.       ShowAdditionalParam     off
  177.       OutDataTypeMode       "Inherit from 'Constant value'"
  178.       OutDataType       "sfix(16)"
  179.       ConRadixGroup       "Use specified scaling"
  180.       OutScaling       "2^0"
  181.     }
  182.     Block {
  183.       BlockType       Demux
  184.       Outputs       "4"
  185.       DisplayOption       "none"
  186.       BusSelectionMode       off
  187.     }
  188.     Block {
  189.       BlockType       DigitalClock
  190.       SampleTime       "1"
  191.     }
  192.     Block {
  193.       BlockType       DiscreteFilter
  194.       Numerator       "[1]"
  195.       Denominator       "[1 2]"
  196.       SampleTime       "1"
  197.       Realization       "auto"
  198.       RTWStateStorageClass    "Auto"
  199.     }
  200.     Block {
  201.       BlockType       Fcn
  202.       Expr       "sin(u[1])"
  203.     }
  204.     Block {
  205.       BlockType       Gain
  206.       Gain       "1"
  207.       Multiplication       "Element-wise(K.*u)"
  208.       ShowAdditionalParam     off
  209.       ParameterDataTypeMode   "Same as input"
  210.       ParameterDataType       "sfix(16)"
  211.       ParameterScalingMode    "Best Precision: Matrix-wise"
  212.       ParameterScaling       "2^0"
  213.       OutDataTypeMode       "Same as input"
  214.       OutDataType       "sfix(16)"
  215.       OutScaling       "2^0"
  216.       LockScale       off
  217.       RndMeth       "Floor"
  218.       SaturateOnIntegerOverflow on
  219.     }
  220.     Block {
  221.       BlockType       Inport
  222.       Port       "1"
  223.       PortDimensions       "-1"
  224.       SampleTime       "-1"
  225.       ShowAdditionalParam     off
  226.       LatchInput       off
  227.       DataType       "auto"
  228.       OutDataType       "sfix(16)"
  229.       OutScaling       "2^0"
  230.       SignalType       "auto"
  231.       SamplingMode       "auto"
  232.       Interpolate       on
  233.     }
  234.     Block {
  235.       BlockType       Logic
  236.       Operator       "AND"
  237.       Inputs       "2"
  238.       ShowAdditionalParam     off
  239.       AllPortsSameDT       on
  240.       OutDataTypeMode       "Logical (see Advanced Sim. Parameters)"
  241.       LogicDataType       "uint(8)"
  242.     }
  243.     Block {
  244.       BlockType       Mux
  245.       Inputs       "4"
  246.       DisplayOption       "none"
  247.     }
  248.     Block {
  249.       BlockType       Outport
  250.       Port       "1"
  251.       OutputWhenDisabled      "held"
  252.       InitialOutput       "[]"
  253.     }
  254.     Block {
  255.       BlockType       Product
  256.       Inputs       "2"
  257.       Multiplication       "Element-wise(.*)"
  258.       ShowAdditionalParam     off
  259.       InputSameDT       on
  260.       OutDataTypeMode       "Same as first input"
  261.       OutDataType       "sfix(16)"
  262.       OutScaling       "2^0"
  263.       LockScale       off
  264.       RndMeth       "Floor"
  265.       SaturateOnIntegerOverflow on
  266.     }
  267.     Block {
  268.       BlockType       RandomNumber
  269.       Mean       "0"
  270.       Variance       "1"
  271.       Seed       "0"
  272.       SampleTime       "-1"
  273.       VectorParams1D       on
  274.     }
  275.     Block {
  276.       BlockType       RelationalOperator
  277.       Operator       ">="
  278.       ShowAdditionalParam     off
  279.       InputSameDT       on
  280.       LogicOutDataTypeMode    "Logical (see Advanced Sim. Parameters)"
  281.       LogicDataType       "uint(8)"
  282.       ZeroCross       on
  283.     }
  284.     Block {
  285.       BlockType       Scope
  286.       Floating       off
  287.       ModelBased       off
  288.       TickLabels       "OneTimeTick"
  289.       ZoomMode       "on"
  290.       Grid       "on"
  291.       TimeRange       "auto"
  292.       YMin       "-5"
  293.       YMax       "5"
  294.       SaveToWorkspace       off
  295.       SaveName       "ScopeData"
  296.       LimitDataPoints       on
  297.       MaxDataPoints       "5000"
  298.       Decimation       "1"
  299.       SampleInput       off
  300.       SampleTime       "0"
  301.     }
  302.     Block {
  303.       BlockType       "S-Function"
  304.       FunctionName       "system"
  305.       PortCounts       "[]"
  306.       SFunctionModules       "''"
  307.     }
  308.     Block {
  309.       BlockType       StateSpace
  310.       A       "1"
  311.       B       "1"
  312.       C       "1"
  313.       D       "1"
  314.       X0       "0"
  315.       AbsoluteTolerance       "auto"
  316.       Realization       "auto"
  317.     }
  318.     Block {
  319.       BlockType       Step
  320.       Time       "1"
  321.       Before       "0"
  322.       After       "1"
  323.       SampleTime       "-1"
  324.       VectorParams1D       on
  325.       ZeroCross       on
  326.     }
  327.     Block {
  328.       BlockType       SubSystem
  329.       ShowPortLabels       on
  330.       Permissions       "ReadWrite"
  331.       RTWSystemCode       "Auto"
  332.       RTWFcnNameOpts       "Auto"
  333.       RTWFileNameOpts       "Auto"
  334.       SimViewingDevice       off
  335.       DataTypeOverride       "UseLocalSettings"
  336.       MinMaxOverflowLogging   "UseLocalSettings"
  337.     }
  338.     Block {
  339.       BlockType       Sum
  340.       IconShape       "rectangular"
  341.       Inputs       "++"
  342.       ShowAdditionalParam     off
  343.       InputSameDT       on
  344.       OutDataTypeMode       "Same as first input"
  345.       OutDataType       "sfix(16)"
  346.       OutScaling       "2^0"
  347.       LockScale       off
  348.       RndMeth       "Floor"
  349.       SaturateOnIntegerOverflow on
  350.     }
  351.     Block {
  352.       BlockType       Switch
  353.       Criteria       "u2 >= Threshold"
  354.       Threshold       "0"
  355.       ShowAdditionalParam     off
  356.       InputSameDT       on
  357.       OutDataTypeMode       "Inherit via internal rule"
  358.       RndMeth       "Floor"
  359.       SaturateOnIntegerOverflow on
  360.       ZeroCross       on
  361.     }
  362.     Block {
  363.       BlockType       Terminator
  364.     }
  365.     Block {
  366.       BlockType       UnitDelay
  367.       X0       "0"
  368.       SampleTime       "1"
  369.       RTWStateStorageClass    "Auto"
  370.     }
  371.     Block {
  372.       BlockType       ZeroOrderHold
  373.       SampleTime       "1"
  374.     }
  375.   }
  376.   AnnotationDefaults {
  377.     HorizontalAlignment     "center"
  378.     VerticalAlignment     "middle"
  379.     ForegroundColor     "black"
  380.     BackgroundColor     "white"
  381.     DropShadow     off
  382.     FontName     "Helvetica"
  383.     FontSize     10
  384.     FontWeight     "normal"
  385.     FontAngle     "normal"
  386.   }
  387.   LineDefaults {
  388.     FontName     "Helvetica"
  389.     FontSize     9
  390.     FontWeight     "normal"
  391.     FontAngle     "normal"
  392.   }
  393.   System {
  394.     Name     "asknyqmf"
  395.     Location     [23, 143, 1035, 419]
  396.     Open     on
  397.     ModelBrowserVisibility  off
  398.     ModelBrowserWidth     200
  399.     ScreenColor     "white"
  400.     PaperOrientation     "landscape"
  401.     PaperPositionMode     "auto"
  402.     PaperType     "usletter"
  403.     PaperUnits     "inches"
  404.     ZoomFactor     "100"
  405.     ReportName     "simulink-default.rpt"
  406.     Block {
  407.       BlockType       SubSystem
  408.       Name       "4-ASK"
  409.       Ports       [1, 1]
  410.       Position       [120, 104, 200, 146]
  411.       TreatAsAtomicUnit       off
  412.       MaskType       "M-ASK mapping"
  413.       MaskDescription       "Map a digital symbol onto an analognsignal in "
  414. "the range [-1, 1] using M-arynamplitude shift keying modulation mapping."
  415.       MaskHelp       "This block maps an input digit signal onto a si"
  416. "gnal in the range [-1, 1]. The coded signal can be modulated using analog\nm"
  417. "odulation blocks. Input digits are in the range [0, M-1], where M is the M-ar"
  418. "y number. The input symbol interval can be a two-element vector with the seco"
  419. "nd element being offset. The default value offset is 0. Use the MODMAP functi"
  420. "on to see the constellation."
  421.       MaskPromptString       "M-ary number (input integers in range [0, M-1])"
  422. ":|Input symbol interval and offset (sec):"
  423.       MaskStyleString       "edit,edit"
  424.       MaskTunableValueString  "on,on"
  425.       MaskCallbackString      "|"
  426.       MaskEnableString       "on,on"
  427.       MaskVisibilityString    "on,on"
  428.       MaskToolTipString       "on,on"
  429.       MaskVarAliasString      ","
  430.       MaskVariables       "N=@1;td=@2;"
  431.       MaskInitialization      "Ac=1;Kc=Ac*2/(N-1);"
  432.       MaskDisplay       "disp('MASK\nmapping')"
  433.       MaskIconFrame       on
  434.       MaskIconOpaque       on
  435.       MaskIconRotate       "none"
  436.       MaskIconUnits       "autoscale"
  437.       MaskValueString       "4|1"
  438.       System {
  439. Name "4-ASK"
  440. Location [148, 182, 646, 482]
  441. Open off
  442. ModelBrowserVisibility off
  443. ModelBrowserWidth 200
  444. ScreenColor "white"
  445. PaperOrientation "landscape"
  446. PaperPositionMode "auto"
  447. PaperType "usletter"
  448. PaperUnits "inches"
  449. ZoomFactor "100"
  450. Block {
  451.   BlockType   Inport
  452.   Name   "in_1"
  453.   Position   [60, 60, 80, 80]
  454. }
  455. Block {
  456.   BlockType   Gain
  457.   Name   "Gain"
  458.   Position   [200, 55, 240, 85]
  459.   Gain   "Kc"
  460. }
  461. Block {
  462.   BlockType   Constant
  463.   Name   "Gain diff"
  464.   Position   [200, 126, 235, 154]
  465.   Value   "Ac"
  466. }
  467. Block {
  468.   BlockType   Sum
  469.   Name   "Sum1"
  470.   Ports   [2, 1]
  471.   Position   [270, 93, 290, 117]
  472.   Inputs   "+-"
  473. }
  474. Block {
  475.   BlockType   ZeroOrderHold
  476.   Name   "Zero-OrdernHold"
  477.   Position   [120, 54, 155, 86]
  478.   SampleTime   "td"
  479. }
  480. Block {
  481.   BlockType   Outport
  482.   Name   "out_1"
  483.   Position   [335, 95, 355, 115]
  484. }
  485. Line {
  486.   SrcBlock   "Gain"
  487.   SrcPort   1
  488.   Points   [5, 0; 0, 30]
  489.   DstBlock   "Sum1"
  490.   DstPort   1
  491. }
  492. Line {
  493.   SrcBlock   "Gain diff"
  494.   SrcPort   1
  495.   Points   [10, 0; 0, -30]
  496.   DstBlock   "Sum1"
  497.   DstPort   2
  498. }
  499. Line {
  500.   SrcBlock   "Sum1"
  501.   SrcPort   1
  502.   DstBlock   "out_1"
  503.   DstPort   1
  504. }
  505. Line {
  506.   SrcBlock   "in_1"
  507.   SrcPort   1
  508.   DstBlock   "Zero-OrdernHold"
  509.   DstPort   1
  510. }
  511. Line {
  512.   SrcBlock   "Zero-OrdernHold"
  513.   SrcPort   1
  514.   DstBlock   "Gain"
  515.   DstPort   1
  516. }
  517.       }
  518.     }
  519.     Block {
  520.       BlockType       SubSystem
  521.       Name       "4-ASK demap"
  522.       Ports       [1, 1]
  523.       Position       [870, 109, 940, 151]
  524.       TreatAsAtomicUnit       off
  525.       MaskType       "MASK demapping"
  526.       MaskDescription       "Reverse the MASK mapping processnConvert [-1 1"
  527. "] analog signal to [0, M-1] symbols."
  528.       MaskHelp       "This block demaps a MASK mapped signal back to "
  529. "digit symbols. You can place this block after a amplitude demodulation block."
  530. " The input of this block is an analog signal in the range [-1, 1]. The demodu"
  531. "lation decides the closest integer fitting in [0,M-1] range. When the input s"
  532. "ymbol interval is a two-elements vector, the second element is offset. The de"
  533. "fault offset value is 0."
  534.       MaskPromptString       "M-ary number (digit integers in ranger [0, M-1]"
  535. "):|Output symbol interval and offset (sec):"
  536.       MaskStyleString       "edit,edit"
  537.       MaskTunableValueString  "on,on"
  538.       MaskCallbackString      "|"
  539.       MaskEnableString       "on,on"
  540.       MaskVisibilityString    "on,on"
  541.       MaskToolTipString       "on,on"
  542.       MaskVarAliasString      ","
  543.       MaskVariables       "N=@1;td=@2;"
  544.       MaskInitialization      "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
  545.       MaskDisplay       "disp('MASK\ndemapping')"
  546.       MaskIconFrame       on
  547.       MaskIconOpaque       on
  548.       MaskIconRotate       "none"
  549.       MaskIconUnits       "autoscale"
  550.       MaskValueString       "4|[1, .9]"
  551.       System {
  552. Name "4-ASK demap"
  553. Location [617, 158, 1115, 458]
  554. Open off
  555. ModelBrowserVisibility off
  556. ModelBrowserWidth 200
  557. ScreenColor "white"
  558. PaperOrientation "landscape"
  559. PaperPositionMode "auto"
  560. PaperType "usletter"
  561. PaperUnits "inches"
  562. ZoomFactor "100"
  563. Block {
  564.   BlockType   Inport
  565.   Name   "in_1"
  566.   Position   [40, 30, 60, 50]
  567. }
  568. Block {
  569.   BlockType   Abs
  570.   Name   "Abs"
  571.   Position   [245, 37, 280, 63]
  572. }
  573. Block {
  574.   BlockType   "S-Function"
  575.   Name   "Minimum"
  576.   Ports   [1, 1]
  577.   Position   [325, 40, 380, 60]
  578.   FunctionName   "arymimai"
  579.   Parameters   "'min'"
  580. }
  581. Block {
  582.   BlockType   Constant
  583.   Name   "Shift key"
  584.   Position   [125, 88, 145, 112]
  585.   Value   "sft"
  586. }
  587. Block {
  588.   BlockType   Sum
  589.   Name   "Sum2"
  590.   Ports   [2, 1]
  591.   Position   [190, 33, 210, 62]
  592.   Inputs   "+-"
  593. }
  594. Block {
  595.   BlockType   ZeroOrderHold
  596.   Name   "Zero-OrdernHold"
  597.   Position   [95, 24, 130, 56]
  598.   SampleTime   "td"
  599. }
  600. Block {
  601.   BlockType   Outport
  602.   Name   "out_1"
  603.   Position   [410, 40, 430, 60]
  604. }
  605. Line {
  606.   SrcBlock   "in_1"
  607.   SrcPort   1
  608.   DstBlock   "Zero-OrdernHold"
  609.   DstPort   1
  610. }
  611. Line {
  612.   SrcBlock   "Abs"
  613.   SrcPort   1
  614.   DstBlock   "Minimum"
  615.   DstPort   1
  616. }
  617. Line {
  618.   SrcBlock   "Zero-OrdernHold"
  619.   SrcPort   1
  620.   DstBlock   "Sum2"
  621.   DstPort   1
  622. }
  623. Line {
  624.   SrcBlock   "Minimum"
  625.   SrcPort   1
  626.   DstBlock   "out_1"
  627.   DstPort   1
  628. }
  629. Line {
  630.   SrcBlock   "Shift key"
  631.   SrcPort   1
  632.   Points   [15, 0; 0, -45]
  633.   DstBlock   "Sum2"
  634.   DstPort   2
  635. }
  636. Line {
  637.   SrcBlock   "Sum2"
  638.   SrcPort   1
  639.   DstBlock   "Abs"
  640.   DstPort   1
  641. }
  642.       }
  643.     }
  644.     Block {
  645.       BlockType       SubSystem
  646.       Name       "4-ary source"
  647.       Ports       [0, 2]
  648.       Position       [40, 101, 70, 154]
  649.       ShowPortLabels       off
  650.       TreatAsAtomicUnit       off
  651.       System {
  652. Name "4-ary source"
  653. Location [122, 460, 659, 699]
  654. Open off
  655. ModelBrowserVisibility off
  656. ModelBrowserWidth 200
  657. ScreenColor "white"
  658. PaperOrientation "landscape"
  659. PaperPositionMode "auto"
  660. PaperType "usletter"
  661. PaperUnits "inches"
  662. ZoomFactor "100"
  663. Block {
  664.   BlockType   SubSystem
  665.   Name   "Bits"
  666.   Ports   [0, 1]
  667.   Position   [25, 48, 85, 92]
  668.   ShowPortLabels   off
  669.   TreatAsAtomicUnit   off
  670.   MaskType   "Read from workspace"
  671.   MaskDescription   "Read from a workspace variable atnsampling"
  672. " time point."
  673.   MaskHelp   "This block reads from a workspace variable "
  674. "at a given sample time. The column number is the block output vector length. "
  675. "When the simulation reaches the end of the variable (eof), the block will cyc"
  676. "lically output from the first row of the variable or output zeros based on th"
  677. "e repeat flag entree."
  678.   MaskPromptString   "Variable (column_number=block_output_length"
  679. "):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output zero"
  680. "s after eof).|Initial output:"
  681.   MaskStyleString   "edit,edit,edit,edit"
  682.   MaskTunableValueString  "on,on,on,on"
  683.   MaskCallbackString   "|||"
  684.   MaskEnableString   "on,on,on,on"
  685.   MaskVisibilityString   "on,on,on,on"
  686.   MaskToolTipString   "on,on,on,on"
  687.   MaskVarAliasString   ",,,"
  688.   MaskInitialization   "var=@1;td=@2;ts=td(1);if (length(td)>=2),of"
  689. "f=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
  690.   MaskDisplay   "plot(0,0,100,100,x,y);disp('Rd wksp')"
  691.   MaskIconFrame   on
  692.   MaskIconOpaque   on
  693.   MaskIconRotate   "none"
  694.   MaskIconUnits   "autoscale"
  695.   MaskValueString   "randint(2000,1,2)|.5|1|1"
  696.   System {
  697.     Name     "Bits"
  698.     Location     [355, 528, 737, 675]
  699.     Open     off
  700.     ModelBrowserVisibility  off
  701.     ModelBrowserWidth     200
  702.     ScreenColor     "white"
  703.     PaperOrientation     "landscape"
  704.     PaperPositionMode     "auto"
  705.     PaperType     "usletter"
  706.     PaperUnits     "inches"
  707.     ZoomFactor     "100"
  708.     Block {
  709.       BlockType       "S-Function"
  710.       Name       "Message source"
  711.       Ports       [1, 1]
  712.       Position       [180, 53, 255, 97]
  713.       BackgroundColor       "yellow"
  714.       FunctionName       "trigwksp"
  715.       Parameters       "var,thd,cyclFlag,ini"
  716.       MaskType       "Read from workspace"
  717.       MaskDescription       "The raising edge of input pulse trigger"
  718. " the block output the next row from the workspace variable."
  719.       MaskHelp       "This block reads the data from a worksp"
  720. "ace variable. The output is refreshed at the raising edge of the input pulse."
  721.       MaskPromptString       "Read the variable:|Threshold for the in"
  722. "put pulse:|Cyclic read variable (1) or amend zeros (0).|Output before first t"
  723. "rigger:"
  724.       MaskStyleString       "edit,edit,edit,edit"
  725.       MaskTunableValueString  "on,on,on,on"
  726.       MaskCallbackString      "|||"
  727.       MaskEnableString       "on,on,on,on"
  728.       MaskVisibilityString    "on,on,on,on"
  729.       MaskToolTipString       "on,on,on,on"
  730.       MaskVarAliasString      ",,,"
  731.       MaskInitialization      "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
  732.       MaskDisplay       "disp('Triggered\nread')"
  733.       MaskIconFrame       on
  734.       MaskIconOpaque       on
  735.       MaskIconRotate       "none"
  736.       MaskIconUnits       "autoscale"
  737.       MaskValueString       "var|.1|cyc|ini"
  738.     }
  739.     Block {
  740.       BlockType       SubSystem
  741.       Name       "Pulses deividensame sample time1"
  742.       Ports       [0, 1]
  743.       Position       [50, 56, 110, 94]
  744.       ShowPortLabels       off
  745.       TreatAsAtomicUnit       off
  746.       MaskType       "Pulse generator"
  747.       MaskDescription       "Vector pulses with sample rate of each "
  748. "pulse as Sample_time ./Divider. "
  749.       MaskHelp       "This block generator a vector pulses. T"
  750. "he output length is the same as the vector defined in "Divider". The ith el"
  751. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  752. "in "Divider" must be integers."
  753.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  754. "eger vector):|Offset (have same dimension as Divider:"
  755.       MaskStyleString       "edit,edit,edit"
  756.       MaskTunableValueString  "on,on,on"
  757.       MaskCallbackString      "||"
  758.       MaskEnableString       "on,on,on"
  759.       MaskVisibilityString    "on,on,on"
  760.       MaskToolTipString       "on,on,on"
  761.       MaskVarAliasString      ",,"
  762.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  763.       MaskDisplay       "disp('Vector\nPulse')"
  764.       MaskIconFrame       on
  765.       MaskIconOpaque       on
  766.       MaskIconRotate       "none"
  767.       MaskIconUnits       "autoscale"
  768.       MaskValueString       "ts|1|off"
  769.       System {
  770. Name "Pulses deividensame sample time1"
  771. Location [55, 192, 283, 286]
  772. Open off
  773. ModelBrowserVisibility off
  774. ModelBrowserWidth 200
  775. ScreenColor "white"
  776. PaperOrientation "landscape"
  777. PaperPositionMode "auto"
  778. PaperType "usletter"
  779. PaperUnits "inches"
  780. ZoomFactor "100"
  781. Block {
  782.   BlockType   "S-Function"
  783.   Name   "S-function1"
  784.   Ports   [0, 1]
  785.   Position   [40, 31, 105, 59]
  786.   FunctionName   "homopuls"
  787.   Parameters   "samp_time, out_divid, offset"
  788. }
  789. Block {
  790.   BlockType   Outport
  791.   Name   "Outport"
  792.   Position   [160, 35, 180, 55]
  793. }
  794. Line {
  795.   SrcBlock   "S-function1"
  796.   SrcPort   1
  797.   DstBlock   "Outport"
  798.   DstPort   1
  799. }
  800.       }
  801.     }
  802.     Block {
  803.       BlockType       Outport
  804.       Name       "out_1"
  805.       Position       [295, 65, 315, 85]
  806.     }
  807.     Line {
  808.       SrcBlock       "Pulses deividensame sample time1"
  809.       SrcPort       1
  810.       DstBlock       "Message source"
  811.       DstPort       1
  812.     }
  813.     Line {
  814.       SrcBlock       "Message source"
  815.       SrcPort       1
  816.       DstBlock       "out_1"
  817.       DstPort       1
  818.     }
  819.   }
  820. }
  821. Block {
  822.   BlockType   "S-Function"
  823.   Name   "D/A "
  824.   Ports   [1, 1]
  825.   Position   [370, 128, 450, 172]
  826.   FunctionName   "simbi2de"
  827.   Parameters   "p"
  828.   MaskType   "Base M vector to decimal integer"
  829.   MaskDescription   "Convert base M integer with eachnposition "
  830. "in the input vector into scalar decimal output."
  831.   MaskHelp   "This block convert the base M vector into s"
  832. "calar decimal integer output. Each element of the input vector is one positio"
  833. "n of the digit of the base M integer. The 1st element in the input vector con"
  834. "tains the 1's position. The 2nd element in the input vector contains the M's "
  835. "position."
  836.   MaskPromptString   "Input integer base M:"
  837.   MaskStyleString   "edit"
  838.   MaskTunableValueString  "on"
  839.   MaskEnableString   "on"
  840.   MaskVisibilityString   "on"
  841.   MaskToolTipString   "on"
  842.   MaskInitialization   "p=@1;"
  843.   MaskDisplay   "disp('Vec to sca\nconverter')"
  844.   MaskIconFrame   on
  845.   MaskIconOpaque   on
  846.   MaskIconRotate   "none"
  847.   MaskIconUnits   "autoscale"
  848.   MaskValueString   "2"
  849. }
  850. Block {
  851.   BlockType   SubSystem
  852.   Name   "Shift register"
  853.   Ports   [2, 2]
  854.   Position   [120, 133, 200, 177]
  855.   ShowPortLabels   off
  856.   TreatAsAtomicUnit   off
  857.   MaskType   "Register-shift"
  858.   MaskDescription   "The rising edge of the 2nd port pulsentrig"
  859. "gers the block to input the 1st port data and to shift the register."
  860.   MaskHelp   "This block stores the scalar input signal f"
  861. "rom the 1st input port at the rising edge of the pulse from the 2nd port. The"
  862. " 1st outport outputs a vector with its size the same as the "Delay steps" e"
  863. "ntree of this block. The maximum delay is the register size of this block. Th"
  864. "e second outport outputs a positive pulse when the register is\nrefreshed."
  865.   MaskPromptString   "Delay steps (output length is same as this "
  866. "vector size):|Threshold in detecting the rising edge of the pulse:"
  867.   MaskStyleString   "edit,edit"
  868.   MaskTunableValueString  "on,on"
  869.   MaskCallbackString   "|"
  870.   MaskEnableString   "on,on"
  871.   MaskVisibilityString   "on,on"
  872.   MaskToolTipString   "on,on"
  873.   MaskVarAliasString   ","
  874.   MaskInitialization   "shft_out=@1;thrhld=@2;len_rg=length(@1);[v,"
  875. "w]=trigicon(0,25,get_param(gcb,'orientation'),2);[x,y]=trigicon(1,75,get_para"
  876. "m(gcb,'orientation'),2);"
  877.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);disp('Reg. shift'"
  878. ")"
  879.   MaskIconFrame   on
  880.   MaskIconOpaque   on
  881.   MaskIconRotate   "none"
  882.   MaskIconUnits   "autoscale"
  883.   MaskValueString   "[2 1]|1"
  884.   System {
  885.     Name     "Shift register"
  886.     Location     [19, 610, 374, 740]
  887.     Open     off
  888.     ModelBrowserVisibility  off
  889.     ModelBrowserWidth     200
  890.     ScreenColor     "white"
  891.     PaperOrientation     "landscape"
  892.     PaperPositionMode     "auto"
  893.     PaperType     "usletter"
  894.     PaperUnits     "inches"
  895.     ZoomFactor     "100"
  896.     Block {
  897.       BlockType       Inport
  898.       Name       "in_1"
  899.       Position       [30, 55, 50, 75]
  900.     }
  901.     Block {
  902.       BlockType       Inport
  903.       Name       "in_2"
  904.       Position       [30, 70, 50, 90]
  905.       Port       "2"
  906.     }
  907.     Block {
  908.       BlockType       Demux
  909.       Name       "Demux"
  910.       Ports       [1, 2]
  911.       Position       [260, 55, 300, 90]
  912.       Outputs       "[len_rg, 1]"
  913.     }
  914.     Block {
  915.       BlockType       Mux
  916.       Name       "Mux"
  917.       Ports       [2, 1]
  918.       Position       [80, 56, 115, 89]
  919.       Inputs       "2"
  920.     }
  921.     Block {
  922.       BlockType       "S-Function"
  923.       Name       "S-function"
  924.       Ports       [1, 1]
  925.       Position       [150, 65, 200, 85]
  926.       FunctionName       "regshift"
  927.       Parameters       "shft_out, thrhld"
  928.     }
  929.     Block {
  930.       BlockType       Outport
  931.       Name       "out_1"
  932.       Position       [330, 55, 350, 75]
  933.     }
  934.     Block {
  935.       BlockType       Outport
  936.       Name       "out_2"
  937.       Position       [330, 70, 350, 90]
  938.       Port       "2"
  939.     }
  940.     Line {
  941.       SrcBlock       "in_2"
  942.       SrcPort       1
  943.       DstBlock       "Mux"
  944.       DstPort       2
  945.     }
  946.     Line {
  947.       SrcBlock       "in_1"
  948.       SrcPort       1
  949.       DstBlock       "Mux"
  950.       DstPort       1
  951.     }
  952.     Line {
  953.       SrcBlock       "Demux"
  954.       SrcPort       2
  955.       DstBlock       "out_2"
  956.       DstPort       1
  957.     }
  958.     Line {
  959.       SrcBlock       "Demux"
  960.       SrcPort       1
  961.       DstBlock       "out_1"
  962.       DstPort       1
  963.     }
  964.     Line {
  965.       SrcBlock       "S-function"
  966.       SrcPort       1
  967.       DstBlock       "Demux"
  968.       DstPort       1
  969.     }
  970.     Line {
  971.       SrcBlock       "Mux"
  972.       SrcPort       1
  973.       DstBlock       "S-function"
  974.       DstPort       1
  975.     }
  976.   }
  977. }
  978. Block {
  979.   BlockType   Terminator
  980.   Name   "Terminator"
  981.   Position   [475, 195, 495, 215]
  982. }
  983. Block {
  984.   BlockType   SubSystem
  985.   Name   "clock"
  986.   Ports   [0, 1]
  987.   Position   [35, 147, 70, 183]
  988.   ShowPortLabels   off
  989.   TreatAsAtomicUnit   off
  990.   MaskType   "Pulse Generator"
  991.   MaskDescription   "Pulse Generator."
  992.   MaskHelp   "Pulse generator which ensures pulse\ntrans"
  993. "itions are hit. Provides a vector of pulses when the height is entered as a v"
  994. "ector.\nUnmask to see how it works."
  995.   MaskPromptString   "Pulse period (secs):|Pulse width:|Pulse hei"
  996. "ght:|Pulse start time:"
  997.   MaskStyleString   "edit,edit,edit,edit"
  998.   MaskTunableValueString  "on,on,on,on"
  999.   MaskCallbackString   "|||"
  1000.   MaskEnableString   "on,on,on,on"
  1001.   MaskVisibilityString   "on,on,on,on"
  1002.   MaskToolTipString   "on,on,on,on"
  1003.   MaskVarAliasString   ",,,"
  1004.   MaskInitialization   "Ts=@1; du=@2; ht=@3; stt=@4; ini=ones(lengt"
  1005. "h(ht),1); st1=rem(stt,Ts); st2=rem(stt+du,Ts);if(Ts<=1.2*du),ini=zeros(length"
  1006. "(ht),1);end;"
  1007.   MaskDisplay   "plot(0,0,100,100,[90,75,75,60,60,35,35,20,2"
  1008. "0,10],[20,20,80,80,20,20,80,80,20,20])"
  1009.   MaskIconFrame   on
  1010.   MaskIconOpaque   on
  1011.   MaskIconRotate   "none"
  1012.   MaskIconUnits   "autoscale"
  1013.   MaskValueString   ".5|.25|1|0"
  1014.   System {
  1015.     Name     "clock"
  1016.     Location     [158, 441, 759, 682]
  1017.     Open     off
  1018.     ModelBrowserVisibility  off
  1019.     ModelBrowserWidth     200
  1020.     ScreenColor     "white"
  1021.     PaperOrientation     "landscape"
  1022.     PaperPositionMode     "auto"
  1023.     PaperType     "usletter"
  1024.     PaperUnits     "inches"
  1025.     ZoomFactor     "100"
  1026.     Block {
  1027.       BlockType       Clock
  1028.       Name       "Clock1"
  1029.       Position       [295, 100, 315, 120]
  1030.       ShowName       off
  1031.       Decimation       "10"
  1032.     }
  1033.     Block {
  1034.       BlockType       Constant
  1035.       Name       "Constant"
  1036.       Position       [25, 30, 45, 50]
  1037.     }
  1038.     Block {
  1039.       BlockType       Constant
  1040.       Name       "Constant1"
  1041.       Position       [295, 149, 320, 171]
  1042.       Value       "stt"
  1043.     }
  1044.     Block {
  1045.       BlockType       Gain
  1046.       Name       "Gain"
  1047.       Position       [510, 102, 535, 128]
  1048.       ShowName       off
  1049.       Gain       "ht"
  1050.     }
  1051.     Block {
  1052.       BlockType       Logic
  1053.       Name       "LogicalnOperator"
  1054.       Ports       [2, 1]
  1055.       Position       [285, 38, 315, 62]
  1056.       Operator       "XOR"
  1057.     }
  1058.     Block {
  1059.       BlockType       Logic
  1060.       Name       "LogicalnOperator1"
  1061.       Ports       [1, 1]
  1062.       Position       [355, 38, 385, 62]
  1063.       Operator       "NOT"
  1064.       Inputs       "1"
  1065.     }
  1066.     Block {
  1067.       BlockType       Product
  1068.       Name       "Product"
  1069.       Ports       [2, 1]
  1070.       Position       [455, 105, 480, 125]
  1071.       ShowName       off
  1072.     }
  1073.     Block {
  1074.       BlockType       RelationalOperator
  1075.       Name       "Relationalnoperator"
  1076.       Position       [370, 102, 400, 133]
  1077.       ShowName       off
  1078.     }
  1079.     Block {
  1080.       BlockType       Sum
  1081.       Name       "Sum"
  1082.       Ports       [2, 1]
  1083.       Position       [135, 35, 155, 55]
  1084.       ShowName       off
  1085.       Inputs       "+-"
  1086.     }
  1087.     Block {
  1088.       BlockType       Sum
  1089.       Name       "Sum1"
  1090.       Ports       [2, 1]
  1091.       Position       [130, 120, 150, 140]
  1092.       ShowName       off
  1093.       Inputs       "+-"
  1094.     }
  1095.     Block {
  1096.       BlockType       UnitDelay
  1097.       Name       "Unit Delay"
  1098.       Position       [145, 75, 195, 95]
  1099.       Orientation       "left"
  1100.       SampleTime       "[Ts,st1]"
  1101.     }
  1102.     Block {
  1103.       BlockType       UnitDelay
  1104.       Name       "Unit Delay1"
  1105.       Position       [140, 165, 190, 185]
  1106.       Orientation       "left"
  1107.       X0       "ini"
  1108.       SampleTime       "[Ts,st2]"
  1109.     }
  1110.     Block {
  1111.       BlockType       Outport
  1112.       Name       "out_1"
  1113.       Position       [560, 105, 580, 125]
  1114.       ShowName       off
  1115.     }
  1116.     Line {
  1117.       SrcBlock       "LogicalnOperator1"
  1118.       SrcPort       1
  1119.       Points       [40, 0; 0, 60]
  1120.       DstBlock       "Product"
  1121.       DstPort       1
  1122.     }
  1123.     Line {
  1124.       SrcBlock       "LogicalnOperator"
  1125.       SrcPort       1
  1126.       DstBlock       "LogicalnOperator1"
  1127.       DstPort       1
  1128.     }
  1129.     Line {
  1130.       SrcBlock       "Constant1"
  1131.       SrcPort       1
  1132.       Points       [20, 0; 0, -35]
  1133.       DstBlock       "Relationalnoperator"
  1134.       DstPort       2
  1135.     }
  1136.     Line {
  1137.       SrcBlock       "Gain"
  1138.       SrcPort       1
  1139.       DstBlock       "out_1"
  1140.       DstPort       1
  1141.     }
  1142.     Line {
  1143.       SrcBlock       "Product"
  1144.       SrcPort       1
  1145.       DstBlock       "Gain"
  1146.       DstPort       1
  1147.     }
  1148.     Line {
  1149.       SrcBlock       "Relationalnoperator"
  1150.       SrcPort       1
  1151.       DstBlock       "Product"
  1152.       DstPort       2
  1153.     }
  1154.     Line {
  1155.       SrcBlock       "Clock1"
  1156.       SrcPort       1
  1157.       DstBlock       "Relationalnoperator"
  1158.       DstPort       1
  1159.     }
  1160.     Line {
  1161.       SrcBlock       "Unit Delay"
  1162.       SrcPort       1
  1163.       Points       [-35, 0; 0, -35]
  1164.       DstBlock       "Sum"
  1165.       DstPort       2
  1166.     }
  1167.     Line {
  1168.       SrcBlock       "Sum"
  1169.       SrcPort       1
  1170.       Points       [0, 0]
  1171.       Branch {
  1172. Points [70, 0; 0, 40]
  1173. DstBlock "Unit Delay"
  1174. DstPort 1
  1175.       }
  1176.       Branch {
  1177. DstBlock "LogicalnOperator"
  1178. DstPort 1
  1179.       }
  1180.     }
  1181.     Line {
  1182.       SrcBlock       "Constant"
  1183.       SrcPort       1
  1184.       Points       [0, 0]
  1185.       Branch {
  1186. DstBlock "Sum"
  1187. DstPort 1
  1188.       }
  1189.       Branch {
  1190. Points [20, 0; 0, 85]
  1191. DstBlock "Sum1"
  1192. DstPort 1
  1193.       }
  1194.     }
  1195.     Line {
  1196.       SrcBlock       "Sum1"
  1197.       SrcPort       1
  1198.       Points       [0, 0]
  1199.       Branch {
  1200. Points [55, 0; 0, 45]
  1201. DstBlock "Unit Delay1"
  1202. DstPort 1
  1203.       }
  1204.       Branch {
  1205. Points [90, 0; 0, -75]
  1206. DstBlock "LogicalnOperator"
  1207. DstPort 2
  1208.       }
  1209.     }
  1210.     Line {
  1211.       SrcBlock       "Unit Delay1"
  1212.       SrcPort       1
  1213.       Points       [-35, 0; 0, -40]
  1214.       DstBlock       "Sum1"
  1215.       DstPort       2
  1216.     }
  1217.   }
  1218. }
  1219. Block {
  1220.   BlockType   SubSystem
  1221.   Name   "delay"
  1222.   Ports   [1, 1]
  1223.   Position   [260, 48, 340, 92]
  1224.   ShowPortLabels   off
  1225.   TreatAsAtomicUnit   off
  1226.   MaskType   "Multi-step delay"
  1227.   MaskDescription   "Output is K-step delay of the input signal."
  1228.   MaskHelp   "This block holds the input signal for K ste"
  1229. "ps and then outputs the signal. The delay step cannot be changed during the s"
  1230. "imulation."
  1231.   MaskPromptString   "Delay steps (integer):|Sample time (sec):|I"
  1232. "nitial output:"
  1233.   MaskStyleString   "edit,edit,edit"
  1234.   MaskTunableValueString  "on,on,on"
  1235.   MaskCallbackString   "||"
  1236.   MaskEnableString   "on,on,on"
  1237.   MaskVisibilityString   "on,on,on"
  1238.   MaskToolTipString   "on,on,on"
  1239.   MaskVarAliasString   ",,"
  1240.   MaskInitialization   "n=@1;ts=@2;if length(ts)<2, ts=[ts 0];end;i"
  1241. "ni=@3;"
  1242.   MaskDisplay   "disp('-k\nz   ')"
  1243.   MaskIconFrame   on
  1244.   MaskIconOpaque   on
  1245.   MaskIconRotate   "none"
  1246.   MaskIconUnits   "autoscale"
  1247.   MaskValueString   "2|.5|0"
  1248.   System {
  1249.     Name     "delay"
  1250.     Location     [12, 432, 357, 702]
  1251.     Open     off
  1252.     ModelBrowserVisibility  off
  1253.     ModelBrowserWidth     200
  1254.     ScreenColor     "white"
  1255.     PaperOrientation     "landscape"
  1256.     PaperPositionMode     "auto"
  1257.     PaperType     "usletter"
  1258.     PaperUnits     "inches"
  1259.     ZoomFactor     "100"
  1260.     Block {
  1261.       BlockType       Inport
  1262.       Name       "in_1"
  1263.       Position       [20, 80, 40, 100]
  1264.     }
  1265.     Block {
  1266.       BlockType       Constant
  1267.       Name       "Constant"
  1268.       Position       [120, 230, 140, 250]
  1269.       Value       "ini"
  1270.     }
  1271.     Block {
  1272.       BlockType       Constant
  1273.       Name       "Constant1"
  1274.       Position       [15, 194, 100, 216]
  1275.       Value       "n*ts(1)+ts(2)"
  1276.     }
  1277.     Block {
  1278.       BlockType       DigitalClock
  1279.       Name       "Digital Clock"
  1280.       Position       [60, 140, 95, 170]
  1281.       SampleTime       "ts"
  1282.     }
  1283.     Block {
  1284.       BlockType       DiscreteFilter
  1285.       Name       "K-stepndelay"
  1286.       Position       [60, 70, 185, 110]
  1287.       Numerator       "[zeros(1,n), 1]"
  1288.       Denominator       "1"
  1289.       SampleTime       "ts"
  1290.     }
  1291.     Block {
  1292.       BlockType       RelationalOperator
  1293.       Name       "RelationalnOperator"
  1294.       Position       [150, 168, 180, 192]
  1295.     }
  1296.     Block {
  1297.       BlockType       Switch
  1298.       Name       "Switch"
  1299.       Position       [270, 114, 295, 146]
  1300.       Threshold       ".1"
  1301.     }
  1302.     Block {
  1303.       BlockType       Outport
  1304.       Name       "out_1"
  1305.       Position       [325, 120, 345, 140]
  1306.     }
  1307.     Line {
  1308.       SrcBlock       "Switch"
  1309.       SrcPort       1
  1310.       DstBlock       "out_1"
  1311.       DstPort       1
  1312.     }
  1313.     Line {
  1314.       SrcBlock       "in_1"
  1315.       SrcPort       1
  1316.       DstBlock       "K-stepndelay"
  1317.       DstPort       1
  1318.     }
  1319.     Line {
  1320.       SrcBlock       "K-stepndelay"
  1321.       SrcPort       1
  1322.       Points       [5, 0; 0, 30]
  1323.       DstBlock       "Switch"
  1324.       DstPort       1
  1325.     }
  1326.     Line {
  1327.       SrcBlock       "Constant"
  1328.       SrcPort       1
  1329.       Points       [95, 0; 0, -100]
  1330.       DstBlock       "Switch"
  1331.       DstPort       3
  1332.     }
  1333.     Line {
  1334.       SrcBlock       "Digital Clock"
  1335.       SrcPort       1
  1336.       Points       [15, 0; 0, 20]
  1337.       DstBlock       "RelationalnOperator"
  1338.       DstPort       1
  1339.     }
  1340.     Line {
  1341.       SrcBlock       "Constant1"
  1342.       SrcPort       1
  1343.       Points       [10, 0; 0, -20]
  1344.       DstBlock       "RelationalnOperator"
  1345.       DstPort       2
  1346.     }
  1347.     Line {
  1348.       SrcBlock       "RelationalnOperator"
  1349.       SrcPort       1
  1350.       Points       [35, 0; 0, -50]
  1351.       DstBlock       "Switch"
  1352.       DstPort       2
  1353.     }
  1354.   }
  1355. }
  1356. Block {
  1357.   BlockType   SubSystem
  1358.   Name   "hold"
  1359.   Ports   [3, 2]
  1360.   Position   [260, 138, 340, 182]
  1361.   ShowPortLabels   off
  1362.   TreatAsAtomicUnit   off
  1363.   MaskType   "Triggered buffer down"
  1364.   MaskDescription   "Rising edge of the 2nd port triggers 1st po"
  1365. "rt vector signal in. Rising edge of the 3rd port triggers 1st outport signal "
  1366. "out."
  1367.   MaskHelp   "The block refreshes its registers with the "
  1368. "vector input from the 1st inport at the rising edge of the 2nd inport pulse. "
  1369. "The 1st outport outputs the elements of the registers starting with the given"
  1370. " initial index. The rising edge of the 3rd inport pulse triggers the 1st outp"
  1371. "ut to output the register value with the index increasing the increment value"
  1372. ". The second outport outputs a spike pulse when the internal register is refr"
  1373. "eshed."
  1374.   MaskPromptString   "Input signal vector size:|Initial index (in"
  1375. "teger vector):|Increment for each index (integer vector):|Trigger threshold:|"
  1376. "When index exceed register size, 1: cyclic out, 0: zero out:"
  1377.   MaskStyleString   "edit,edit,edit,edit,edit"
  1378.   MaskTunableValueString  "on,on,on,on,on"
  1379.   MaskCallbackString   "||||"
  1380.   MaskEnableString   "on,on,on,on,on"
  1381.   MaskVisibilityString   "on,on,on,on,on"
  1382.   MaskToolTipString   "on,on,on,on,on"
  1383.   MaskVarAliasString   ",,,,"
  1384.   MaskInitialization   "in_size=@1;ini_idx=@2;idx_inc=@3;thrshld=@4"
  1385. ";cycl_flag=@5;out_size=length(ini_idx);[v,w]=trigicon(0,25,get_param(gcb,'ori"
  1386. "entation'),2);[x,y]=trigicon(1,75,get_param(gcb,'orientation'),2);[u,z]=trigi"
  1387. "con(0,50,get_param(gcb,'orientation'),2);"
  1388.   MaskDisplay   "plot(0,0,100,100,x,y,v,w,u,z);disp('Buffer "
  1389. "dwn')"
  1390.   MaskIconFrame   on
  1391.   MaskIconOpaque   on
  1392.   MaskIconRotate   "none"
  1393.   MaskIconUnits   "autoscale"
  1394.   MaskValueString   "2|[1 0]|[0 0]|1|0"
  1395.   System {
  1396.     Name     "hold"
  1397.     Location     [22, 74, 460, 244]
  1398.     Open     off
  1399.     ModelBrowserVisibility  off
  1400.     ModelBrowserWidth     200
  1401.     ScreenColor     "white"
  1402.     PaperOrientation     "landscape"
  1403.     PaperPositionMode     "auto"
  1404.     PaperType     "usletter"
  1405.     PaperUnits     "inches"
  1406.     ZoomFactor     "100"
  1407.     Block {
  1408.       BlockType       Inport
  1409.       Name       "in_1"
  1410.       Position       [15, 55, 35, 75]
  1411.     }
  1412.     Block {
  1413.       BlockType       Inport
  1414.       Name       "in_2"
  1415.       Position       [40, 70, 60, 90]
  1416.       Port       "2"
  1417.     }
  1418.     Block {
  1419.       BlockType       Inport
  1420.       Name       "in_3"
  1421.       Position       [65, 85, 85, 105]
  1422.       Port       "3"
  1423.     }
  1424.     Block {
  1425.       BlockType       Demux
  1426.       Name       "Demux"
  1427.       Ports       [1, 2]
  1428.       Position       [290, 62, 330, 98]
  1429.       Outputs       "[out_size 1]"
  1430.     }
  1431.     Block {
  1432.       BlockType       Mux
  1433.       Name       "Mux"
  1434.       Ports       [3, 1]
  1435.       Position       [110, 59, 140, 101]
  1436.       Inputs       "[in_size 1 1]"
  1437.     }
  1438.     Block {
  1439.       BlockType       "S-Function"
  1440.       Name       "S-function"
  1441.       Ports       [1, 1]
  1442.       Position       [185, 70, 235, 90]
  1443.       FunctionName       "regdown"
  1444.       Parameters       "ini_idx, idx_inc, thrshld, cycl_flag"
  1445.     }
  1446.     Block {
  1447.       BlockType       Outport
  1448.       Name       "out_1"
  1449.       Position       [390, 60, 410, 80]
  1450.     }
  1451.     Block {
  1452.       BlockType       Outport
  1453.       Name       "out_2"
  1454.       Position       [355, 80, 375, 100]
  1455.       Port       "2"
  1456.     }
  1457.     Line {
  1458.       SrcBlock       "S-function"
  1459.       SrcPort       1
  1460.       DstBlock       "Demux"
  1461.       DstPort       1
  1462.     }
  1463.     Line {
  1464.       SrcBlock       "Mux"
  1465.       SrcPort       1
  1466.       DstBlock       "S-function"
  1467.       DstPort       1
  1468.     }
  1469.     Line {
  1470.       SrcBlock       "in_1"
  1471.       SrcPort       1
  1472.       DstBlock       "Mux"
  1473.       DstPort       1
  1474.     }
  1475.     Line {
  1476.       SrcBlock       "Demux"
  1477.       SrcPort       1
  1478.       DstBlock       "out_1"
  1479.       DstPort       1
  1480.     }
  1481.     Line {
  1482.       SrcBlock       "in_2"
  1483.       SrcPort       1
  1484.       DstBlock       "Mux"
  1485.       DstPort       2
  1486.     }
  1487.     Line {
  1488.       SrcBlock       "Demux"
  1489.       SrcPort       2
  1490.       DstBlock       "out_2"
  1491.       DstPort       1
  1492.     }
  1493.     Line {
  1494.       SrcBlock       "in_3"
  1495.       SrcPort       1
  1496.       DstBlock       "Mux"
  1497.       DstPort       3
  1498.     }
  1499.   }
  1500. }
  1501. Block {
  1502.   BlockType   Outport
  1503.   Name   "binary"
  1504.   Position   [480, 60, 500, 80]
  1505. }
  1506. Block {
  1507.   BlockType   Outport
  1508.   Name   "Symbol"
  1509.   Position   [480, 140, 500, 160]
  1510.   Port   "2"
  1511. }
  1512. Line {
  1513.   SrcBlock   "Bits"
  1514.   SrcPort   1
  1515.   Points   [15, 0]
  1516.   Branch {
  1517.     DstBlock     "delay"
  1518.     DstPort     1
  1519.   }
  1520.   Branch {
  1521.     DstBlock     "Shift register"
  1522.     DstPort     1
  1523.   }
  1524. }
  1525. Line {
  1526.   SrcBlock   "Shift register"
  1527.   SrcPort   2
  1528.   Points   [20, 0]
  1529.   Branch {
  1530.     Points     [0, -5]
  1531.     DstBlock     "hold"
  1532.     DstPort     2
  1533.   }
  1534.   Branch {
  1535.     Points     [0, 10]
  1536.     DstBlock     "hold"
  1537.     DstPort     3
  1538.   }
  1539. }
  1540. Line {
  1541.   SrcBlock   "clock"
  1542.   SrcPort   1
  1543.   DstBlock   "Shift register"
  1544.   DstPort   2
  1545. }
  1546. Line {
  1547.   SrcBlock   "hold"
  1548.   SrcPort   1
  1549.   DstBlock   "D/A "
  1550.   DstPort   1
  1551. }
  1552. Line {
  1553.   SrcBlock   "Shift register"
  1554.   SrcPort   1
  1555.   DstBlock   "hold"
  1556.   DstPort   1
  1557. }
  1558. Line {
  1559.   SrcBlock   "delay"
  1560.   SrcPort   1
  1561.   DstBlock   "binary"
  1562.   DstPort   1
  1563. }
  1564. Line {
  1565.   SrcBlock   "D/A "
  1566.   SrcPort   1
  1567.   DstBlock   "Symbol"
  1568.   DstPort   1
  1569. }
  1570. Line {
  1571.   SrcBlock   "hold"
  1572.   SrcPort   2
  1573.   Points   [10, 0; 0, 35]
  1574.   DstBlock   "Terminator"
  1575.   DstPort   1
  1576. }
  1577. Annotation {
  1578.   Name   "two bits are combined to a 4-ary symbol.nM"
  1579. "SB first"
  1580.   Position   [267, 7]
  1581.   VerticalAlignment   "top"
  1582. }
  1583.       }
  1584.     }
  1585.     Block {
  1586.       BlockType       Reference
  1587.       Name       "Channel"
  1588.       Ports       [1, 1]
  1589.       Position       [480, 114, 560, 156]
  1590.       SourceBlock       "librnew/Channel"
  1591.       SourceType       "AWGN channel, fixed parameter"
  1592.       m       "0"
  1593.       variance       "0.001"
  1594.       s       "12345"
  1595.     }
  1596.     Block {
  1597.       BlockType       Clock
  1598.       Name       "Clock"
  1599.       Position       [245, 220, 265, 240]
  1600.       Decimation       "10"
  1601.     }
  1602.     Block {
  1603.       BlockType       Clock
  1604.       Name       "Clock1"
  1605.       Position       [495, 20, 515, 40]
  1606.       Decimation       "10"
  1607.     }
  1608.     Block {
  1609.       BlockType       SubSystem
  1610.       Name       "Error rate"
  1611.       Ports       [2]
  1612.       Position       [910, 225, 990, 265]
  1613.       Orientation       "down"
  1614.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  1615.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  1616.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  1617.       StartFcn       "sbiterr([],[],[],'Start')"
  1618.       StopFcn       "sbiterr([],[],[],'Stop')"
  1619.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  1620.       ShowPortLabels       off
  1621.       TreatAsAtomicUnit       off
  1622.       MaskType       "Symbol/bit error counter"
  1623.       MaskDescription       "Use the input data from the 1st port as the ref"
  1624. "erence signal to detect the number of errors and error rate of the 2nd signal"
  1625. "."
  1626.       MaskHelp       "The signal from the first port must be a scalar"
  1627. ". The second input port can be a vector with a delay to the first port signal"
  1628. ". The comparison happens only at the sampling point."
  1629.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  1630. "lay between 1st port and 2nd port:|Sample time (sec):"
  1631.       MaskStyleString       "edit,edit,edit,edit"
  1632.       MaskTunableValueString  "on,on,on,on"
  1633.       MaskCallbackString      "|||"
  1634.       MaskEnableString       "on,on,on,on"
  1635.       MaskVisibilityString    "on,on,on,on"
  1636.       MaskToolTipString       "on,on,on,on"
  1637.       MaskVarAliasString      ",,,"
  1638.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  1639.       MaskDisplay       "disp('Error\nmeter')"
  1640.       MaskIconFrame       on
  1641.       MaskIconOpaque       on
  1642.       MaskIconRotate       "none"
  1643.       MaskIconUnits       "autoscale"
  1644.       MaskValueString       "2|10|12|1"
  1645.       System {
  1646. Name "Error rate"
  1647. Location [255, 368, 509, 510]
  1648. Open off
  1649. ModelBrowserVisibility off
  1650. ModelBrowserWidth 200
  1651. ScreenColor "white"
  1652. PaperOrientation "landscape"
  1653. PaperPositionMode "auto"
  1654. PaperType "usletter"
  1655. PaperUnits "inches"
  1656. ZoomFactor "100"
  1657. Block {
  1658.   BlockType   Inport
  1659.   Name   "in_1"
  1660.   Position   [15, 45, 35, 65]
  1661. }
  1662. Block {
  1663.   BlockType   Inport
  1664.   Name   "in_2"
  1665.   Position   [15, 60, 35, 80]
  1666.   Port   "2"
  1667. }
  1668. Block {
  1669.   BlockType   Mux
  1670.   Name   "Mux"
  1671.   Ports   [2, 1]
  1672.   Position   [65, 46, 100, 79]
  1673.   Inputs   "2"
  1674. }
  1675. Block {
  1676.   BlockType   "S-Function"
  1677.   Name   "S-function"
  1678.   Ports   [1]
  1679.   Position   [130, 52, 195, 78]
  1680.   FunctionName   "sbiterr"
  1681.   Parameters   "num_lin, K, TDelay, Sample"
  1682. }
  1683. Line {
  1684.   SrcBlock   "in_2"
  1685.   SrcPort   1
  1686.   DstBlock   "Mux"
  1687.   DstPort   2
  1688. }
  1689. Line {
  1690.   SrcBlock   "in_1"
  1691.   SrcPort   1
  1692.   DstBlock   "Mux"
  1693.   DstPort   1
  1694. }
  1695. Line {
  1696.   SrcBlock   "Mux"
  1697.   SrcPort   1
  1698.   DstBlock   "S-function"
  1699.   DstPort   1
  1700. }
  1701.       }
  1702.     }
  1703.     Block {
  1704.       BlockType       Fcn
  1705.       Name       "Fcn"
  1706.       Position       [285, 217, 355, 243]
  1707.       ShowName       off
  1708.       Expr       "cos(4*pi*u)"
  1709.     }
  1710.     Block {
  1711.       BlockType       Fcn
  1712.       Name       "Fcn1"
  1713.       Position       [535, 17, 630, 43]
  1714.       ShowName       off
  1715.       Expr       "2*cos(4*pi*u)"
  1716.     }
  1717.     Block {
  1718.       BlockType       Gain
  1719.       Name       "Gain"
  1720.       Position       [795, 117, 820, 143]
  1721.       Gain       "1/20"
  1722.     }
  1723.     Block {
  1724.       BlockType       Product
  1725.       Name       "Product"
  1726.       Ports       [2, 1]
  1727.       Position       [380, 117, 405, 148]
  1728.       ShowName       off
  1729.     }
  1730.     Block {
  1731.       BlockType       Product
  1732.       Name       "Product1"
  1733.       Ports       [2, 1]
  1734.       Position       [660, 112, 685, 143]
  1735.       ShowName       off
  1736.     }
  1737.     Block {
  1738.       BlockType       SubSystem
  1739.       Name       "Raised-Cosinenreceive filter"
  1740.       Ports       [1, 1]
  1741.       Position       [700, 108, 780, 152]
  1742.       ShowPortLabels       off
  1743.       TreatAsAtomicUnit       off
  1744.       MaskType       "R-C filter"
  1745.       MaskDescription       "Design a raised cosine filter and use it to fil"
  1746. "ter the input signal."
  1747.       MaskHelp       "This block designs a raised cosine filter using"
  1748. " the specified parameter. The filter is used to filter the input signal. You "
  1749. "can optionally use the sinc filter in the filtering computation."
  1750.       MaskPromptString       "Symbol interval (sec):|Computation sampling tim"
  1751. "e (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol interv"
  1752. "al):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc filter"
  1753. " (1 or 0, suggest 1):"
  1754.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1755.       MaskTunableValueString  "on,on,on,on,on,on"
  1756.       MaskCallbackString      "|||||"
  1757.       MaskEnableString       "on,on,on,on,on,on"
  1758.       MaskVisibilityString    "on,on,on,on,on,on"
  1759.       MaskToolTipString       "on,on,on,on,on,on"
  1760.       MaskVarAliasString      ",,,,,"
  1761.       MaskInitialization      "td=@1;if length(td)>1,off=td(2);td=td(1);else,o"
  1762. "ff=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil,R,d"
  1763. "elay);x=@6/2;"
  1764.       MaskDisplay       "disp('R-C\nfilter')"
  1765.       MaskIconFrame       on
  1766.       MaskIconOpaque       on
  1767.       MaskIconRotate       "none"
  1768.       MaskIconUnits       "autoscale"
  1769.       MaskValueString       "1|.05|.5|6|'FIR'|0"
  1770.       System {
  1771. Name "Raised-Cosinenreceive filter"
  1772. Location [131, 545, 589, 761]
  1773. Open off
  1774. ModelBrowserVisibility off
  1775. ModelBrowserWidth 200
  1776. ScreenColor "white"
  1777. PaperOrientation "landscape"
  1778. PaperPositionMode "auto"
  1779. PaperType "usletter"
  1780. PaperUnits "inches"
  1781. ZoomFactor "100"
  1782. Block {
  1783.   BlockType   Inport
  1784.   Name   "in_1"
  1785.   Position   [35, 30, 55, 50]
  1786. }
  1787. Block {
  1788.   BlockType   DiscreteFilter
  1789.   Name   "Filter"
  1790.   Position   [255, 31, 310, 69]
  1791.   Numerator   "num"
  1792.   Denominator   "den"
  1793.   SampleTime   "ts"
  1794. }
  1795. Block {
  1796.   BlockType   SubSystem
  1797.   Name   "Memory Impulse"
  1798.   Ports   [2, 1]
  1799.   Position   [155, 30, 225, 70]
  1800.   ShowPortLabels   off
  1801.   TreatAsAtomicUnit   off
  1802.   MaskType   "Impulse"
  1803.   MaskDescription   "1/sinc filter:"
  1804.   MaskHelp   "When the threshold is greater than zero, th"
  1805. "is block outputs an impulse signal, which begins at the raising edge of the s"
  1806. "econd input and lasts the holding time. The impulse holds a constant amplitud"
  1807. "e, which equals the amplitude of the first input at the begining of the impul"
  1808. "se. A clock raising edge will trigger next impulse. When the threshold is les"
  1809. "s or equal to zero, this block faithfully outputs the first input."
  1810.   MaskPromptString   "Holding time:|Threshold for clock pulse: "
  1811.   MaskStyleString   "edit,edit"
  1812.   MaskTunableValueString  "on,on"
  1813.   MaskCallbackString   "|"
  1814.   MaskEnableString   "on,on"
  1815.   MaskVisibilityString   "on,on"
  1816.   MaskToolTipString   "on,on"
  1817.   MaskVarAliasString   ","
  1818.   MaskInitialization   "ts=@1;thr=@2;x=thr>0;"
  1819.   MaskDisplay   "disp('1/sinc')"
  1820.   MaskIconFrame   on
  1821.   MaskIconOpaque   on
  1822.   MaskIconRotate   "none"
  1823.   MaskIconUnits   "autoscale"
  1824.   MaskValueString   "ts|x"
  1825.   System {
  1826.     Name     "Memory Impulse"
  1827.     Location     [541, 520, 939, 745]
  1828.     Open     off
  1829.     ModelBrowserVisibility  off
  1830.     ModelBrowserWidth     200
  1831.     ScreenColor     "white"
  1832.     PaperOrientation     "landscape"
  1833.     PaperPositionMode     "auto"
  1834.     PaperType     "usletter"
  1835.     PaperUnits     "inches"
  1836.     ZoomFactor     "100"
  1837.     Block {
  1838.       BlockType       Inport
  1839.       Name       "in_1"
  1840.       Position       [35, 185, 55, 205]
  1841.     }
  1842.     Block {
  1843.       BlockType       Inport
  1844.       Name       "in_2"
  1845.       Position       [25, 30, 45, 50]
  1846.       Port       "2"
  1847.     }
  1848.     Block {
  1849.       BlockType       Constant
  1850.       Name       "Constant"
  1851.       Position       [210, 155, 230, 175]
  1852.       Value       "x"
  1853.     }
  1854.     Block {
  1855.       BlockType       Product
  1856.       Name       "Product"
  1857.       Ports       [2, 1]
  1858.       Position       [155, 90, 180, 110]
  1859.     }
  1860.     Block {
  1861.       BlockType       Switch
  1862.       Name       "Switch"
  1863.       Position       [295, 124, 320, 156]
  1864.       Threshold       ".5"
  1865.     }
  1866.     Block {
  1867.       BlockType       ZeroOrderHold
  1868.       Name       "Zero-OrdernHold"
  1869.       Position       [205, 84, 240, 116]
  1870.       SampleTime       "ts"
  1871.     }
  1872.     Block {
  1873.       BlockType       SubSystem
  1874.       Name       "discretenRising edgendetector"
  1875.       Ports       [1, 1]
  1876.       Position       [65, 26, 120, 54]
  1877.       ShowPortLabels       off
  1878.       TreatAsAtomicUnit       off
  1879.       MaskType       "Edge Detection"
  1880.       MaskDescription       "Rising edge detection:"
  1881.       MaskHelp       "When the input signal rising edge passe"
  1882. "d the given shreshold, this block outputs one, otherwise outputs zero."
  1883.       MaskPromptString       "Threshold:|Sampling time:"
  1884.       MaskStyleString       "edit,edit"
  1885.       MaskTunableValueString  "on,on"
  1886.       MaskCallbackString      "|"
  1887.       MaskEnableString       "on,on"
  1888.       MaskVisibilityString    "on,on"
  1889.       MaskToolTipString       "on,on"
  1890.       MaskVarAliasString      ","
  1891.       MaskInitialization      "thld=@1;ts=@2;"
  1892.       MaskDisplay       "disp('Edge\nDetector')"
  1893.       MaskIconFrame       on
  1894.       MaskIconOpaque       on
  1895.       MaskIconRotate       "none"
  1896.       MaskIconUnits       "autoscale"
  1897.       MaskValueString       "thr|ts"
  1898.       System {
  1899. Name "discretenRising edgendetector"
  1900. Location [419, 521, 808, 713]
  1901. Open off
  1902. ModelBrowserVisibility off
  1903. ModelBrowserWidth 200
  1904. ScreenColor "white"
  1905. PaperOrientation "landscape"
  1906. PaperPositionMode "auto"
  1907. PaperType "usletter"
  1908. PaperUnits "inches"
  1909. ZoomFactor "100"
  1910. Block {
  1911.   BlockType   Inport
  1912.   Name   "in_1"
  1913.   Position   [10, 15, 30, 35]
  1914. }
  1915. Block {
  1916.   BlockType   RelationalOperator
  1917.   Name   "RelationalnOperator"
  1918.   Position   [135, 18, 165, 42]
  1919. }
  1920. Block {
  1921.   BlockType   RelationalOperator
  1922.   Name   "RelationalnOperator1"
  1923.   Position   [200, 88, 230, 112]
  1924. }
  1925. Block {
  1926.   BlockType   RelationalOperator
  1927.   Name   "RelationalnOperator2"
  1928.   Position   [265, 23, 295, 47]
  1929.   Operator   ">"
  1930. }
  1931. Block {
  1932.   BlockType   UnitDelay
  1933.   Name   "Unit Delay"
  1934.   Position   [120, 87, 170, 103]
  1935.   SampleTime   "ts"
  1936. }
  1937. Block {
  1938.   BlockType   Constant
  1939.   Name   "one1"
  1940.   Position   [30, 135, 60, 155]
  1941.   Value   "thld"
  1942. }
  1943. Block {
  1944.   BlockType   Outport
  1945.   Name   "out_1"
  1946.   Position   [340, 25, 360, 45]
  1947. }
  1948. Line {
  1949.   SrcBlock   "in_1"
  1950.   SrcPort   1
  1951.   Points   [10, 0]
  1952.   Branch {
  1953.     DstBlock     "RelationalnOperator"
  1954.     DstPort     1
  1955.   }
  1956.   Branch {
  1957.     Points     [0, 70]
  1958.     DstBlock     "Unit Delay"
  1959.     DstPort     1
  1960.   }
  1961. }
  1962. Line {
  1963.   SrcBlock   "Unit Delay"
  1964.   SrcPort   1
  1965.   DstBlock   "RelationalnOperator1"
  1966.   DstPort   1
  1967. }
  1968. Line {
  1969.   SrcBlock   "one1"
  1970.   SrcPort   1
  1971.   Points   [35, 0]
  1972.   Branch {
  1973.     Points     [0, -110]
  1974.     DstBlock     "RelationalnOperator"
  1975.     DstPort     2
  1976.   }
  1977.   Branch {
  1978.     Points     [80, 0; 0, -40]
  1979.     DstBlock     "RelationalnOperator1"
  1980.     DstPort     2
  1981.   }
  1982. }
  1983. Line {
  1984.   SrcBlock   "RelationalnOperator"
  1985.   SrcPort   1
  1986.   DstBlock   "RelationalnOperator2"
  1987.   DstPort   1
  1988. }
  1989. Line {
  1990.   SrcBlock   "RelationalnOperator1"
  1991.   SrcPort   1
  1992.   Points   [5, 0; 0, -60]
  1993.   DstBlock   "RelationalnOperator2"
  1994.   DstPort   2
  1995. }
  1996. Line {
  1997.   SrcBlock   "RelationalnOperator2"
  1998.   SrcPort   1
  1999.   DstBlock   "out_1"
  2000.   DstPort   1
  2001. }
  2002.       }
  2003.     }
  2004.     Block {
  2005.       BlockType       Outport
  2006.       Name       "out_1"
  2007.       Position       [355, 130, 375, 150]
  2008.     }
  2009.     Line {
  2010.       SrcBlock       "in_2"
  2011.       SrcPort       1
  2012.       DstBlock       "discretenRising edgendetector"
  2013.       DstPort       1
  2014.     }
  2015.     Line {
  2016.       SrcBlock       "discretenRising edgendetector"
  2017.       SrcPort       1
  2018.       Points       [5, 0; 0, 55]
  2019.       DstBlock       "Product"
  2020.       DstPort       1
  2021.     }
  2022.     Line {
  2023.       SrcBlock       "Constant"
  2024.       SrcPort       1
  2025.       Points       [15, 0; 0, -25]
  2026.       DstBlock       "Switch"
  2027.       DstPort       2
  2028.     }
  2029.     Line {
  2030.       SrcBlock       "Switch"
  2031.       SrcPort       1
  2032.       DstBlock       "out_1"
  2033.       DstPort       1
  2034.     }
  2035.     Line {
  2036.       SrcBlock       "in_1"
  2037.       SrcPort       1
  2038.       Points       [35, 0]
  2039.       Branch {
  2040. Points [185, 0]
  2041. DstBlock "Switch"
  2042. DstPort 3
  2043.       }
  2044.       Branch {
  2045. Points [0, -90]
  2046. DstBlock "Product"
  2047. DstPort 2
  2048.       }
  2049.     }
  2050.     Line {
  2051.       SrcBlock       "Product"
  2052.       SrcPort       1
  2053.       DstBlock       "Zero-OrdernHold"
  2054.       DstPort       1
  2055.     }
  2056.     Line {
  2057.       SrcBlock       "Zero-OrdernHold"
  2058.       SrcPort       1
  2059.       Points       [15, 0; 0, 30]
  2060.       DstBlock       "Switch"
  2061.       DstPort       1
  2062.     }
  2063.   }
  2064. }
  2065. Block {
  2066.   BlockType   SubSystem
  2067.   Name   "Pulses deividensame sample time1"
  2068.   Ports   [0, 1]
  2069.   Position   [35, 71, 95, 109]
  2070.   ShowPortLabels   off
  2071.   TreatAsAtomicUnit   off
  2072.   MaskType   "Pulse generator"
  2073.   MaskDescription   "Vector pulses with sample rate of each puls"
  2074. "e as Sample_time ./Divider. "
  2075.   MaskHelp   "This block generator a vector pulses. The o"
  2076. "utput length is the same as the vector defined in "Divider". The ith elemen"
  2077. "t of the output has the sample time Sample_time/Divider(i). All elements in "
  2078. ""Divider" must be integers."
  2079.   MaskPromptString   "Sample time (scalar, sec):|Divider (integer"
  2080. " vector):|Offset (have same dimension as Divider:"
  2081.   MaskStyleString   "edit,edit,edit"
  2082.   MaskTunableValueString  "on,on,on"
  2083.   MaskCallbackString   "||"
  2084.   MaskEnableString   "on,on,on"
  2085.   MaskVisibilityString   "on,on,on"
  2086.   MaskToolTipString   "on,on,on"
  2087.   MaskVarAliasString   ",,"
  2088.   MaskInitialization   "samp_time=@1;out_divid=@2;offset=@3;"
  2089.   MaskDisplay   "disp('Vector\nPulse')"
  2090.   MaskIconFrame   on
  2091.   MaskIconOpaque   on
  2092.   MaskIconRotate   "none"
  2093.   MaskIconUnits   "autoscale"
  2094.   MaskValueString   "td|1|off"
  2095.   System {
  2096.     Name     "Pulses deividensame sample time1"
  2097.     Location     [55, 192, 283, 286]
  2098.     Open     off
  2099.     ModelBrowserVisibility  off
  2100.     ModelBrowserWidth     200
  2101.     ScreenColor     "white"
  2102.     PaperOrientation     "landscape"
  2103.     PaperPositionMode     "auto"
  2104.     PaperType     "usletter"
  2105.     PaperUnits     "inches"
  2106.     ZoomFactor     "100"
  2107.     Block {
  2108.       BlockType       "S-Function"
  2109.       Name       "S-function1"
  2110.       Ports       [0, 1]
  2111.       Position       [40, 31, 105, 59]
  2112.       FunctionName       "homopuls"
  2113.       Parameters       "samp_time, out_divid, offset"
  2114.     }
  2115.     Block {
  2116.       BlockType       Outport
  2117.       Name       "Outport"
  2118.       Position       [160, 35, 180, 55]
  2119.     }
  2120.     Line {
  2121.       SrcBlock       "S-function1"
  2122.       SrcPort       1
  2123.       DstBlock       "Outport"
  2124.       DstPort       1
  2125.     }
  2126.   }
  2127. }
  2128. Block {
  2129.   BlockType   Outport
  2130.   Name   "out_1"
  2131.   Position   [330, 40, 350, 60]
  2132. }
  2133. Line {
  2134.   SrcBlock   "Filter"
  2135.   SrcPort   1
  2136.   DstBlock   "out_1"
  2137.   DstPort   1
  2138. }
  2139. Line {
  2140.   SrcBlock   "in_1"
  2141.   SrcPort   1
  2142.   DstBlock   "Memory Impulse"
  2143.   DstPort   1
  2144. }
  2145. Line {
  2146.   SrcBlock   "Memory Impulse"
  2147.   SrcPort   1
  2148.   DstBlock   "Filter"
  2149.   DstPort   1
  2150. }
  2151. Line {
  2152.   SrcBlock   "Pulses deividensame sample time1"
  2153.   SrcPort   1
  2154.   Points   [15, 0; 0, -30]
  2155.   DstBlock   "Memory Impulse"
  2156.   DstPort   2
  2157. }
  2158.       }
  2159.     }
  2160.     Block {
  2161.       BlockType       SubSystem
  2162.       Name       "Raised-Cosinentransmit filter"
  2163.       Ports       [1, 1]
  2164.       Position       [215, 103, 295, 147]
  2165.       ShowPortLabels       off
  2166.       TreatAsAtomicUnit       off
  2167.       MaskType       "R-C filter"
  2168.       MaskDescription       "Design a raised cosine filter and use it to fil"
  2169. "ter the input signal."
  2170.       MaskHelp       "This block designs a raised cosine filter using"
  2171. " the specified parameter. The filter is used to filter the input signal. You "
  2172. "can optionally use the sinc filter in the filtering computation."
  2173.       MaskPromptString       "Symbol interval (sec):|Computation sampling tim"
  2174. "e (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol interv"
  2175. "al):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc filter"
  2176. " (1 or 0, suggest 1):"
  2177.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  2178.       MaskTunableValueString  "on,on,on,on,on,on"
  2179.       MaskCallbackString      "|||||"
  2180.       MaskEnableString       "on,on,on,on,on,on"
  2181.       MaskVisibilityString    "on,on,on,on,on,on"
  2182.       MaskToolTipString       "on,on,on,on,on,on"
  2183.       MaskVarAliasString      ",,,,,"
  2184.       MaskInitialization      "td=@1;if length(td)>1,off=td(2);td=td(1);else,o"
  2185. "ff=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil,R,d"
  2186. "elay);x=@6/2;"
  2187.       MaskDisplay       "disp('R-C\nfilter')"
  2188.       MaskIconFrame       on
  2189.       MaskIconOpaque       on
  2190.       MaskIconRotate       "none"
  2191.       MaskIconUnits       "autoscale"
  2192.       MaskValueString       "1|.05|.5|6|'FIR'|1"
  2193.       System {
  2194. Name "Raised-Cosinentransmit filter"
  2195. Location [131, 545, 589, 761]
  2196. Open off
  2197. ModelBrowserVisibility off
  2198. ModelBrowserWidth 200
  2199. ScreenColor "white"
  2200. PaperOrientation "landscape"
  2201. PaperPositionMode "auto"
  2202. PaperType "usletter"
  2203. PaperUnits "inches"
  2204. ZoomFactor "100"
  2205. Block {
  2206.   BlockType   Inport
  2207.   Name   "in_1"
  2208.   Position   [35, 30, 55, 50]
  2209. }
  2210. Block {
  2211.   BlockType   DiscreteFilter
  2212.   Name   "Filter"
  2213.   Position   [255, 31, 310, 69]
  2214.   Numerator   "num"
  2215.   Denominator   "den"
  2216.   SampleTime   "ts"
  2217. }
  2218. Block {
  2219.   BlockType   SubSystem
  2220.   Name   "Memory Impulse"
  2221.   Ports   [2, 1]
  2222.   Position   [155, 30, 225, 70]
  2223.   ShowPortLabels   off
  2224.   TreatAsAtomicUnit   off
  2225.   MaskType   "Impulse"
  2226.   MaskDescription   "1/sinc filter:"
  2227.   MaskHelp   "When the threshold is greater than zero, th"
  2228. "is block outputs an impulse signal, which begins at the raising edge of the s"
  2229. "econd input and lasts the holding time. The impulse holds a constant amplitud"
  2230. "e, which equals the amplitude of the first input at the begining of the impul"
  2231. "se. A clock raising edge will trigger next impulse. When the threshold is les"
  2232. "s or equal to zero, this block faithfully outputs the first input."
  2233.   MaskPromptString   "Holding time:|Threshold for clock pulse: "
  2234.   MaskStyleString   "edit,edit"
  2235.   MaskTunableValueString  "on,on"
  2236.   MaskCallbackString   "|"
  2237.   MaskEnableString   "on,on"
  2238.   MaskVisibilityString   "on,on"
  2239.   MaskToolTipString   "on,on"
  2240.   MaskVarAliasString   ","
  2241.   MaskInitialization   "ts=@1;thr=@2;x=thr>0;"
  2242.   MaskDisplay   "disp('1/sinc')"
  2243.   MaskIconFrame   on
  2244.   MaskIconOpaque   on
  2245.   MaskIconRotate   "none"
  2246.   MaskIconUnits   "autoscale"
  2247.   MaskValueString   "ts|x"
  2248.   System {
  2249.     Name     "Memory Impulse"
  2250.     Location     [541, 520, 939, 745]
  2251.     Open     off
  2252.     ModelBrowserVisibility  off
  2253.     ModelBrowserWidth     200
  2254.     ScreenColor     "white"
  2255.     PaperOrientation     "landscape"
  2256.     PaperPositionMode     "auto"
  2257.     PaperType     "usletter"
  2258.     PaperUnits     "inches"
  2259.     ZoomFactor     "100"
  2260.     Block {
  2261.       BlockType       Inport
  2262.       Name       "in_1"
  2263.       Position       [35, 185, 55, 205]
  2264.     }
  2265.     Block {
  2266.       BlockType       Inport
  2267.       Name       "in_2"
  2268.       Position       [25, 30, 45, 50]
  2269.       Port       "2"
  2270.     }
  2271.     Block {
  2272.       BlockType       Constant
  2273.       Name       "Constant"
  2274.       Position       [210, 155, 230, 175]
  2275.       Value       "x"
  2276.     }
  2277.     Block {
  2278.       BlockType       Product
  2279.       Name       "Product"
  2280.       Ports       [2, 1]
  2281.       Position       [155, 90, 180, 110]
  2282.     }
  2283.     Block {
  2284.       BlockType       Switch
  2285.       Name       "Switch"
  2286.       Position       [295, 124, 320, 156]
  2287.       Threshold       ".5"
  2288.     }
  2289.     Block {
  2290.       BlockType       ZeroOrderHold
  2291.       Name       "Zero-OrdernHold"
  2292.       Position       [205, 84, 240, 116]
  2293.       SampleTime       "ts"
  2294.     }
  2295.     Block {
  2296.       BlockType       SubSystem
  2297.       Name       "discretenRising edgendetector"
  2298.       Ports       [1, 1]
  2299.       Position       [65, 26, 120, 54]
  2300.       ShowPortLabels       off
  2301.       TreatAsAtomicUnit       off
  2302.       MaskType       "Edge Detection"
  2303.       MaskDescription       "Rising edge detection:"
  2304.       MaskHelp       "When the input signal rising edge passe"
  2305. "d the given shreshold, this block outputs one, otherwise outputs zero."
  2306.       MaskPromptString       "Threshold:|Sampling time:"
  2307.       MaskStyleString       "edit,edit"
  2308.       MaskTunableValueString  "on,on"
  2309.       MaskCallbackString      "|"
  2310.       MaskEnableString       "on,on"
  2311.       MaskVisibilityString    "on,on"
  2312.       MaskToolTipString       "on,on"
  2313.       MaskVarAliasString      ","
  2314.       MaskInitialization      "thld=@1;ts=@2;"
  2315.       MaskDisplay       "disp('Edge\nDetector')"
  2316.       MaskIconFrame       on
  2317.       MaskIconOpaque       on
  2318.       MaskIconRotate       "none"
  2319.       MaskIconUnits       "autoscale"
  2320.       MaskValueString       "thr|ts"
  2321.       System {
  2322. Name "discretenRising edgendetector"
  2323. Location [419, 521, 808, 713]
  2324. Open off
  2325. ModelBrowserVisibility off
  2326. ModelBrowserWidth 200
  2327. ScreenColor "white"
  2328. PaperOrientation "landscape"
  2329. PaperPositionMode "auto"
  2330. PaperType "usletter"
  2331. PaperUnits "inches"
  2332. ZoomFactor "100"
  2333. Block {
  2334.   BlockType   Inport
  2335.   Name   "in_1"
  2336.   Position   [10, 15, 30, 35]
  2337. }
  2338. Block {
  2339.   BlockType   RelationalOperator
  2340.   Name   "RelationalnOperator"
  2341.   Position   [135, 18, 165, 42]
  2342. }
  2343. Block {
  2344.   BlockType   RelationalOperator
  2345.   Name   "RelationalnOperator1"
  2346.   Position   [200, 88, 230, 112]
  2347. }
  2348. Block {
  2349.   BlockType   RelationalOperator
  2350.   Name   "RelationalnOperator2"
  2351.   Position   [265, 23, 295, 47]
  2352.   Operator   ">"
  2353. }
  2354. Block {
  2355.   BlockType   UnitDelay
  2356.   Name   "Unit Delay"
  2357.   Position   [120, 87, 170, 103]
  2358.   SampleTime   "ts"
  2359. }
  2360. Block {
  2361.   BlockType   Constant
  2362.   Name   "one1"
  2363.   Position   [30, 135, 60, 155]
  2364.   Value   "thld"
  2365. }
  2366. Block {
  2367.   BlockType   Outport
  2368.   Name   "out_1"
  2369.   Position   [340, 25, 360, 45]
  2370. }
  2371. Line {
  2372.   SrcBlock   "in_1"
  2373.   SrcPort   1
  2374.   Points   [10, 0]
  2375.   Branch {
  2376.     DstBlock     "RelationalnOperator"
  2377.     DstPort     1
  2378.   }
  2379.   Branch {
  2380.     Points     [0, 70]
  2381.     DstBlock     "Unit Delay"
  2382.     DstPort     1
  2383.   }
  2384. }
  2385. Line {
  2386.   SrcBlock   "Unit Delay"
  2387.   SrcPort   1
  2388.   DstBlock   "RelationalnOperator1"
  2389.   DstPort   1
  2390. }
  2391. Line {
  2392.   SrcBlock   "one1"
  2393.   SrcPort   1
  2394.   Points   [35, 0]
  2395.   Branch {
  2396.     Points     [0, -110]
  2397.     DstBlock     "RelationalnOperator"
  2398.     DstPort     2
  2399.   }
  2400.   Branch {
  2401.     Points     [80, 0; 0, -40]
  2402.     DstBlock     "RelationalnOperator1"
  2403.     DstPort     2
  2404.   }
  2405. }
  2406. Line {
  2407.   SrcBlock   "RelationalnOperator"
  2408.   SrcPort   1
  2409.   DstBlock   "RelationalnOperator2"
  2410.   DstPort   1
  2411. }
  2412. Line {
  2413.   SrcBlock   "RelationalnOperator1"
  2414.   SrcPort   1
  2415.   Points   [5, 0; 0, -60]
  2416.   DstBlock   "RelationalnOperator2"
  2417.   DstPort   2
  2418. }
  2419. Line {
  2420.   SrcBlock   "RelationalnOperator2"
  2421.   SrcPort   1
  2422.   DstBlock   "out_1"
  2423.   DstPort   1
  2424. }
  2425.       }
  2426.     }
  2427.     Block {
  2428.       BlockType       Outport
  2429.       Name       "out_1"
  2430.       Position       [355, 130, 375, 150]
  2431.     }
  2432.     Line {
  2433.       SrcBlock       "in_2"
  2434.       SrcPort       1
  2435.       DstBlock       "discretenRising edgendetector"
  2436.       DstPort       1
  2437.     }
  2438.     Line {
  2439.       SrcBlock       "discretenRising edgendetector"
  2440.       SrcPort       1
  2441.       Points       [5, 0; 0, 55]
  2442.       DstBlock       "Product"
  2443.       DstPort       1
  2444.     }
  2445.     Line {
  2446.       SrcBlock       "Constant"
  2447.       SrcPort       1
  2448.       Points       [15, 0; 0, -25]
  2449.       DstBlock       "Switch"
  2450.       DstPort       2
  2451.     }
  2452.     Line {
  2453.       SrcBlock       "Switch"
  2454.       SrcPort       1
  2455.       DstBlock       "out_1"
  2456.       DstPort       1
  2457.     }
  2458.     Line {
  2459.       SrcBlock       "in_1"
  2460.       SrcPort       1
  2461.       Points       [35, 0]
  2462.       Branch {
  2463. Points [185, 0]
  2464. DstBlock "Switch"
  2465. DstPort 3
  2466.       }
  2467.       Branch {
  2468. Points [0, -90]
  2469. DstBlock "Product"
  2470. DstPort 2
  2471.       }
  2472.     }
  2473.     Line {
  2474.       SrcBlock       "Product"
  2475.       SrcPort       1
  2476.       DstBlock       "Zero-OrdernHold"
  2477.       DstPort       1
  2478.     }
  2479.     Line {
  2480.       SrcBlock       "Zero-OrdernHold"
  2481.       SrcPort       1
  2482.       Points       [15, 0; 0, 30]
  2483.       DstBlock       "Switch"
  2484.       DstPort       1
  2485.     }
  2486.   }
  2487. }
  2488. Block {
  2489.   BlockType   SubSystem
  2490.   Name   "Pulses deividensame sample time1"
  2491.   Ports   [0, 1]
  2492.   Position   [35, 71, 95, 109]
  2493.   ShowPortLabels   off
  2494.   TreatAsAtomicUnit   off
  2495.   MaskType   "Pulse generator"
  2496.   MaskDescription   "Vector pulses with sample rate of each puls"
  2497. "e as Sample_time ./Divider. "
  2498.   MaskHelp   "This block generator a vector pulses. The o"
  2499. "utput length is the same as the vector defined in "Divider". The ith elemen"
  2500. "t of the output has the sample time Sample_time/Divider(i). All elements in "
  2501. ""Divider" must be integers."
  2502.   MaskPromptString   "Sample time (scalar, sec):|Divider (integer"
  2503. " vector):|Offset (have same dimension as Divider:"
  2504.   MaskStyleString   "edit,edit,edit"
  2505.   MaskTunableValueString  "on,on,on"
  2506.   MaskCallbackString   "||"
  2507.   MaskEnableString   "on,on,on"
  2508.   MaskVisibilityString   "on,on,on"
  2509.   MaskToolTipString   "on,on,on"
  2510.   MaskVarAliasString   ",,"
  2511.   MaskInitialization   "samp_time=@1;out_divid=@2;offset=@3;"
  2512.   MaskDisplay   "disp('Vector\nPulse')"
  2513.   MaskIconFrame   on
  2514.   MaskIconOpaque   on
  2515.   MaskIconRotate   "none"
  2516.   MaskIconUnits   "autoscale"
  2517.   MaskValueString   "td|1|off"
  2518.   System {
  2519.     Name     "Pulses deividensame sample time1"
  2520.     Location     [55, 192, 283, 286]
  2521.     Open     off
  2522.     ModelBrowserVisibility  off
  2523.     ModelBrowserWidth     200
  2524.     ScreenColor     "white"
  2525.     PaperOrientation     "landscape"
  2526.     PaperPositionMode     "auto"
  2527.     PaperType     "usletter"
  2528.     PaperUnits     "inches"
  2529.     ZoomFactor     "100"
  2530.     Block {
  2531.       BlockType       "S-Function"
  2532.       Name       "S-function1"
  2533.       Ports       [0, 1]
  2534.       Position       [40, 31, 105, 59]
  2535.       FunctionName       "homopuls"
  2536.       Parameters       "samp_time, out_divid, offset"
  2537.     }
  2538.     Block {
  2539.       BlockType       Outport
  2540.       Name       "Outport"
  2541.       Position       [160, 35, 180, 55]
  2542.     }
  2543.     Line {
  2544.       SrcBlock       "S-function1"
  2545.       SrcPort       1
  2546.       DstBlock       "Outport"
  2547.       DstPort       1
  2548.     }
  2549.   }
  2550. }
  2551. Block {
  2552.   BlockType   Outport
  2553.   Name   "out_1"
  2554.   Position   [330, 40, 350, 60]
  2555. }
  2556. Line {
  2557.   SrcBlock   "Filter"
  2558.   SrcPort   1
  2559.   DstBlock   "out_1"
  2560.   DstPort   1
  2561. }
  2562. Line {
  2563.   SrcBlock   "in_1"
  2564.   SrcPort   1
  2565.   DstBlock   "Memory Impulse"
  2566.   DstPort   1
  2567. }
  2568. Line {
  2569.   SrcBlock   "Memory Impulse"
  2570.   SrcPort   1
  2571.   DstBlock   "Filter"
  2572.   DstPort   1
  2573. }
  2574. Line {
  2575.   SrcBlock   "Pulses deividensame sample time1"
  2576.   SrcPort   1
  2577.   Points   [15, 0; 0, -30]
  2578.   DstBlock   "Memory Impulse"
  2579.   DstPort   2
  2580. }
  2581.       }
  2582.     }
  2583.     Block {
  2584.       BlockType       SubSystem
  2585.       Name       "Rolloff"
  2586.       Ports       []
  2587.       Position       [205, 76, 312, 96]
  2588.       BackgroundColor       "lightBlue"
  2589.       ShowName       off
  2590.       OpenFcn       "setrobin"
  2591.       FontSize       12
  2592.       FontAngle       "italic"
  2593.       ShowPortLabels       off
  2594.       TreatAsAtomicUnit       off
  2595.       MaskType       "rolloff"
  2596.       MaskDisplay       "disp('Rolloff-Factor')"
  2597.       MaskIconFrame       on
  2598.       MaskIconOpaque       on
  2599.       MaskIconRotate       "none"
  2600.       MaskIconUnits       "autoscale"
  2601.       System {
  2602. Name "Rolloff"
  2603. Location [136, 230, 381, 439]
  2604. Open off
  2605. ModelBrowserVisibility off
  2606. ModelBrowserWidth 200
  2607. ScreenColor "cyan"
  2608. PaperOrientation "landscape"
  2609. PaperPositionMode "auto"
  2610. PaperType "A4"
  2611. PaperUnits "centimeters"
  2612. ZoomFactor "100"
  2613.       }
  2614.     }
  2615.     Block {
  2616.       BlockType       Scope
  2617.       Name       "a(t)"
  2618.       Ports       [1]
  2619.       Position       [120, 225, 150, 255]
  2620.       NamePlacement       "alternate"
  2621.       Location       [224, 436, 1147, 536]
  2622.       Open       off
  2623.       NumInputPorts       "1"
  2624.       List {
  2625. ListType AxesTitles
  2626. axes1 "%<SignalLabel>"
  2627.       }
  2628.       TimeRange       "25.000000"
  2629.       YMin       "-3"
  2630.       YMax       "3"
  2631.       DataFormat       "Array"
  2632.     }
  2633.     Block {
  2634.       BlockType       Scope
  2635.       Name       "binaryndata"
  2636.       Ports       [1]
  2637.       Position       [175, 20, 205, 50]
  2638.       Location       [224, 337, 1147, 437]
  2639.       Open       off
  2640.       NumInputPorts       "1"
  2641.       List {
  2642. ListType AxesTitles
  2643. axes1 "%<SignalLabel>"
  2644.       }
  2645.       TimeRange       "25.000000"
  2646.       YMin       "-3"
  2647.       YMax       "3"
  2648.       DataFormat       "Array"
  2649.     }
  2650.     Block {
  2651.       BlockType       SubSystem
  2652.       Name       "constellation"
  2653.       Ports       []
  2654.       Position       [15, 29, 100, 66]
  2655.       BackgroundColor       "lightBlue"
  2656.       ShowName       off
  2657.       OpenFcn       "cplotask(4)"
  2658.       ShowPortLabels       off
  2659.       TreatAsAtomicUnit       off
  2660.       MaskType       "constellation"
  2661.       MaskDisplay       "disp('Signal Space \n Constellation')"
  2662.       MaskIconFrame       on
  2663.       MaskIconOpaque       on
  2664.       MaskIconRotate       "none"
  2665.       MaskIconUnits       "autoscale"
  2666.       System {
  2667. Name "constellation"
  2668. Location [74, 73, 1338, 1015]
  2669. Open off
  2670. ModelBrowserVisibility off
  2671. ModelBrowserWidth 200
  2672. ScreenColor "cyan"
  2673. PaperOrientation "landscape"
  2674. PaperPositionMode "auto"
  2675. PaperType "usletter"
  2676. PaperUnits "inches"
  2677. ZoomFactor "100"
  2678.       }
  2679.     }
  2680.     Block {
  2681.       BlockType       SubSystem
  2682.       Name       "noise variance"
  2683.       Ports       []
  2684.       Position       [469, 75, 575, 99]
  2685.       BackgroundColor       "lightBlue"
  2686.       ShowName       off
  2687.       OpenFcn       "setnoise"
  2688.       FontSize       12
  2689.       FontAngle       "italic"
  2690.       ShowPortLabels       off
  2691.       TreatAsAtomicUnit       off
  2692.       MaskType       "noise"
  2693.       MaskDisplay       "disp('Noise variance')"
  2694.       MaskIconFrame       on
  2695.       MaskIconOpaque       on
  2696.       MaskIconRotate       "none"
  2697.       MaskIconUnits       "autoscale"
  2698.       System {
  2699. Name "noise variance"
  2700. Location [136, 230, 381, 439]
  2701. Open off
  2702. ModelBrowserVisibility off
  2703. ModelBrowserWidth 200
  2704. ScreenColor "cyan"
  2705. PaperOrientation "landscape"
  2706. PaperPositionMode "auto"
  2707. PaperType "usletter"
  2708. PaperUnits "inches"
  2709. ZoomFactor "100"
  2710.       }
  2711.     }
  2712.     Block {
  2713.       BlockType       Scope
  2714.       Name       "received signal r(t)"
  2715.       Ports       [1]
  2716.       Position       [575, 225, 605, 255]
  2717.       Orientation       "down"
  2718.       Location       [163, 594, 1088, 759]
  2719.       Open       off
  2720.       NumInputPorts       "1"
  2721.       List {
  2722. ListType AxesTitles
  2723. axes1 "%<SignalLabel>"
  2724.       }
  2725.       TimeRange       "25.000000"
  2726.       YMin       "-1.5"
  2727.       YMax       "1.5"
  2728.       DataFormat       "Array"
  2729.     }
  2730.     Block {
  2731.       BlockType       SubSystem
  2732.       Name       "receiverndiagrams"
  2733.       Ports       [1]
  2734.       Position       [865, 15, 920, 55]
  2735.       ShowPortLabels       off
  2736.       TreatAsAtomicUnit       off
  2737.       MaskType       "Diagrams"
  2738.       MaskDescription       "Eye pattern, signal space trajectory and scatte"
  2739. "r plot."
  2740.       MaskPromptString       "Plot start time:|Samples per time slot (2*T):|D"
  2741. "ecision offset:"
  2742.       MaskStyleString       "edit,edit,edit"
  2743.       MaskTunableValueString  "on,on,on"
  2744.       MaskCallbackString      "||"
  2745.       MaskEnableString       "on,on,on"
  2746.       MaskVisibilityString    "on,on,on"
  2747.       MaskToolTipString       "on,on,on"
  2748.       MaskVarAliasString      ",,"
  2749.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  2750.       MaskInitialization      " [x, y] = srcsicon(10);"
  2751.       MaskDisplay       "plot(0,0,100,100,x,y)"
  2752.       MaskIconFrame       on
  2753.       MaskIconOpaque       on
  2754.       MaskIconRotate       "none"
  2755.       MaskIconUnits       "autoscale"
  2756.       MaskValueString       "12|40|0"
  2757.       System {
  2758. Name "receiverndiagrams"
  2759. Location [638, 564, 1007, 805]
  2760. Open off
  2761. ModelBrowserVisibility off
  2762. ModelBrowserWidth 200
  2763. ScreenColor "white"
  2764. PaperOrientation "landscape"
  2765. PaperPositionMode "auto"
  2766. PaperType "usletter"
  2767. PaperUnits "inches"
  2768. ZoomFactor "100"
  2769. Block {
  2770.   BlockType   Inport
  2771.   Name   "in_1"
  2772.   Position   [35, 40, 55, 60]
  2773. }
  2774. Block {
  2775.   BlockType   Constant
  2776.   Name   "Constant"
  2777.   Position   [35, 130, 55, 150]
  2778.   Value   "Inf"
  2779. }
  2780. Block {
  2781.   BlockType   Constant
  2782.   Name   "Constant1"
  2783.   Position   [130, 130, 150, 150]
  2784.   Value   "0"
  2785. }
  2786. Block {
  2787.   BlockType   SubSystem
  2788.   Name   "Eye patternnreceiver"
  2789.   Ports   [1]
  2790.   Position   [275, 37, 330, 73]
  2791.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  2792.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  2793.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  2794.   StartFcn   "eyesampl([],[],[],'Start')"
  2795.   StopFcn   "eyesampl([],[],[],'Stop')"
  2796.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  2797.   ShowPortLabels   off
  2798.   TreatAsAtomicUnit   off
  2799.   MaskType   "Eye-diagram/scatter plot"
  2800.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  2801. "plot."
  2802.   MaskHelp   "This plot opens one, or two plots by assign"
  2803. "ing the line type parameters. The scatter plot point is selected by the decis"
  2804. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  2805. "attern diagram. The plot is updated at the plot update sample time point."
  2806.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  2807. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  2808. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  2809. "or scatter plot (0 for no plot):|Plot update sample time:"
  2810.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2811.   MaskTunableValueString  "on,on,on,on,on,on"
  2812.   MaskCallbackString   "|||||"
  2813.   MaskEnableString   "on,on,on,on,on,on"
  2814.   MaskVisibilityString   "on,on,on,on,on,on"
  2815.   MaskToolTipString   "on,on,on,on,on,on"
  2816.   MaskVarAliasString   ",,,,,"
  2817.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2818. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2819.   MaskDisplay   "plot(0,0,100,100,x,y);"
  2820.   MaskIconFrame   on
  2821.   MaskIconOpaque   on
  2822.   MaskIconRotate   "none"
  2823.   MaskIconUnits   "autoscale"
  2824.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  2825. "ahl"
  2826.   System {
  2827.     Name     "Eye patternnreceiver"
  2828.     Location     [121, 409, 416, 595]
  2829.     Open     off
  2830.     ModelBrowserVisibility  off
  2831.     ModelBrowserWidth     200
  2832.     ScreenColor     "white"
  2833.     PaperOrientation     "landscape"
  2834.     PaperPositionMode     "auto"
  2835.     PaperType     "usletter"
  2836.     PaperUnits     "inches"
  2837.     ZoomFactor     "100"
  2838.     Block {
  2839.       BlockType       Inport
  2840.       Name       "in_1"
  2841.       Position       [75, 80, 95, 100]
  2842.     }
  2843.     Block {
  2844.       BlockType       "S-Function"
  2845.       Name       "Plot1"
  2846.       Ports       [1]
  2847.       Position       [130, 70, 200, 110]
  2848.       FunctionName       "eyesampl"
  2849.       Parameters       "time_range, boundary, kept_length, eye_"
  2850. "line, scatter_line, two_d_line"
  2851.     }
  2852.     Line {
  2853.       SrcBlock       "in_1"
  2854.       SrcPort       1
  2855.       DstBlock       "Plot1"
  2856.       DstPort       1
  2857.     }
  2858.   }
  2859. }
  2860. Block {
  2861.   BlockType   Mux
  2862.   Name   "Mux"
  2863.   Ports   [2, 1]
  2864.   Position   [185, 36, 220, 69]
  2865.   Inputs   "2"
  2866. }
  2867. Block {
  2868.   BlockType   Mux
  2869.   Name   "Mux1"
  2870.   Ports   [2, 1]
  2871.   Position   [185, 96, 220, 129]
  2872.   Inputs   "2"
  2873. }
  2874. Block {
  2875.   BlockType   SubSystem
  2876.   Name   "Scatter plotnreceiver"
  2877.   Ports   [1]
  2878.   Position   [275, 173, 330, 207]
  2879.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  2880.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  2881.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  2882.   StartFcn   "eyesampl([],[],[],'Start')"
  2883.   StopFcn   "eyesampl([],[],[],'Stop')"
  2884.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  2885.   ShowPortLabels   off
  2886.   TreatAsAtomicUnit   off
  2887.   MaskType   "Eye-diagram/scatter plot"
  2888.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  2889. "plot."
  2890.   MaskHelp   "This plot opens one, or two plots by assign"
  2891. "ing the line type parameters. The scatter plot point is selected by the decis"
  2892. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  2893. "attern diagram. The plot is updated at the plot update sample time point."
  2894.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  2895. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  2896. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  2897. "or scatter plot (0 for no plot):|Plot update sample time:"
  2898.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2899.   MaskTunableValueString  "on,on,on,on,on,on"
  2900.   MaskCallbackString   "|||||"
  2901.   MaskEnableString   "on,on,on,on,on,on"
  2902.   MaskVisibilityString   "on,on,on,on,on,on"
  2903.   MaskToolTipString   "on,on,on,on,on,on"
  2904.   MaskVarAliasString   ",,,,,"
  2905.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2906. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2907.   MaskDisplay   "plot(0,0,100,100,x,y);"
  2908.   MaskIconFrame   on
  2909.   MaskIconOpaque   on
  2910.   MaskIconRotate   "none"
  2911.   MaskIconUnits   "autoscale"
  2912.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  2913.   System {
  2914.     Name     "Scatter plotnreceiver"
  2915.     Location     [165, 242, 460, 428]
  2916.     Open     off
  2917.     ModelBrowserVisibility  off
  2918.     ModelBrowserWidth     200
  2919.     ScreenColor     "white"
  2920.     PaperOrientation     "landscape"
  2921.     PaperPositionMode     "auto"
  2922.     PaperType     "usletter"
  2923.     PaperUnits     "inches"
  2924.     ZoomFactor     "100"
  2925.     Block {
  2926.       BlockType       Inport
  2927.       Name       "in_1"
  2928.       Position       [75, 80, 95, 100]
  2929.     }
  2930.     Block {
  2931.       BlockType       "S-Function"
  2932.       Name       "Plot1"
  2933.       Ports       [1]
  2934.       Position       [130, 70, 200, 110]
  2935.       FunctionName       "eyesampl"
  2936.       Parameters       "time_range, boundary, kept_length, eye_"
  2937. "line, scatter_line, two_d_line"
  2938.     }
  2939.     Line {
  2940.       SrcBlock       "in_1"
  2941.       SrcPort       1
  2942.       DstBlock       "Plot1"
  2943.       DstPort       1
  2944.     }
  2945.   }
  2946. }
  2947. Block {
  2948.   BlockType   Step
  2949.   Name   "Step input"
  2950.   Position   [35, 85, 55, 105]
  2951.   Time   "starttime"
  2952.   SampleTime   "1"
  2953. }
  2954. Block {
  2955.   BlockType   Switch
  2956.   Name   "Switch"
  2957.   Position   [110, 44, 135, 76]
  2958.   Threshold   "1"
  2959. }
  2960. Block {
  2961.   BlockType   SubSystem
  2962.   Name   "Trajectorynreceiver"
  2963.   Ports   [1]
  2964.   Position   [275, 107, 330, 143]
  2965.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  2966.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  2967.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  2968.   StartFcn   "eyediasi([],[],[],'Start')"
  2969.   StopFcn   "eyediasi([],[],[],'Stop')"
  2970.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  2971.   ShowPortLabels   off
  2972.   TreatAsAtomicUnit   off
  2973.   MaskType   "Eye-diagram/scatter plot"
  2974.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  2975. "-y plot with the rising edge of the second input as the decision line."
  2976.   MaskHelp   "This plot opens one, two, or three plots by"
  2977. " assigning the line type parameters. The scatter plot point is selected by th"
  2978. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  2979. "e of the trigger signal."
  2980.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  2981. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  2982. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  2983. "plot):|Line-type for x-y plot (0 for no plot):"
  2984.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2985.   MaskTunableValueString  "on,on,on,on,on,on"
  2986.   MaskCallbackString   "|||||"
  2987.   MaskEnableString   "on,on,on,on,on,on"
  2988.   MaskVisibilityString   "on,on,on,on,on,on"
  2989.   MaskToolTipString   "on,on,on,on,on,on"
  2990.   MaskVarAliasString   ",,,,,"
  2991.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2992. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  2993. "5,get_param(gcb,'orientation'),2);"
  2994.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  2995.   MaskIconFrame   on
  2996.   MaskIconOpaque   on
  2997.   MaskIconRotate   "none"
  2998.   MaskIconUnits   "autoscale"
  2999.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  3000.   System {
  3001.     Name     "Trajectorynreceiver"
  3002.     Location     [165, 242, 460, 428]
  3003.     Open     off
  3004.     ModelBrowserVisibility  off
  3005.     ModelBrowserWidth     200
  3006.     ScreenColor     "white"
  3007.     PaperOrientation     "landscape"
  3008.     PaperPositionMode     "auto"
  3009.     PaperType     "usletter"
  3010.     PaperUnits     "inches"
  3011.     ZoomFactor     "100"
  3012.     Block {
  3013.       BlockType       Inport
  3014.       Name       "in_1"
  3015.       Position       [15, 55, 35, 75]
  3016.     }
  3017.     Block {
  3018.       BlockType       Constant
  3019.       Name       "Constant"
  3020.       Position       [15, 110, 45, 140]
  3021.       Value       "0"
  3022.     }
  3023.     Block {
  3024.       BlockType       Mux
  3025.       Name       "Mux"
  3026.       Ports       [2, 1]
  3027.       Position       [65, 70, 100, 105]
  3028.       Inputs       "2"
  3029.     }
  3030.     Block {
  3031.       BlockType       "S-Function"
  3032.       Name       "Plot1"
  3033.       Ports       [1]
  3034.       Position       [130, 70, 200, 110]
  3035.       FunctionName       "eyediasi"
  3036.       Parameters       "time_range, boundary, kept_length, eye_"
  3037. "line, scatter_line, two_d_line"
  3038.     }
  3039.     Line {
  3040.       SrcBlock       "Mux"
  3041.       SrcPort       1
  3042.       DstBlock       "Plot1"
  3043.       DstPort       1
  3044.     }
  3045.     Line {
  3046.       SrcBlock       "Constant"
  3047.       SrcPort       1
  3048.       DstBlock       "Mux"
  3049.       DstPort       2
  3050.     }
  3051.     Line {
  3052.       SrcBlock       "in_1"
  3053.       SrcPort       1
  3054.       Points       [5, 0; 0, 15]
  3055.       DstBlock       "Mux"
  3056.       DstPort       1
  3057.     }
  3058.   }
  3059. }
  3060. Line {
  3061.   SrcBlock   "Mux"
  3062.   SrcPort   1
  3063.   DstBlock   "Eye patternnreceiver"
  3064.   DstPort   1
  3065. }
  3066. Line {
  3067.   SrcBlock   "in_1"
  3068.   SrcPort   1
  3069.   DstBlock   "Switch"
  3070.   DstPort   1
  3071. }
  3072. Line {
  3073.   SrcBlock   "Step input"
  3074.   SrcPort   1
  3075.   Points   [15, 0; 0, -35]
  3076.   DstBlock   "Switch"
  3077.   DstPort   2
  3078. }
  3079. Line {
  3080.   SrcBlock   "Constant"
  3081.   SrcPort   1
  3082.   Points   [35, 0]
  3083.   DstBlock   "Switch"
  3084.   DstPort   3
  3085. }
  3086. Line {
  3087.   SrcBlock   "Mux1"
  3088.   SrcPort   1
  3089.   Points   [25, 0]
  3090.   Branch {
  3091.     Points     [10, 0]
  3092.     DstBlock     "Trajectorynreceiver"
  3093.     DstPort     1
  3094.   }
  3095.   Branch {
  3096.     Points     [0, 75]
  3097.     DstBlock     "Scatter plotnreceiver"
  3098.     DstPort     1
  3099.   }
  3100. }
  3101. Line {
  3102.   SrcBlock   "Constant1"
  3103.   SrcPort   1
  3104.   Points   [10, 0; 0, -20]
  3105.   Branch {
  3106.     Points     [0, -75]
  3107.     DstBlock     "Mux"
  3108.     DstPort     1
  3109.   }
  3110.   Branch {
  3111.     DstBlock     "Mux1"
  3112.     DstPort     2
  3113.   }
  3114. }
  3115. Line {
  3116.   SrcBlock   "Switch"
  3117.   SrcPort   1
  3118.   Points   [10, 0]
  3119.   Branch {
  3120.     DstBlock     "Mux"
  3121.     DstPort     2
  3122.   }
  3123.   Branch {
  3124.     Points     [0, 45]
  3125.     DstBlock     "Mux1"
  3126.     DstPort     1
  3127.   }
  3128. }
  3129.       }
  3130.     }
  3131.     Block {
  3132.       BlockType       Scope
  3133.       Name       "s(t)"
  3134.       Ports       [1]
  3135.       Position       [310, 170, 340, 200]
  3136.       Orientation       "down"
  3137.       NamePlacement       "alternate"
  3138.       Location       [224, 533, 1147, 633]
  3139.       Open       off
  3140.       NumInputPorts       "1"
  3141.       List {
  3142. ListType AxesTitles
  3143. axes1 "%<SignalLabel>"
  3144.       }
  3145.       TimeRange       "25.000000"
  3146.       YMin       "-1.5"
  3147.       YMax       "1.5"
  3148.       DataFormat       "Array"
  3149.     }
  3150.     Block {
  3151.       BlockType       Scope
  3152.       Name       "s_r(t)"
  3153.       Ports       [1]
  3154.       Position       [825, 185, 855, 215]
  3155.       Orientation       "down"
  3156.       Location       [223, 794, 1147, 894]
  3157.       Open       off
  3158.       NumInputPorts       "1"
  3159.       List {
  3160. ListType AxesTitles
  3161. axes1 "%<SignalLabel>"
  3162.       }
  3163.       TimeRange       "25.000000"
  3164.       YMin       "-1.5"
  3165.       YMax       "1.5"
  3166.       DataFormat       "Array"
  3167.     }
  3168.     Block {
  3169.       BlockType       Scope
  3170.       Name       "sink signal v(t)"
  3171.       Ports       [1]
  3172.       Position       [995, 115, 1025, 145]
  3173.       Location       [223, 794, 1147, 894]
  3174.       Open       off
  3175.       NumInputPorts       "1"
  3176.       List {
  3177. ListType AxesTitles
  3178. axes1 "%<SignalLabel>"
  3179.       }
  3180.       TimeRange       "25.000000"
  3181.       YMin       "-3"
  3182.       YMax       "3"
  3183.       DataFormat       "Array"
  3184.     }
  3185.     Block {
  3186.       BlockType       Scope
  3187.       Name       "transmitted signal u(t)"
  3188.       Ports       [1]
  3189.       Position       [420, 225, 450, 255]
  3190.       Orientation       "down"
  3191.       Location       [224, 631, 1147, 731]
  3192.       Open       off
  3193.       NumInputPorts       "1"
  3194.       List {
  3195. ListType AxesTitles
  3196. axes1 "%<SignalLabel>"
  3197.       }
  3198.       TimeRange       "25.000000"
  3199.       YMin       "-1.5"
  3200.       YMax       "1.5"
  3201.       DataFormat       "Array"
  3202.     }
  3203.     Block {
  3204.       BlockType       SubSystem
  3205.       Name       "transmitterndiagrams"
  3206.       Ports       [1]
  3207.       Position       [345, 15, 400, 55]
  3208.       ShowPortLabels       off
  3209.       TreatAsAtomicUnit       off
  3210.       MaskType       "Diagrams"
  3211.       MaskDescription       "Eye pattern,  signal-space trajectory and scatt"
  3212. "er plot"
  3213.       MaskPromptString       "Plot start time:|samples per time slot|decision"
  3214. " offset"
  3215.       MaskStyleString       "edit,edit,edit"
  3216.       MaskTunableValueString  "on,on,on"
  3217.       MaskCallbackString      "||"
  3218.       MaskEnableString       "on,on,on"
  3219.       MaskVisibilityString    "on,on,on"
  3220.       MaskToolTipString       "on,on,on"
  3221.       MaskVarAliasString      ",,"
  3222.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  3223.       MaskInitialization      " [x, y] = srcsicon(10);"
  3224.       MaskDisplay       "plot(0,0,100,100,x,y)"
  3225.       MaskIconFrame       on
  3226.       MaskIconOpaque       on
  3227.       MaskIconRotate       "none"
  3228.       MaskIconUnits       "autoscale"
  3229.       MaskValueString       "6|40|0"
  3230.       System {
  3231. Name "transmitterndiagrams"
  3232. Location [475, 310, 844, 551]
  3233. Open off
  3234. ModelBrowserVisibility off
  3235. ModelBrowserWidth 200
  3236. ScreenColor "white"
  3237. PaperOrientation "landscape"
  3238. PaperPositionMode "auto"
  3239. PaperType "usletter"
  3240. PaperUnits "inches"
  3241. ZoomFactor "100"
  3242. Block {
  3243.   BlockType   Inport
  3244.   Name   "in_1"
  3245.   Position   [35, 40, 55, 60]
  3246. }
  3247. Block {
  3248.   BlockType   Constant
  3249.   Name   "Constant"
  3250.   Position   [35, 130, 55, 150]
  3251.   Value   "Inf"
  3252. }
  3253. Block {
  3254.   BlockType   Constant
  3255.   Name   "Constant1"
  3256.   Position   [130, 130, 150, 150]
  3257.   Value   "0"
  3258. }
  3259. Block {
  3260.   BlockType   SubSystem
  3261.   Name   "Eye pattern ntransmitter"
  3262.   Ports   [1]
  3263.   Position   [275, 37, 330, 73]
  3264.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  3265.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  3266.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  3267.   StartFcn   "eyesampl([],[],[],'Start')"
  3268.   StopFcn   "eyesampl([],[],[],'Stop')"
  3269.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  3270.   ShowPortLabels   off
  3271.   TreatAsAtomicUnit   off
  3272.   MaskType   "Eye-diagram/scatter plot"
  3273.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  3274. "plot."
  3275.   MaskHelp   "This plot opens one, or two plots by assign"
  3276. "ing the line type parameters. The scatter plot point is selected by the decis"
  3277. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  3278. "attern diagram. The plot is updated at the plot update sample time point."
  3279.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  3280. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  3281. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  3282. "or scatter plot (0 for no plot):|Plot update sample time:"
  3283.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  3284.   MaskTunableValueString  "on,on,on,on,on,on"
  3285.   MaskCallbackString   "|||||"
  3286.   MaskEnableString   "on,on,on,on,on,on"
  3287.   MaskVisibilityString   "on,on,on,on,on,on"
  3288.   MaskToolTipString   "on,on,on,on,on,on"
  3289.   MaskVarAliasString   ",,,,,"
  3290.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  3291. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3292.   MaskDisplay   "plot(0,0,100,100,x,y);"
  3293.   MaskIconFrame   on
  3294.   MaskIconOpaque   on
  3295.   MaskIconRotate   "none"
  3296.   MaskIconUnits   "autoscale"
  3297.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  3298. "ahl"
  3299.   System {
  3300.     Name     "Eye pattern ntransmitter"
  3301.     Location     [121, 409, 416, 595]
  3302.     Open     off
  3303.     ModelBrowserVisibility  off
  3304.     ModelBrowserWidth     200
  3305.     ScreenColor     "white"
  3306.     PaperOrientation     "landscape"
  3307.     PaperPositionMode     "auto"
  3308.     PaperType     "usletter"
  3309.     PaperUnits     "inches"
  3310.     ZoomFactor     "100"
  3311.     Block {
  3312.       BlockType       Inport
  3313.       Name       "in_1"
  3314.       Position       [75, 80, 95, 100]
  3315.     }
  3316.     Block {
  3317.       BlockType       "S-Function"
  3318.       Name       "Plot1"
  3319.       Ports       [1]
  3320.       Position       [130, 70, 200, 110]
  3321.       FunctionName       "eyesampl"
  3322.       Parameters       "time_range, boundary, kept_length, eye_"
  3323. "line, scatter_line, two_d_line"
  3324.     }
  3325.     Line {
  3326.       SrcBlock       "in_1"
  3327.       SrcPort       1
  3328.       DstBlock       "Plot1"
  3329.       DstPort       1
  3330.     }
  3331.   }
  3332. }
  3333. Block {
  3334.   BlockType   Mux
  3335.   Name   "Mux"
  3336.   Ports   [2, 1]
  3337.   Position   [185, 36, 220, 69]
  3338.   Inputs   "2"
  3339. }
  3340. Block {
  3341.   BlockType   Mux
  3342.   Name   "Mux1"
  3343.   Ports   [2, 1]
  3344.   Position   [185, 96, 220, 129]
  3345.   Inputs   "2"
  3346. }
  3347. Block {
  3348.   BlockType   SubSystem
  3349.   Name   "Scatter plotntransmitter"
  3350.   Ports   [1]
  3351.   Position   [275, 173, 330, 207]
  3352.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  3353.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  3354.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  3355.   StartFcn   "eyesampl([],[],[],'Start')"
  3356.   StopFcn   "eyesampl([],[],[],'Stop')"
  3357.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  3358.   ShowPortLabels   off
  3359.   TreatAsAtomicUnit   off
  3360.   MaskType   "Eye-diagram/scatter plot"
  3361.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  3362. "plot."
  3363.   MaskHelp   "This plot opens one, or two plots by assign"
  3364. "ing the line type parameters. The scatter plot point is selected by the decis"
  3365. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  3366. "attern diagram. The plot is updated at the plot update sample time point."
  3367.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  3368. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  3369. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  3370. "or scatter plot (0 for no plot):|Plot update sample time:"
  3371.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  3372.   MaskTunableValueString  "on,on,on,on,on,on"
  3373.   MaskCallbackString   "|||||"
  3374.   MaskEnableString   "on,on,on,on,on,on"
  3375.   MaskVisibilityString   "on,on,on,on,on,on"
  3376.   MaskToolTipString   "on,on,on,on,on,on"
  3377.   MaskVarAliasString   ",,,,,"
  3378.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  3379. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3380.   MaskDisplay   "plot(0,0,100,100,x,y);"
  3381.   MaskIconFrame   on
  3382.   MaskIconOpaque   on
  3383.   MaskIconRotate   "none"
  3384.   MaskIconUnits   "autoscale"
  3385.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  3386.   System {
  3387.     Name     "Scatter plotntransmitter"
  3388.     Location     [165, 242, 460, 428]
  3389.     Open     off
  3390.     ModelBrowserVisibility  off
  3391.     ModelBrowserWidth     200
  3392.     ScreenColor     "white"
  3393.     PaperOrientation     "landscape"
  3394.     PaperPositionMode     "auto"
  3395.     PaperType     "usletter"
  3396.     PaperUnits     "inches"
  3397.     ZoomFactor     "100"
  3398.     Block {
  3399.       BlockType       Inport
  3400.       Name       "in_1"
  3401.       Position       [75, 80, 95, 100]
  3402.     }
  3403.     Block {
  3404.       BlockType       "S-Function"
  3405.       Name       "Plot1"
  3406.       Ports       [1]
  3407.       Position       [130, 70, 200, 110]
  3408.       FunctionName       "eyesampl"
  3409.       Parameters       "time_range, boundary, kept_length, eye_"
  3410. "line, scatter_line, two_d_line"
  3411.     }
  3412.     Line {
  3413.       SrcBlock       "in_1"
  3414.       SrcPort       1
  3415.       DstBlock       "Plot1"
  3416.       DstPort       1
  3417.     }
  3418.   }
  3419. }
  3420. Block {
  3421.   BlockType   Step
  3422.   Name   "Step input"
  3423.   Position   [35, 85, 55, 105]
  3424.   Time   "starttime"
  3425.   SampleTime   "1"
  3426. }
  3427. Block {
  3428.   BlockType   Switch
  3429.   Name   "Switch"
  3430.   Position   [110, 44, 135, 76]
  3431.   Threshold   "1"
  3432. }
  3433. Block {
  3434.   BlockType   SubSystem
  3435.   Name   "Trajectoryntransmitter"
  3436.   Ports   [1]
  3437.   Position   [275, 107, 330, 143]
  3438.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  3439.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  3440.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  3441.   StartFcn   "eyediasi([],[],[],'Start')"
  3442.   StopFcn   "eyediasi([],[],[],'Stop')"
  3443.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  3444.   ShowPortLabels   off
  3445.   TreatAsAtomicUnit   off
  3446.   MaskType   "Eye-diagram/scatter plot"
  3447.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  3448. "-y plot with the rising edge of the second input as the decision line."
  3449.   MaskHelp   "This plot opens one, two, or three plots by"
  3450. " assigning the line type parameters. The scatter plot point is selected by th"
  3451. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  3452. "e of the trigger signal."
  3453.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  3454. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  3455. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  3456. "plot):|Line-type for x-y plot (0 for no plot):"
  3457.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  3458.   MaskTunableValueString  "on,on,on,on,on,on"
  3459.   MaskCallbackString   "|||||"
  3460.   MaskEnableString   "on,on,on,on,on,on"
  3461.   MaskVisibilityString   "on,on,on,on,on,on"
  3462.   MaskToolTipString   "on,on,on,on,on,on"
  3463.   MaskVarAliasString   ",,,,,"
  3464.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  3465. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  3466. "5,get_param(gcb,'orientation'),2);"
  3467.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  3468.   MaskIconFrame   on
  3469.   MaskIconOpaque   on
  3470.   MaskIconRotate   "none"
  3471.   MaskIconUnits   "autoscale"
  3472.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  3473.   System {
  3474.     Name     "Trajectoryntransmitter"
  3475.     Location     [165, 242, 460, 428]
  3476.     Open     off
  3477.     ModelBrowserVisibility  off
  3478.     ModelBrowserWidth     200
  3479.     ScreenColor     "white"
  3480.     PaperOrientation     "landscape"
  3481.     PaperPositionMode     "auto"
  3482.     PaperType     "usletter"
  3483.     PaperUnits     "inches"
  3484.     ZoomFactor     "100"
  3485.     Block {
  3486.       BlockType       Inport
  3487.       Name       "in_1"
  3488.       Position       [15, 55, 35, 75]
  3489.     }
  3490.     Block {
  3491.       BlockType       Constant
  3492.       Name       "Constant"
  3493.       Position       [15, 110, 45, 140]
  3494.       Value       "0"
  3495.     }
  3496.     Block {
  3497.       BlockType       Mux
  3498.       Name       "Mux"
  3499.       Ports       [2, 1]
  3500.       Position       [65, 70, 100, 105]
  3501.       Inputs       "2"
  3502.     }
  3503.     Block {
  3504.       BlockType       "S-Function"
  3505.       Name       "Plot1"
  3506.       Ports       [1]
  3507.       Position       [130, 70, 200, 110]
  3508.       FunctionName       "eyediasi"
  3509.       Parameters       "time_range, boundary, kept_length, eye_"
  3510. "line, scatter_line, two_d_line"
  3511.     }
  3512.     Line {
  3513.       SrcBlock       "in_1"
  3514.       SrcPort       1
  3515.       Points       [5, 0; 0, 15]
  3516.       DstBlock       "Mux"
  3517.       DstPort       1
  3518.     }
  3519.     Line {
  3520.       SrcBlock       "Constant"
  3521.       SrcPort       1
  3522.       DstBlock       "Mux"
  3523.       DstPort       2
  3524.     }
  3525.     Line {
  3526.       SrcBlock       "Mux"
  3527.       SrcPort       1
  3528.       DstBlock       "Plot1"
  3529.       DstPort       1
  3530.     }
  3531.   }
  3532. }
  3533. Line {
  3534.   SrcBlock   "Switch"
  3535.   SrcPort   1
  3536.   Points   [10, 0]
  3537.   Branch {
  3538.     DstBlock     "Mux"
  3539.     DstPort     2
  3540.   }
  3541.   Branch {
  3542.     Points     [0, 45]
  3543.     DstBlock     "Mux1"
  3544.     DstPort     1
  3545.   }
  3546. }
  3547. Line {
  3548.   SrcBlock   "Constant1"
  3549.   SrcPort   1
  3550.   Points   [10, 0; 0, -20]
  3551.   Branch {
  3552.     Points     [0, -75]
  3553.     DstBlock     "Mux"
  3554.     DstPort     1
  3555.   }
  3556.   Branch {
  3557.     DstBlock     "Mux1"
  3558.     DstPort     2
  3559.   }
  3560. }
  3561. Line {
  3562.   SrcBlock   "Mux1"
  3563.   SrcPort   1
  3564.   Points   [25, 0]
  3565.   Branch {
  3566.     Points     [10, 0]
  3567.     DstBlock     "Trajectoryntransmitter"
  3568.     DstPort     1
  3569.   }
  3570.   Branch {
  3571.     Points     [0, 75]
  3572.     DstBlock     "Scatter plotntransmitter"
  3573.     DstPort     1
  3574.   }
  3575. }
  3576. Line {
  3577.   SrcBlock   "Constant"
  3578.   SrcPort   1
  3579.   Points   [35, 0]
  3580.   DstBlock   "Switch"
  3581.   DstPort   3
  3582. }
  3583. Line {
  3584.   SrcBlock   "Step input"
  3585.   SrcPort   1
  3586.   Points   [15, 0; 0, -35]
  3587.   DstBlock   "Switch"
  3588.   DstPort   2
  3589. }
  3590. Line {
  3591.   SrcBlock   "in_1"
  3592.   SrcPort   1
  3593.   DstBlock   "Switch"
  3594.   DstPort   1
  3595. }
  3596. Line {
  3597.   SrcBlock   "Mux"
  3598.   SrcPort   1
  3599.   DstBlock   "Eye pattern ntransmitter"
  3600.   DstPort   1
  3601. }
  3602.       }
  3603.     }
  3604.     Line {
  3605.       SrcBlock       "Clock"
  3606.       SrcPort       1
  3607.       DstBlock       "Fcn"
  3608.       DstPort       1
  3609.     }
  3610.     Line {
  3611.       SrcBlock       "Product"
  3612.       SrcPort       1
  3613.       Points       [25, 0]
  3614.       Branch {
  3615. DstBlock "transmitted signal u(t)"
  3616. DstPort 1
  3617.       }
  3618.       Branch {
  3619. DstBlock "Channel"
  3620. DstPort 1
  3621.       }
  3622.     }
  3623.     Line {
  3624.       SrcBlock       "4-ASK demap"
  3625.       SrcPort       1
  3626.       Points       [25, 0]
  3627.       Branch {
  3628. DstBlock "sink signal v(t)"
  3629. DstPort 1
  3630.       }
  3631.       Branch {
  3632. DstBlock "Error rate"
  3633. DstPort 2
  3634.       }
  3635.     }
  3636.     Line {
  3637.       SrcBlock       "Fcn"
  3638.       SrcPort       1
  3639.       Points       [0, -90]
  3640.       DstBlock       "Product"
  3641.       DstPort       2
  3642.     }
  3643.     Line {
  3644.       SrcBlock       "4-ary source"
  3645.       SrcPort       2
  3646.       Points       [0, -15; 20, 0]
  3647.       Branch {
  3648. DstBlock "4-ASK"
  3649. DstPort 1
  3650.       }
  3651.       Branch {
  3652. Points [0, 115]
  3653. Branch {
  3654.   Points   [0, 25; 800, 0; 0, -55]
  3655.   DstBlock   "Error rate"
  3656.   DstPort   1
  3657. }
  3658. Branch {
  3659.   DstBlock   "a(t)"
  3660.   DstPort   1
  3661. }
  3662.       }
  3663.     }
  3664.     Line {
  3665.       SrcBlock       "Clock1"
  3666.       SrcPort       1
  3667.       DstBlock       "Fcn1"
  3668.       DstPort       1
  3669.     }
  3670.     Line {
  3671.       SrcBlock       "Gain"
  3672.       SrcPort       1
  3673.       Points       [15, 0]
  3674.       Branch {
  3675. DstBlock "4-ASK demap"
  3676. DstPort 1
  3677.       }
  3678.       Branch {
  3679. Points [0, -95]
  3680. DstBlock "receiverndiagrams"
  3681. DstPort 1
  3682.       }
  3683.       Branch {
  3684. DstBlock "s_r(t)"
  3685. DstPort 1
  3686.       }
  3687.     }
  3688.     Line {
  3689.       SrcBlock       "Channel"
  3690.       SrcPort       1
  3691.       Points       [25, 0]
  3692.       Branch {
  3693. DstBlock "Product1"
  3694. DstPort 2
  3695.       }
  3696.       Branch {
  3697. DstBlock "received signal r(t)"
  3698. DstPort 1
  3699.       }
  3700.     }
  3701.     Line {
  3702.       SrcBlock       "Fcn1"
  3703.       SrcPort       1
  3704.       Points       [5, 0; 0, 90]
  3705.       DstBlock       "Product1"
  3706.       DstPort       1
  3707.     }
  3708.     Line {
  3709.       SrcBlock       "4-ary source"
  3710.       SrcPort       1
  3711.       Points       [35, 0; 0, -80]
  3712.       DstBlock       "binaryndata"
  3713.       DstPort       1
  3714.     }
  3715.     Line {
  3716.       SrcBlock       "4-ASK"
  3717.       SrcPort       1
  3718.       DstBlock       "Raised-Cosinentransmit filter"
  3719.       DstPort       1
  3720.     }
  3721.     Line {
  3722.       SrcBlock       "Raised-Cosinentransmit filter"
  3723.       SrcPort       1
  3724.       Points       [25, 0]
  3725.       Branch {
  3726. DstBlock "Product"
  3727. DstPort 1
  3728.       }
  3729.       Branch {
  3730. DstBlock "s(t)"
  3731. DstPort 1
  3732.       }
  3733.       Branch {
  3734. Points [0, -90]
  3735. DstBlock "transmitterndiagrams"
  3736. DstPort 1
  3737.       }
  3738.     }
  3739.     Line {
  3740.       SrcBlock       "Product1"
  3741.       SrcPort       1
  3742.       DstBlock       "Raised-Cosinenreceive filter"
  3743.       DstPort       1
  3744.     }
  3745.     Line {
  3746.       SrcBlock       "Raised-Cosinenreceive filter"
  3747.       SrcPort       1
  3748.       DstBlock       "Gain"
  3749.       DstPort       1
  3750.     }
  3751.   }
  3752. }