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

通讯编程文档

开发平台:

Matlab

  1. Model {
  2.   Name   "ooknrzbw"
  3.   Version   5.0
  4.   SaveDefaultBlockParams  on
  5.   SampleTimeColors   off
  6.   LibraryLinkDisplay   "none"
  7.   WideLines   off
  8.   ShowLineDimensions   off
  9.   ShowPortDataTypes   off
  10.   ShowLoopsOnError   on
  11.   IgnoreBidirectionalLines off
  12.   ShowStorageClass   off
  13.   ExecutionOrder   off
  14.   RecordCoverage   off
  15.   CovPath   "/"
  16.   CovSaveName   "covdata"
  17.   CovMetricSettings   "dw"
  18.   CovNameIncrementing   off
  19.   CovHtmlReporting   on
  20.   covSaveCumulativeToWorkspaceVar on
  21.   CovSaveSingleToWorkspaceVar on
  22.   CovCumulativeVarName   "covCumulativeData"
  23.   CovCumulativeReport   off
  24.   DataTypeOverride   "UseLocalSettings"
  25.   MinMaxOverflowLogging   "UseLocalSettings"
  26.   MinMaxOverflowArchiveMode "Overwrite"
  27.   BlockNameDataTip   off
  28.   BlockParametersDataTip  off
  29.   BlockDescriptionStringDataTip off
  30.   ToolBar   on
  31.   StatusBar   on
  32.   BrowserShowLibraryLinks off
  33.   BrowserLookUnderMasks   off
  34.   CloseFcn   "closemodcross"
  35.   Created   "Tue Jul 24 14:18:54 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:37:10 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   ".000001"
  82.   MaxNumMinSteps   "-1"
  83.   InitialStep   "auto"
  84.   FixedStep   "auto"
  85.   RelTol   "1e-3"
  86.   AbsTol   "1e-3"
  87.   OutputOption   "RefineOutputTimes"
  88.   OutputTimes   "[]"
  89.   Refine   "1"
  90.   LoadExternalInput   off
  91.   ExternalInput   "[t, u]"
  92.   LoadInitialState   off
  93.   InitialState   "xInitial"
  94.   SaveTime   off
  95.   TimeSaveName   "tout"
  96.   SaveState   off
  97.   StateSaveName   "xout"
  98.   SaveOutput   off
  99.   OutputSaveName   "yout"
  100.   SaveFinalState   off
  101.   FinalStateName   "xFinal"
  102.   SaveFormat   "Array"
  103.   Decimation   "1"
  104.   LimitDataPoints   on
  105.   MaxDataPoints   "1000"
  106.   SignalLoggingName   "sigsOut"
  107.   ConsistencyChecking   "none"
  108.   ArrayBoundsChecking   "none"
  109.   AlgebraicLoopMsg   "warning"
  110.   BlockPriorityViolationMsg "warning"
  111.   MinStepSizeMsg   "warning"
  112.   InheritedTsInSrcMsg   "warning"
  113.   DiscreteInheritContinuousMsg "warning"
  114.   MultiTaskRateTransMsg   "error"
  115.   SingleTaskRateTransMsg  "none"
  116.   CheckForMatrixSingularity "none"
  117.   IntegerOverflowMsg   "warning"
  118.   Int32ToFloatConvMsg   "warning"
  119.   ParameterDowncastMsg   "error"
  120.   ParameterOverflowMsg   "error"
  121.   ParameterPrecisionLossMsg "warning"
  122.   UnderSpecifiedDataTypeMsg "none"
  123.   UnnecessaryDatatypeConvMsg "none"
  124.   VectorMatrixConversionMsg "none"
  125.   InvalidFcnCallConnMsg   "error"
  126.   SignalLabelMismatchMsg  "none"
  127.   UnconnectedInputMsg   "warning"
  128.   UnconnectedOutputMsg   "warning"
  129.   UnconnectedLineMsg   "warning"
  130.   SfunCompatibilityCheckMsg "none"
  131.   RTWInlineParameters   off
  132.   BlockReductionOpt   off
  133.   BooleanDataType   off
  134.   ConditionallyExecuteInputs on
  135.   ParameterPooling   on
  136.   OptimizeBlockIOStorage  on
  137.   ZeroCross   on
  138.   AssertionControl   "UseLocalSettings"
  139.   ProdHWDeviceType   "Microprocessor"
  140.   ProdHWWordLengths   "8,16,32,32"
  141.   RTWSystemTargetFile   "grt.tlc"
  142.   RTWTemplateMakefile   "grt_default_tmf"
  143.   RTWMakeCommand   "make_rtw"
  144.   RTWGenerateCodeOnly   off
  145.   RTWRetainRTWFile   off
  146.   TLCProfiler   off
  147.   TLCDebug   off
  148.   TLCCoverage   off
  149.   TLCAssertion   off
  150.   BlockDefaults {
  151.     Orientation     "right"
  152.     ForegroundColor     "black"
  153.     BackgroundColor     "white"
  154.     DropShadow     off
  155.     NamePlacement     "normal"
  156.     FontName     "Helvetica"
  157.     FontSize     10
  158.     FontWeight     "normal"
  159.     FontAngle     "normal"
  160.     ShowName     on
  161.   }
  162.   BlockParameterDefaults {
  163.     Block {
  164.       BlockType       Clock
  165.       DisplayTime       off
  166.     }
  167.     Block {
  168.       BlockType       Constant
  169.       Value       "1"
  170.       VectorParams1D       on
  171.       ShowAdditionalParam     off
  172.       OutDataTypeMode       "Inherit from 'Constant value'"
  173.       OutDataType       "sfix(16)"
  174.       ConRadixGroup       "Use specified scaling"
  175.       OutScaling       "2^0"
  176.     }
  177.     Block {
  178.       BlockType       Fcn
  179.       Expr       "sin(u[1])"
  180.     }
  181.     Block {
  182.       BlockType       Inport
  183.       Port       "1"
  184.       PortDimensions       "-1"
  185.       SampleTime       "-1"
  186.       ShowAdditionalParam     off
  187.       LatchInput       off
  188.       DataType       "auto"
  189.       OutDataType       "sfix(16)"
  190.       OutScaling       "2^0"
  191.       SignalType       "auto"
  192.       SamplingMode       "auto"
  193.       Interpolate       on
  194.     }
  195.     Block {
  196.       BlockType       Mux
  197.       Inputs       "4"
  198.       DisplayOption       "none"
  199.     }
  200.     Block {
  201.       BlockType       Outport
  202.       Port       "1"
  203.       OutputWhenDisabled      "held"
  204.       InitialOutput       "[]"
  205.     }
  206.     Block {
  207.       BlockType       Product
  208.       Inputs       "2"
  209.       Multiplication       "Element-wise(.*)"
  210.       ShowAdditionalParam     off
  211.       InputSameDT       on
  212.       OutDataTypeMode       "Same as first input"
  213.       OutDataType       "sfix(16)"
  214.       OutScaling       "2^0"
  215.       LockScale       off
  216.       RndMeth       "Floor"
  217.       SaturateOnIntegerOverflow on
  218.     }
  219.     Block {
  220.       BlockType       RandomNumber
  221.       Mean       "0"
  222.       Variance       "1"
  223.       Seed       "0"
  224.       SampleTime       "-1"
  225.       VectorParams1D       on
  226.     }
  227.     Block {
  228.       BlockType       RelationalOperator
  229.       Operator       ">="
  230.       ShowAdditionalParam     off
  231.       InputSameDT       on
  232.       LogicOutDataTypeMode    "Logical (see Advanced Sim. Parameters)"
  233.       LogicDataType       "uint(8)"
  234.       ZeroCross       on
  235.     }
  236.     Block {
  237.       BlockType       Scope
  238.       Floating       off
  239.       ModelBased       off
  240.       TickLabels       "OneTimeTick"
  241.       ZoomMode       "on"
  242.       Grid       "on"
  243.       TimeRange       "auto"
  244.       YMin       "-5"
  245.       YMax       "5"
  246.       SaveToWorkspace       off
  247.       SaveName       "ScopeData"
  248.       LimitDataPoints       on
  249.       MaxDataPoints       "5000"
  250.       Decimation       "1"
  251.       SampleInput       off
  252.       SampleTime       "0"
  253.     }
  254.     Block {
  255.       BlockType       "S-Function"
  256.       FunctionName       "system"
  257.       PortCounts       "[]"
  258.       SFunctionModules       "''"
  259.     }
  260.     Block {
  261.       BlockType       StateSpace
  262.       A       "1"
  263.       B       "1"
  264.       C       "1"
  265.       D       "1"
  266.       X0       "0"
  267.       AbsoluteTolerance       "auto"
  268.       Realization       "auto"
  269.     }
  270.     Block {
  271.       BlockType       Step
  272.       Time       "1"
  273.       Before       "0"
  274.       After       "1"
  275.       SampleTime       "-1"
  276.       VectorParams1D       on
  277.       ZeroCross       on
  278.     }
  279.     Block {
  280.       BlockType       SubSystem
  281.       ShowPortLabels       on
  282.       Permissions       "ReadWrite"
  283.       RTWSystemCode       "Auto"
  284.       RTWFcnNameOpts       "Auto"
  285.       RTWFileNameOpts       "Auto"
  286.       SimViewingDevice       off
  287.       DataTypeOverride       "UseLocalSettings"
  288.       MinMaxOverflowLogging   "UseLocalSettings"
  289.     }
  290.     Block {
  291.       BlockType       Sum
  292.       IconShape       "rectangular"
  293.       Inputs       "++"
  294.       ShowAdditionalParam     off
  295.       InputSameDT       on
  296.       OutDataTypeMode       "Same as first input"
  297.       OutDataType       "sfix(16)"
  298.       OutScaling       "2^0"
  299.       LockScale       off
  300.       RndMeth       "Floor"
  301.       SaturateOnIntegerOverflow on
  302.     }
  303.     Block {
  304.       BlockType       Switch
  305.       Criteria       "u2 >= Threshold"
  306.       Threshold       "0"
  307.       ShowAdditionalParam     off
  308.       InputSameDT       on
  309.       OutDataTypeMode       "Inherit via internal rule"
  310.       RndMeth       "Floor"
  311.       SaturateOnIntegerOverflow on
  312.       ZeroCross       on
  313.     }
  314.     Block {
  315.       BlockType       ZeroPole
  316.       Zeros       "[1]"
  317.       Poles       "[0 1]"
  318.       Gain       "[1]"
  319.       AbsoluteTolerance       "auto"
  320.     }
  321.   }
  322.   AnnotationDefaults {
  323.     HorizontalAlignment     "center"
  324.     VerticalAlignment     "middle"
  325.     ForegroundColor     "black"
  326.     BackgroundColor     "white"
  327.     DropShadow     off
  328.     FontName     "Helvetica"
  329.     FontSize     10
  330.     FontWeight     "normal"
  331.     FontAngle     "normal"
  332.   }
  333.   LineDefaults {
  334.     FontName     "Helvetica"
  335.     FontSize     9
  336.     FontWeight     "normal"
  337.     FontAngle     "normal"
  338.   }
  339.   System {
  340.     Name     "ooknrzbw"
  341.     Location     [12, 235, 1008, 513]
  342.     Open     on
  343.     ModelBrowserVisibility  off
  344.     ModelBrowserWidth     200
  345.     ScreenColor     "white"
  346.     PaperOrientation     "landscape"
  347.     PaperPositionMode     "auto"
  348.     PaperType     "usletter"
  349.     PaperUnits     "inches"
  350.     ZoomFactor     "100"
  351.     ReportName     "simulink-default.rpt"
  352.     Block {
  353.       BlockType       Reference
  354.       Name       "ButterworthLP filter"
  355.       Ports       [1, 1]
  356.       Position       [760, 109, 825, 151]
  357.       SourceBlock       "librnew/ButterworthLP filter"
  358.       SourceType       "Lowpass Butterworth filter"
  359.       MaskParam1       "5"
  360.       n       "4"
  361.     }
  362.     Block {
  363.       BlockType       Reference
  364.       Name       "Channel"
  365.       Ports       [1, 1]
  366.       Position       [495, 114, 575, 156]
  367.       SourceBlock       "librnew/Channel"
  368.       SourceType       "AWGN channel, fixed parameter"
  369.       m       "0"
  370.       variance       "0.001"
  371.       s       "12345"
  372.     }
  373.     Block {
  374.       BlockType       Clock
  375.       Name       "Clock"
  376.       Position       [215, 150, 235, 170]
  377.       Decimation       "10"
  378.     }
  379.     Block {
  380.       BlockType       Clock
  381.       Name       "Clock1"
  382.       Position       [495, 25, 515, 45]
  383.       ShowName       off
  384.       Decimation       "10"
  385.     }
  386.     Block {
  387.       BlockType       SubSystem
  388.       Name       "Error rate"
  389.       Ports       [2]
  390.       Position       [900, 235, 980, 275]
  391.       Orientation       "down"
  392.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  393.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  394.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  395.       StartFcn       "sbiterr([],[],[],'Start')"
  396.       StopFcn       "sbiterr([],[],[],'Stop')"
  397.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  398.       ShowPortLabels       off
  399.       TreatAsAtomicUnit       off
  400.       MaskType       "Symbol/bit error counter"
  401.       MaskDescription       "Use the input data from the 1st port as the ref"
  402. "erence signal to detect the number of errors and error rate of the 2nd signal"
  403. "."
  404.       MaskHelp       "The signal from the first port must be a scalar"
  405. ". The second input port can be a vector with a delay to the first port signal"
  406. ". The comparison happens only at the sampling point."
  407.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  408. "lay between 1st port and 2nd port:|Sample time (sec):"
  409.       MaskStyleString       "edit,edit,edit,edit"
  410.       MaskTunableValueString  "on,on,on,on"
  411.       MaskCallbackString      "|||"
  412.       MaskEnableString       "on,on,on,on"
  413.       MaskVisibilityString    "on,on,on,on"
  414.       MaskToolTipString       "on,on,on,on"
  415.       MaskVarAliasString      ",,,"
  416.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  417.       MaskDisplay       "disp('Error\nmeter')"
  418.       MaskIconFrame       on
  419.       MaskIconOpaque       on
  420.       MaskIconRotate       "none"
  421.       MaskIconUnits       "autoscale"
  422.       MaskValueString       "1|10|1|1"
  423.       System {
  424. Name "Error rate"
  425. Location [255, 368, 509, 510]
  426. Open off
  427. ModelBrowserVisibility off
  428. ModelBrowserWidth 200
  429. ScreenColor "white"
  430. PaperOrientation "landscape"
  431. PaperPositionMode "auto"
  432. PaperType "usletter"
  433. PaperUnits "inches"
  434. ZoomFactor "100"
  435. Block {
  436.   BlockType   Inport
  437.   Name   "in_1"
  438.   Position   [15, 45, 35, 65]
  439. }
  440. Block {
  441.   BlockType   Inport
  442.   Name   "in_2"
  443.   Position   [15, 60, 35, 80]
  444.   Port   "2"
  445. }
  446. Block {
  447.   BlockType   Mux
  448.   Name   "Mux"
  449.   Ports   [2, 1]
  450.   Position   [65, 46, 100, 79]
  451.   Inputs   "2"
  452. }
  453. Block {
  454.   BlockType   "S-Function"
  455.   Name   "S-function"
  456.   Ports   [1]
  457.   Position   [130, 52, 195, 78]
  458.   FunctionName   "sbiterr"
  459.   Parameters   "num_lin, K, TDelay, Sample"
  460. }
  461. Line {
  462.   SrcBlock   "in_2"
  463.   SrcPort   1
  464.   DstBlock   "Mux"
  465.   DstPort   2
  466. }
  467. Line {
  468.   SrcBlock   "in_1"
  469.   SrcPort   1
  470.   DstBlock   "Mux"
  471.   DstPort   1
  472. }
  473. Line {
  474.   SrcBlock   "Mux"
  475.   SrcPort   1
  476.   DstBlock   "S-function"
  477.   DstPort   1
  478. }
  479.       }
  480.     }
  481.     Block {
  482.       BlockType       Fcn
  483.       Name       "Fcn"
  484.       Position       [535, 22, 630, 48]
  485.       ShowName       off
  486.       Expr       "2*cos(4*pi*u)"
  487.     }
  488.     Block {
  489.       BlockType       Fcn
  490.       Name       "Fcn1"
  491.       Position       [260, 145, 355, 175]
  492.       ShowName       off
  493.       Expr       "cos(4*pi*u)"
  494.     }
  495.     Block {
  496.       BlockType       SubSystem
  497.       Name       "Noise variance"
  498.       Ports       []
  499.       Position       [479, 80, 585, 104]
  500.       BackgroundColor       "lightBlue"
  501.       ShowName       off
  502.       OpenFcn       "setnoise"
  503.       FontSize       12
  504.       FontAngle       "italic"
  505.       ShowPortLabels       off
  506.       TreatAsAtomicUnit       off
  507.       MaskType       "noise"
  508.       MaskDisplay       "disp('Noise variance')"
  509.       MaskIconFrame       on
  510.       MaskIconOpaque       on
  511.       MaskIconRotate       "none"
  512.       MaskIconUnits       "autoscale"
  513.       System {
  514. Name "Noise variance"
  515. Location [136, 230, 381, 439]
  516. Open off
  517. ModelBrowserVisibility off
  518. ModelBrowserWidth 200
  519. ScreenColor "cyan"
  520. PaperOrientation "landscape"
  521. PaperPositionMode "auto"
  522. PaperType "usletter"
  523. PaperUnits "inches"
  524. ZoomFactor "100"
  525.       }
  526.     }
  527.     Block {
  528.       BlockType       Product
  529.       Name       "Product"
  530.       Ports       [2, 1]
  531.       Position       [395, 123, 425, 147]
  532.       ShowName       off
  533.     }
  534.     Block {
  535.       BlockType       Product
  536.       Name       "Product1"
  537.       Ports       [2, 1]
  538.       Position       [650, 118, 680, 142]
  539.       ShowName       off
  540.     }
  541.     Block {
  542.       BlockType       SubSystem
  543.       Name       "Source"
  544.       Ports       [0, 1]
  545.       Position       [55, 103, 85, 157]
  546.       ShowPortLabels       off
  547.       TreatAsAtomicUnit       off
  548.       System {
  549. Name "Source"
  550. Location [38, 153, 317, 326]
  551. Open off
  552. ModelBrowserVisibility off
  553. ModelBrowserWidth 200
  554. ScreenColor "white"
  555. PaperOrientation "landscape"
  556. PaperPositionMode "auto"
  557. PaperType "usletter"
  558. PaperUnits "inches"
  559. ZoomFactor "100"
  560. Block {
  561.   BlockType   SubSystem
  562.   Name   "Source"
  563.   Ports   [0, 1]
  564.   Position   [70, 63, 135, 107]
  565.   ShowPortLabels   off
  566.   TreatAsAtomicUnit   off
  567.   MaskType   "Read from workspace"
  568.   MaskDescription   "Read from a workspace variable atnsampling"
  569. " time point."
  570.   MaskHelp   "This block reads from a workspace variable "
  571. "at a given sample time. The column number is the block output vector length. "
  572. "When the simulation reaches the end of the variable (eof), the block will cyc"
  573. "lically output from the first row of the variable or output zeros based on th"
  574. "e repeat flag entree."
  575.   MaskPromptString   "Variable (column_number=block_output_length"
  576. "):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output zero"
  577. "s after eof).|Initial output:"
  578.   MaskStyleString   "edit,edit,edit,edit"
  579.   MaskTunableValueString  "on,on,on,on"
  580.   MaskCallbackString   "|||"
  581.   MaskEnableString   "on,on,on,on"
  582.   MaskVisibilityString   "on,on,on,on"
  583.   MaskToolTipString   "on,on,on,on"
  584.   MaskVarAliasString   ",,,"
  585.   MaskInitialization   "var=@1;td=@2;ts=td(1);if (length(td)>=2),of"
  586. "f=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
  587.   MaskDisplay   "plot(0,0,100,100,x,y);disp('Rd wksp')"
  588.   MaskIconFrame   on
  589.   MaskIconOpaque   on
  590.   MaskIconRotate   "none"
  591.   MaskIconUnits   "autoscale"
  592.   MaskValueString   "randint(1000,1,2)|1|1|1"
  593.   System {
  594.     Name     "Source"
  595.     Location     [355, 528, 737, 675]
  596.     Open     off
  597.     ModelBrowserVisibility  off
  598.     ModelBrowserWidth     200
  599.     ScreenColor     "white"
  600.     PaperOrientation     "landscape"
  601.     PaperPositionMode     "auto"
  602.     PaperType     "usletter"
  603.     PaperUnits     "inches"
  604.     ZoomFactor     "100"
  605.     Block {
  606.       BlockType       "S-Function"
  607.       Name       "Message source"
  608.       Ports       [1, 1]
  609.       Position       [180, 53, 255, 97]
  610.       BackgroundColor       "yellow"
  611.       FunctionName       "trigwksp"
  612.       Parameters       "var,thd,cyclFlag,ini"
  613.       MaskType       "Read from workspace"
  614.       MaskDescription       "The raising edge of input pulse trigger"
  615. " the block output the next row from the workspace variable."
  616.       MaskHelp       "This block reads the data from a worksp"
  617. "ace variable. The output is refreshed at the raising edge of the input pulse."
  618.       MaskPromptString       "Read the variable:|Threshold for the in"
  619. "put pulse:|Cyclic read variable (1) or amend zeros (0).|Output before first t"
  620. "rigger:"
  621.       MaskStyleString       "edit,edit,edit,edit"
  622.       MaskTunableValueString  "on,on,on,on"
  623.       MaskCallbackString      "|||"
  624.       MaskEnableString       "on,on,on,on"
  625.       MaskVisibilityString    "on,on,on,on"
  626.       MaskToolTipString       "on,on,on,on"
  627.       MaskVarAliasString      ",,,"
  628.       MaskInitialization      "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
  629.       MaskDisplay       "disp('Triggered\nread')"
  630.       MaskIconFrame       on
  631.       MaskIconOpaque       on
  632.       MaskIconRotate       "none"
  633.       MaskIconUnits       "autoscale"
  634.       MaskValueString       "var|.1|cyc|ini"
  635.     }
  636.     Block {
  637.       BlockType       SubSystem
  638.       Name       "Pulses deividensame sample time1"
  639.       Ports       [0, 1]
  640.       Position       [50, 56, 110, 94]
  641.       ShowPortLabels       off
  642.       TreatAsAtomicUnit       off
  643.       MaskType       "Pulse generator"
  644.       MaskDescription       "Vector pulses with sample rate of each "
  645. "pulse as Sample_time ./Divider. "
  646.       MaskHelp       "This block generator a vector pulses. T"
  647. "he output length is the same as the vector defined in "Divider". The ith el"
  648. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  649. "in "Divider" must be integers."
  650.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  651. "eger vector):|Offset (have same dimension as Divider:"
  652.       MaskStyleString       "edit,edit,edit"
  653.       MaskTunableValueString  "on,on,on"
  654.       MaskCallbackString      "||"
  655.       MaskEnableString       "on,on,on"
  656.       MaskVisibilityString    "on,on,on"
  657.       MaskToolTipString       "on,on,on"
  658.       MaskVarAliasString      ",,"
  659.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  660.       MaskDisplay       "disp('Vector\nPulse')"
  661.       MaskIconFrame       on
  662.       MaskIconOpaque       on
  663.       MaskIconRotate       "none"
  664.       MaskIconUnits       "autoscale"
  665.       MaskValueString       "ts|1|off"
  666.       System {
  667. Name "Pulses deividensame sample time1"
  668. Location [55, 192, 283, 286]
  669. Open off
  670. ModelBrowserVisibility off
  671. ModelBrowserWidth 200
  672. ScreenColor "white"
  673. PaperOrientation "landscape"
  674. PaperPositionMode "auto"
  675. PaperType "usletter"
  676. PaperUnits "inches"
  677. ZoomFactor "100"
  678. Block {
  679.   BlockType   "S-Function"
  680.   Name   "S-function1"
  681.   Ports   [0, 1]
  682.   Position   [40, 31, 105, 59]
  683.   FunctionName   "homopuls"
  684.   Parameters   "samp_time, out_divid, offset"
  685. }
  686. Block {
  687.   BlockType   Outport
  688.   Name   "Outport"
  689.   Position   [160, 35, 180, 55]
  690. }
  691. Line {
  692.   SrcBlock   "S-function1"
  693.   SrcPort   1
  694.   DstBlock   "Outport"
  695.   DstPort   1
  696. }
  697.       }
  698.     }
  699.     Block {
  700.       BlockType       Outport
  701.       Name       "out_1"
  702.       Position       [295, 65, 315, 85]
  703.     }
  704.     Line {
  705.       SrcBlock       "Message source"
  706.       SrcPort       1
  707.       DstBlock       "out_1"
  708.       DstPort       1
  709.     }
  710.     Line {
  711.       SrcBlock       "Pulses deividensame sample time1"
  712.       SrcPort       1
  713.       DstBlock       "Message source"
  714.       DstPort       1
  715.     }
  716.   }
  717. }
  718. Block {
  719.   BlockType   Outport
  720.   Name   "out_1"
  721.   Position   [230, 75, 250, 95]
  722. }
  723. Line {
  724.   SrcBlock   "Source"
  725.   SrcPort   1
  726.   DstBlock   "out_1"
  727.   DstPort   1
  728. }
  729.       }
  730.     }
  731.     Block {
  732.       BlockType       Scope
  733.       Name       "a(t)"
  734.       Ports       [1]
  735.       Position       [120, 215, 150, 245]
  736.       NamePlacement       "alternate"
  737.       Location       [212, 338, 1147, 438]
  738.       Open       off
  739.       NumInputPorts       "1"
  740.       List {
  741. ListType AxesTitles
  742. axes1 "%<SignalLabel>"
  743.       }
  744.       TimeRange       "25.000000"
  745.       YMin       "-2"
  746.       YMax       "2"
  747.       DataFormat       "Array"
  748.     }
  749.     Block {
  750.       BlockType       Scope
  751.       Name       "received signal r(t)"
  752.       Ports       [1]
  753.       Position       [585, 215, 615, 245]
  754.       Orientation       "down"
  755.       Location       [211, 630, 1147, 730]
  756.       Open       off
  757.       NumInputPorts       "1"
  758.       List {
  759. ListType AxesTitles
  760. axes1 "%<SignalLabel>"
  761.       }
  762.       TimeRange       "25.000000"
  763.       YMin       "-2"
  764.       YMax       "2"
  765.       DataFormat       "Array"
  766.     }
  767.     Block {
  768.       BlockType       SubSystem
  769.       Name       "receiverndiagrams"
  770.       Ports       [1]
  771.       Position       [880, 15, 935, 55]
  772.       ShowPortLabels       off
  773.       TreatAsAtomicUnit       off
  774.       MaskType       "Diagrams"
  775.       MaskDescription       "Eye pattern, signal space trajectory and scatte"
  776. "r plot"
  777.       MaskPromptString       "Plot start time:|Samples per time slot (2*T):|D"
  778. "ecision offset:"
  779.       MaskStyleString       "edit,edit,edit"
  780.       MaskTunableValueString  "on,on,on"
  781.       MaskCallbackString      "||"
  782.       MaskEnableString       "on,on,on"
  783.       MaskVisibilityString    "on,on,on"
  784.       MaskToolTipString       "on,on,on"
  785.       MaskVarAliasString      ",,"
  786.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  787.       MaskInitialization      " [x, y] = srcsicon(10);"
  788.       MaskDisplay       "plot(0,0,100,100,x,y)"
  789.       MaskIconFrame       on
  790.       MaskIconOpaque       on
  791.       MaskIconRotate       "none"
  792.       MaskIconUnits       "autoscale"
  793.       MaskValueString       "1|40|.075"
  794.       System {
  795. Name "receiverndiagrams"
  796. Location [475, 310, 844, 551]
  797. Open off
  798. ModelBrowserVisibility off
  799. ModelBrowserWidth 200
  800. ScreenColor "white"
  801. PaperOrientation "landscape"
  802. PaperPositionMode "auto"
  803. PaperType "usletter"
  804. PaperUnits "inches"
  805. ZoomFactor "100"
  806. Block {
  807.   BlockType   Inport
  808.   Name   "in_1"
  809.   Position   [35, 40, 55, 60]
  810. }
  811. Block {
  812.   BlockType   Constant
  813.   Name   "Constant"
  814.   Position   [35, 130, 55, 150]
  815.   Value   "Inf"
  816. }
  817. Block {
  818.   BlockType   Constant
  819.   Name   "Constant1"
  820.   Position   [130, 130, 150, 150]
  821.   Value   "0"
  822. }
  823. Block {
  824.   BlockType   SubSystem
  825.   Name   "Eye patternnreceiver"
  826.   Ports   [1]
  827.   Position   [275, 37, 330, 73]
  828.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  829.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  830.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  831.   StartFcn   "eyesampl([],[],[],'Start')"
  832.   StopFcn   "eyesampl([],[],[],'Stop')"
  833.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  834.   ShowPortLabels   off
  835.   TreatAsAtomicUnit   off
  836.   MaskType   "Eye-diagram/scatter plot"
  837.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  838. "plot."
  839.   MaskHelp   "This plot opens one, or two plots by assign"
  840. "ing the line type parameters. The scatter plot point is selected by the decis"
  841. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  842. "attern diagram. The plot is updated at the plot update sample time point."
  843.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  844. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  845. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  846. "or scatter plot (0 for no plot):|Plot update sample time:"
  847.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  848.   MaskTunableValueString  "on,on,on,on,on,on"
  849.   MaskCallbackString   "|||||"
  850.   MaskEnableString   "on,on,on,on,on,on"
  851.   MaskVisibilityString   "on,on,on,on,on,on"
  852.   MaskToolTipString   "on,on,on,on,on,on"
  853.   MaskVarAliasString   ",,,,,"
  854.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  855. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  856.   MaskDisplay   "plot(0,0,100,100,x,y);"
  857.   MaskIconFrame   on
  858.   MaskIconOpaque   on
  859.   MaskIconRotate   "none"
  860.   MaskIconUnits   "autoscale"
  861.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  862. "ahl"
  863.   System {
  864.     Name     "Eye patternnreceiver"
  865.     Location     [121, 409, 416, 595]
  866.     Open     off
  867.     ModelBrowserVisibility  off
  868.     ModelBrowserWidth     200
  869.     ScreenColor     "white"
  870.     PaperOrientation     "landscape"
  871.     PaperPositionMode     "auto"
  872.     PaperType     "usletter"
  873.     PaperUnits     "inches"
  874.     ZoomFactor     "100"
  875.     Block {
  876.       BlockType       Inport
  877.       Name       "in_1"
  878.       Position       [75, 80, 95, 100]
  879.     }
  880.     Block {
  881.       BlockType       "S-Function"
  882.       Name       "Plot1"
  883.       Ports       [1]
  884.       Position       [130, 70, 200, 110]
  885.       FunctionName       "eyesampl"
  886.       Parameters       "time_range, boundary, kept_length, eye_"
  887. "line, scatter_line, two_d_line"
  888.     }
  889.     Line {
  890.       SrcBlock       "in_1"
  891.       SrcPort       1
  892.       DstBlock       "Plot1"
  893.       DstPort       1
  894.     }
  895.   }
  896. }
  897. Block {
  898.   BlockType   Mux
  899.   Name   "Mux"
  900.   Ports   [2, 1]
  901.   Position   [185, 36, 220, 69]
  902.   Inputs   "2"
  903. }
  904. Block {
  905.   BlockType   Mux
  906.   Name   "Mux1"
  907.   Ports   [2, 1]
  908.   Position   [185, 96, 220, 129]
  909.   Inputs   "2"
  910. }
  911. Block {
  912.   BlockType   SubSystem
  913.   Name   "Scatter plot nreceiver"
  914.   Ports   [1]
  915.   Position   [275, 173, 330, 207]
  916.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  917.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  918.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  919.   StartFcn   "eyesampl([],[],[],'Start')"
  920.   StopFcn   "eyesampl([],[],[],'Stop')"
  921.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  922.   ShowPortLabels   off
  923.   TreatAsAtomicUnit   off
  924.   MaskType   "Eye-diagram/scatter plot"
  925.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  926. "plot."
  927.   MaskHelp   "This plot opens one, or two plots by assign"
  928. "ing the line type parameters. The scatter plot point is selected by the decis"
  929. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  930. "attern diagram. The plot is updated at the plot update sample time point."
  931.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  932. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  933. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  934. "or scatter plot (0 for no plot):|Plot update sample time:"
  935.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  936.   MaskTunableValueString  "on,on,on,on,on,on"
  937.   MaskCallbackString   "|||||"
  938.   MaskEnableString   "on,on,on,on,on,on"
  939.   MaskVisibilityString   "on,on,on,on,on,on"
  940.   MaskToolTipString   "on,on,on,on,on,on"
  941.   MaskVarAliasString   ",,,,,"
  942.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  943. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  944.   MaskDisplay   "plot(0,0,100,100,x,y);"
  945.   MaskIconFrame   on
  946.   MaskIconOpaque   on
  947.   MaskIconRotate   "none"
  948.   MaskIconUnits   "autoscale"
  949.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  950.   System {
  951.     Name     "Scatter plot nreceiver"
  952.     Location     [165, 242, 460, 428]
  953.     Open     off
  954.     ModelBrowserVisibility  off
  955.     ModelBrowserWidth     200
  956.     ScreenColor     "white"
  957.     PaperOrientation     "landscape"
  958.     PaperPositionMode     "auto"
  959.     PaperType     "usletter"
  960.     PaperUnits     "inches"
  961.     ZoomFactor     "100"
  962.     Block {
  963.       BlockType       Inport
  964.       Name       "in_1"
  965.       Position       [75, 80, 95, 100]
  966.     }
  967.     Block {
  968.       BlockType       "S-Function"
  969.       Name       "Plot1"
  970.       Ports       [1]
  971.       Position       [130, 70, 200, 110]
  972.       FunctionName       "eyesampl"
  973.       Parameters       "time_range, boundary, kept_length, eye_"
  974. "line, scatter_line, two_d_line"
  975.     }
  976.     Line {
  977.       SrcBlock       "in_1"
  978.       SrcPort       1
  979.       DstBlock       "Plot1"
  980.       DstPort       1
  981.     }
  982.   }
  983. }
  984. Block {
  985.   BlockType   Step
  986.   Name   "Step input"
  987.   Position   [35, 85, 55, 105]
  988.   Time   "starttime"
  989.   SampleTime   "1"
  990. }
  991. Block {
  992.   BlockType   Switch
  993.   Name   "Switch"
  994.   Position   [110, 44, 135, 76]
  995.   Threshold   "1"
  996. }
  997. Block {
  998.   BlockType   SubSystem
  999.   Name   "Trajectorynreceiver"
  1000.   Ports   [1]
  1001.   Position   [275, 107, 330, 143]
  1002.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  1003.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  1004.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  1005.   StartFcn   "eyediasi([],[],[],'Start')"
  1006.   StopFcn   "eyediasi([],[],[],'Stop')"
  1007.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  1008.   ShowPortLabels   off
  1009.   TreatAsAtomicUnit   off
  1010.   MaskType   "Eye-diagram/scatter plot"
  1011.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  1012. "-y plot with the rising edge of the second input as the decision line."
  1013.   MaskHelp   "This plot opens one, two, or three plots by"
  1014. " assigning the line type parameters. The scatter plot point is selected by th"
  1015. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  1016. "e of the trigger signal."
  1017.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  1018. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  1019. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  1020. "plot):|Line-type for x-y plot (0 for no plot):"
  1021.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1022.   MaskTunableValueString  "on,on,on,on,on,on"
  1023.   MaskCallbackString   "|||||"
  1024.   MaskEnableString   "on,on,on,on,on,on"
  1025.   MaskVisibilityString   "on,on,on,on,on,on"
  1026.   MaskToolTipString   "on,on,on,on,on,on"
  1027.   MaskVarAliasString   ",,,,,"
  1028.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  1029. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  1030. "5,get_param(gcb,'orientation'),2);"
  1031.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  1032.   MaskIconFrame   on
  1033.   MaskIconOpaque   on
  1034.   MaskIconRotate   "none"
  1035.   MaskIconUnits   "autoscale"
  1036.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  1037.   System {
  1038.     Name     "Trajectorynreceiver"
  1039.     Location     [165, 242, 460, 428]
  1040.     Open     off
  1041.     ModelBrowserVisibility  off
  1042.     ModelBrowserWidth     200
  1043.     ScreenColor     "white"
  1044.     PaperOrientation     "landscape"
  1045.     PaperPositionMode     "auto"
  1046.     PaperType     "usletter"
  1047.     PaperUnits     "inches"
  1048.     ZoomFactor     "100"
  1049.     Block {
  1050.       BlockType       Inport
  1051.       Name       "in_1"
  1052.       Position       [15, 55, 35, 75]
  1053.     }
  1054.     Block {
  1055.       BlockType       Constant
  1056.       Name       "Constant"
  1057.       Position       [15, 110, 45, 140]
  1058.       Value       "0"
  1059.     }
  1060.     Block {
  1061.       BlockType       Mux
  1062.       Name       "Mux"
  1063.       Ports       [2, 1]
  1064.       Position       [65, 70, 100, 105]
  1065.       Inputs       "2"
  1066.     }
  1067.     Block {
  1068.       BlockType       "S-Function"
  1069.       Name       "Plot1"
  1070.       Ports       [1]
  1071.       Position       [130, 70, 200, 110]
  1072.       FunctionName       "eyediasi"
  1073.       Parameters       "time_range, boundary, kept_length, eye_"
  1074. "line, scatter_line, two_d_line"
  1075.     }
  1076.     Line {
  1077.       SrcBlock       "Mux"
  1078.       SrcPort       1
  1079.       DstBlock       "Plot1"
  1080.       DstPort       1
  1081.     }
  1082.     Line {
  1083.       SrcBlock       "Constant"
  1084.       SrcPort       1
  1085.       DstBlock       "Mux"
  1086.       DstPort       2
  1087.     }
  1088.     Line {
  1089.       SrcBlock       "in_1"
  1090.       SrcPort       1
  1091.       Points       [5, 0; 0, 15]
  1092.       DstBlock       "Mux"
  1093.       DstPort       1
  1094.     }
  1095.   }
  1096. }
  1097. Line {
  1098.   SrcBlock   "Mux"
  1099.   SrcPort   1
  1100.   DstBlock   "Eye patternnreceiver"
  1101.   DstPort   1
  1102. }
  1103. Line {
  1104.   SrcBlock   "in_1"
  1105.   SrcPort   1
  1106.   DstBlock   "Switch"
  1107.   DstPort   1
  1108. }
  1109. Line {
  1110.   SrcBlock   "Step input"
  1111.   SrcPort   1
  1112.   Points   [15, 0; 0, -35]
  1113.   DstBlock   "Switch"
  1114.   DstPort   2
  1115. }
  1116. Line {
  1117.   SrcBlock   "Constant"
  1118.   SrcPort   1
  1119.   Points   [35, 0]
  1120.   DstBlock   "Switch"
  1121.   DstPort   3
  1122. }
  1123. Line {
  1124.   SrcBlock   "Mux1"
  1125.   SrcPort   1
  1126.   Points   [25, 0]
  1127.   Branch {
  1128.     Points     [10, 0]
  1129.     DstBlock     "Trajectorynreceiver"
  1130.     DstPort     1
  1131.   }
  1132.   Branch {
  1133.     Points     [0, 75]
  1134.     DstBlock     "Scatter plot nreceiver"
  1135.     DstPort     1
  1136.   }
  1137. }
  1138. Line {
  1139.   SrcBlock   "Constant1"
  1140.   SrcPort   1
  1141.   Points   [10, 0; 0, -20]
  1142.   Branch {
  1143.     Points     [0, -75]
  1144.     DstBlock     "Mux"
  1145.     DstPort     1
  1146.   }
  1147.   Branch {
  1148.     DstBlock     "Mux1"
  1149.     DstPort     2
  1150.   }
  1151. }
  1152. Line {
  1153.   SrcBlock   "Switch"
  1154.   SrcPort   1
  1155.   Points   [10, 0]
  1156.   Branch {
  1157.     DstBlock     "Mux"
  1158.     DstPort     2
  1159.   }
  1160.   Branch {
  1161.     Points     [0, 45]
  1162.     DstBlock     "Mux1"
  1163.     DstPort     1
  1164.   }
  1165. }
  1166.       }
  1167.     }
  1168.     Block {
  1169.       BlockType       Scope
  1170.       Name       "s(t)"
  1171.       Ports       [1]
  1172.       Position       [165, 215, 195, 245]
  1173.       Orientation       "down"
  1174.       Location       [212, 436, 1147, 536]
  1175.       Open       off
  1176.       NumInputPorts       "1"
  1177.       List {
  1178. ListType AxesTitles
  1179. axes1 "%<SignalLabel>"
  1180.       }
  1181.       TimeRange       "25.000000"
  1182.       YMin       "-2"
  1183.       YMax       "2"
  1184.       DataFormat       "Array"
  1185.     }
  1186.     Block {
  1187.       BlockType       Scope
  1188.       Name       "s_r(t)"
  1189.       Ports       [1]
  1190.       Position       [840, 185, 870, 215]
  1191.       Orientation       "down"
  1192.       Location       [211, 794, 1147, 894]
  1193.       Open       off
  1194.       NumInputPorts       "1"
  1195.       List {
  1196. ListType AxesTitles
  1197. axes1 "%<SignalLabel>"
  1198.       }
  1199.       TimeRange       "25.000000"
  1200.       YMin       "-2"
  1201.       YMax       "2"
  1202.       DataFormat       "Array"
  1203.     }
  1204.     Block {
  1205.       BlockType       Scope
  1206.       Name       "sink signal v(t)"
  1207.       Ports       [1]
  1208.       Position       [1000, 115, 1030, 145]
  1209.       Location       [211, 794, 1147, 894]
  1210.       Open       off
  1211.       NumInputPorts       "1"
  1212.       List {
  1213. ListType AxesTitles
  1214. axes1 "%<SignalLabel>"
  1215.       }
  1216.       TimeRange       "25.000000"
  1217.       YMin       "-2"
  1218.       YMax       "2"
  1219.       DataFormat       "Array"
  1220.     }
  1221.     Block {
  1222.       BlockType       SubSystem
  1223.       Name       "thresholdndetector"
  1224.       Ports       [1, 1]
  1225.       Position       [895, 117, 925, 143]
  1226.       ShowPortLabels       off
  1227.       TreatAsAtomicUnit       off
  1228.       MaskType       "Sign"
  1229.       MaskDescription       "y = sign(x)"
  1230.       MaskHelp       "Sign Function:\n\t\t\ty = 1 if x > 0\n\t"
  1231. "\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
  1232.       MaskDisplay       "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-50,50"
  1233. "],[-40,0],[-30,-30],[0,40],[30,30])"
  1234.       MaskIconFrame       on
  1235.       MaskIconOpaque       on
  1236.       MaskIconRotate       "none"
  1237.       MaskIconUnits       "autoscale"
  1238.       System {
  1239. Name "thresholdndetector"
  1240. Location [159, 417, 467, 586]
  1241. Open off
  1242. ModelBrowserVisibility off
  1243. ModelBrowserWidth 200
  1244. ScreenColor "white"
  1245. PaperOrientation "landscape"
  1246. PaperPositionMode "auto"
  1247. PaperType "usletter"
  1248. PaperUnits "inches"
  1249. ZoomFactor "100"
  1250. Block {
  1251.   BlockType   Inport
  1252.   Name   "in_1"
  1253.   Position   [65, 20, 85, 40]
  1254. }
  1255. Block {
  1256.   BlockType   Constant
  1257.   Name   "Constant"
  1258.   Position   [60, 107, 90, 133]
  1259.   Value   "0.5"
  1260. }
  1261. Block {
  1262.   BlockType   RelationalOperator
  1263.   Name   "RelationalnOperator"
  1264.   Position   [150, 57, 180, 88]
  1265.   Operator   ">"
  1266. }
  1267. Block {
  1268.   BlockType   Outport
  1269.   Name   "out_1"
  1270.   Position   [215, 65, 235, 85]
  1271. }
  1272. Line {
  1273.   SrcBlock   "RelationalnOperator"
  1274.   SrcPort   1
  1275.   DstBlock   "out_1"
  1276.   DstPort   1
  1277. }
  1278. Line {
  1279.   SrcBlock   "Constant"
  1280.   SrcPort   1
  1281.   Points   [15, 0; 0, -40]
  1282.   DstBlock   "RelationalnOperator"
  1283.   DstPort   2
  1284. }
  1285. Line {
  1286.   SrcBlock   "in_1"
  1287.   SrcPort   1
  1288.   Points   [25, 0; 0, 35]
  1289.   DstBlock   "RelationalnOperator"
  1290.   DstPort   1
  1291. }
  1292.       }
  1293.     }
  1294.     Block {
  1295.       BlockType       Scope
  1296.       Name       "transmitted signal u(t)"
  1297.       Ports       [1]
  1298.       Position       [425, 195, 455, 225]
  1299.       Orientation       "down"
  1300.       Location       [211, 533, 1147, 633]
  1301.       Open       off
  1302.       NumInputPorts       "1"
  1303.       List {
  1304. ListType AxesTitles
  1305. axes1 "%<SignalLabel>"
  1306.       }
  1307.       TimeRange       "25.000000"
  1308.       YMin       "-2"
  1309.       YMax       "2"
  1310.       DataFormat       "Array"
  1311.     }
  1312.     Block {
  1313.       BlockType       SubSystem
  1314.       Name       "transmitterndiagrams"
  1315.       Ports       [1]
  1316.       Position       [215, 20, 270, 60]
  1317.       ShowPortLabels       off
  1318.       TreatAsAtomicUnit       off
  1319.       MaskType       "Diagrams"
  1320.       MaskDescription       "Eye pattern, signal space trajectory and scatte"
  1321. "r plot."
  1322.       MaskPromptString       "Plot start time:|Samples per time slot (2*T):|D"
  1323. "ecision offset:"
  1324.       MaskStyleString       "edit,edit,edit"
  1325.       MaskTunableValueString  "on,on,on"
  1326.       MaskCallbackString      "||"
  1327.       MaskEnableString       "on,on,on"
  1328.       MaskVisibilityString    "on,on,on"
  1329.       MaskToolTipString       "on,on,on"
  1330.       MaskVarAliasString      ",,"
  1331.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  1332.       MaskInitialization      " [x, y] = srcsicon(10);"
  1333.       MaskDisplay       "plot(0,0,100,100,x,y)"
  1334.       MaskIconFrame       on
  1335.       MaskIconOpaque       on
  1336.       MaskIconRotate       "none"
  1337.       MaskIconUnits       "autoscale"
  1338.       MaskValueString       "0|40|0"
  1339.       System {
  1340. Name "transmitterndiagrams"
  1341. Location [475, 310, 844, 551]
  1342. Open off
  1343. ModelBrowserVisibility off
  1344. ModelBrowserWidth 200
  1345. ScreenColor "white"
  1346. PaperOrientation "landscape"
  1347. PaperPositionMode "auto"
  1348. PaperType "usletter"
  1349. PaperUnits "inches"
  1350. ZoomFactor "100"
  1351. Block {
  1352.   BlockType   Inport
  1353.   Name   "in_1"
  1354.   Position   [35, 40, 55, 60]
  1355. }
  1356. Block {
  1357.   BlockType   Constant
  1358.   Name   "Constant"
  1359.   Position   [35, 130, 55, 150]
  1360.   Value   "Inf"
  1361. }
  1362. Block {
  1363.   BlockType   Constant
  1364.   Name   "Constant1"
  1365.   Position   [130, 130, 150, 150]
  1366.   Value   "0"
  1367. }
  1368. Block {
  1369.   BlockType   SubSystem
  1370.   Name   "Eye patternntransmitter"
  1371.   Ports   [1]
  1372.   Position   [275, 37, 330, 73]
  1373.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  1374.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  1375.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  1376.   StartFcn   "eyesampl([],[],[],'Start')"
  1377.   StopFcn   "eyesampl([],[],[],'Stop')"
  1378.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  1379.   ShowPortLabels   off
  1380.   TreatAsAtomicUnit   off
  1381.   MaskType   "Eye-diagram/scatter plot"
  1382.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  1383. "plot."
  1384.   MaskHelp   "This plot opens one, or two plots by assign"
  1385. "ing the line type parameters. The scatter plot point is selected by the decis"
  1386. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  1387. "attern diagram. The plot is updated at the plot update sample time point."
  1388.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  1389. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  1390. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  1391. "or scatter plot (0 for no plot):|Plot update sample time:"
  1392.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1393.   MaskTunableValueString  "on,on,on,on,on,on"
  1394.   MaskCallbackString   "|||||"
  1395.   MaskEnableString   "on,on,on,on,on,on"
  1396.   MaskVisibilityString   "on,on,on,on,on,on"
  1397.   MaskToolTipString   "on,on,on,on,on,on"
  1398.   MaskVarAliasString   ",,,,,"
  1399.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  1400. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1401.   MaskDisplay   "plot(0,0,100,100,x,y);"
  1402.   MaskIconFrame   on
  1403.   MaskIconOpaque   on
  1404.   MaskIconRotate   "none"
  1405.   MaskIconUnits   "autoscale"
  1406.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  1407. "ahl"
  1408.   System {
  1409.     Name     "Eye patternntransmitter"
  1410.     Location     [121, 409, 416, 595]
  1411.     Open     off
  1412.     ModelBrowserVisibility  off
  1413.     ModelBrowserWidth     200
  1414.     ScreenColor     "white"
  1415.     PaperOrientation     "landscape"
  1416.     PaperPositionMode     "auto"
  1417.     PaperType     "usletter"
  1418.     PaperUnits     "inches"
  1419.     ZoomFactor     "100"
  1420.     Block {
  1421.       BlockType       Inport
  1422.       Name       "in_1"
  1423.       Position       [75, 80, 95, 100]
  1424.     }
  1425.     Block {
  1426.       BlockType       "S-Function"
  1427.       Name       "Plot1"
  1428.       Ports       [1]
  1429.       Position       [130, 70, 200, 110]
  1430.       FunctionName       "eyesampl"
  1431.       Parameters       "time_range, boundary, kept_length, eye_"
  1432. "line, scatter_line, two_d_line"
  1433.     }
  1434.     Line {
  1435.       SrcBlock       "in_1"
  1436.       SrcPort       1
  1437.       DstBlock       "Plot1"
  1438.       DstPort       1
  1439.     }
  1440.   }
  1441. }
  1442. Block {
  1443.   BlockType   Mux
  1444.   Name   "Mux"
  1445.   Ports   [2, 1]
  1446.   Position   [185, 36, 220, 69]
  1447.   Inputs   "2"
  1448. }
  1449. Block {
  1450.   BlockType   Mux
  1451.   Name   "Mux1"
  1452.   Ports   [2, 1]
  1453.   Position   [185, 96, 220, 129]
  1454.   Inputs   "2"
  1455. }
  1456. Block {
  1457.   BlockType   SubSystem
  1458.   Name   "Scatter plotntransmitter"
  1459.   Ports   [1]
  1460.   Position   [275, 173, 330, 207]
  1461.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  1462.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  1463.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  1464.   StartFcn   "eyesampl([],[],[],'Start')"
  1465.   StopFcn   "eyesampl([],[],[],'Stop')"
  1466.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  1467.   ShowPortLabels   off
  1468.   TreatAsAtomicUnit   off
  1469.   MaskType   "Eye-diagram/scatter plot"
  1470.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  1471. "plot."
  1472.   MaskHelp   "This plot opens one, or two plots by assign"
  1473. "ing the line type parameters. The scatter plot point is selected by the decis"
  1474. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  1475. "attern diagram. The plot is updated at the plot update sample time point."
  1476.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  1477. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  1478. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  1479. "or scatter plot (0 for no plot):|Plot update sample time:"
  1480.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1481.   MaskTunableValueString  "on,on,on,on,on,on"
  1482.   MaskCallbackString   "|||||"
  1483.   MaskEnableString   "on,on,on,on,on,on"
  1484.   MaskVisibilityString   "on,on,on,on,on,on"
  1485.   MaskToolTipString   "on,on,on,on,on,on"
  1486.   MaskVarAliasString   ",,,,,"
  1487.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  1488. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1489.   MaskDisplay   "plot(0,0,100,100,x,y);"
  1490.   MaskIconFrame   on
  1491.   MaskIconOpaque   on
  1492.   MaskIconRotate   "none"
  1493.   MaskIconUnits   "autoscale"
  1494.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  1495.   System {
  1496.     Name     "Scatter plotntransmitter"
  1497.     Location     [165, 242, 460, 428]
  1498.     Open     off
  1499.     ModelBrowserVisibility  off
  1500.     ModelBrowserWidth     200
  1501.     ScreenColor     "white"
  1502.     PaperOrientation     "landscape"
  1503.     PaperPositionMode     "auto"
  1504.     PaperType     "usletter"
  1505.     PaperUnits     "inches"
  1506.     ZoomFactor     "100"
  1507.     Block {
  1508.       BlockType       Inport
  1509.       Name       "in_1"
  1510.       Position       [75, 80, 95, 100]
  1511.     }
  1512.     Block {
  1513.       BlockType       "S-Function"
  1514.       Name       "Plot1"
  1515.       Ports       [1]
  1516.       Position       [130, 70, 200, 110]
  1517.       FunctionName       "eyesampl"
  1518.       Parameters       "time_range, boundary, kept_length, eye_"
  1519. "line, scatter_line, two_d_line"
  1520.     }
  1521.     Line {
  1522.       SrcBlock       "in_1"
  1523.       SrcPort       1
  1524.       DstBlock       "Plot1"
  1525.       DstPort       1
  1526.     }
  1527.   }
  1528. }
  1529. Block {
  1530.   BlockType   Step
  1531.   Name   "Step input"
  1532.   Position   [35, 85, 55, 105]
  1533.   Time   "starttime"
  1534.   SampleTime   "1"
  1535. }
  1536. Block {
  1537.   BlockType   Switch
  1538.   Name   "Switch"
  1539.   Position   [110, 44, 135, 76]
  1540.   Threshold   "1"
  1541. }
  1542. Block {
  1543.   BlockType   SubSystem
  1544.   Name   "Trajectoryntransmitter"
  1545.   Ports   [1]
  1546.   Position   [275, 107, 330, 143]
  1547.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  1548.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  1549.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  1550.   StartFcn   "eyediasi([],[],[],'Start')"
  1551.   StopFcn   "eyediasi([],[],[],'Stop')"
  1552.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  1553.   ShowPortLabels   off
  1554.   TreatAsAtomicUnit   off
  1555.   MaskType   "Eye-diagram/scatter plot"
  1556.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  1557. "-y plot with the rising edge of the second input as the decision line."
  1558.   MaskHelp   "This plot opens one, two, or three plots by"
  1559. " assigning the line type parameters. The scatter plot point is selected by th"
  1560. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  1561. "e of the trigger signal."
  1562.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  1563. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  1564. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  1565. "plot):|Line-type for x-y plot (0 for no plot):"
  1566.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1567.   MaskTunableValueString  "on,on,on,on,on,on"
  1568.   MaskCallbackString   "|||||"
  1569.   MaskEnableString   "on,on,on,on,on,on"
  1570.   MaskVisibilityString   "on,on,on,on,on,on"
  1571.   MaskToolTipString   "on,on,on,on,on,on"
  1572.   MaskVarAliasString   ",,,,,"
  1573.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  1574. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  1575. "5,get_param(gcb,'orientation'),2);"
  1576.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  1577.   MaskIconFrame   on
  1578.   MaskIconOpaque   on
  1579.   MaskIconRotate   "none"
  1580.   MaskIconUnits   "autoscale"
  1581.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  1582.   System {
  1583.     Name     "Trajectoryntransmitter"
  1584.     Location     [165, 242, 460, 428]
  1585.     Open     off
  1586.     ModelBrowserVisibility  off
  1587.     ModelBrowserWidth     200
  1588.     ScreenColor     "white"
  1589.     PaperOrientation     "landscape"
  1590.     PaperPositionMode     "auto"
  1591.     PaperType     "usletter"
  1592.     PaperUnits     "inches"
  1593.     ZoomFactor     "100"
  1594.     Block {
  1595.       BlockType       Inport
  1596.       Name       "in_1"
  1597.       Position       [15, 55, 35, 75]
  1598.     }
  1599.     Block {
  1600.       BlockType       Constant
  1601.       Name       "Constant"
  1602.       Position       [15, 110, 45, 140]
  1603.       Value       "0"
  1604.     }
  1605.     Block {
  1606.       BlockType       Mux
  1607.       Name       "Mux"
  1608.       Ports       [2, 1]
  1609.       Position       [65, 70, 100, 105]
  1610.       Inputs       "2"
  1611.     }
  1612.     Block {
  1613.       BlockType       "S-Function"
  1614.       Name       "Plot1"
  1615.       Ports       [1]
  1616.       Position       [130, 70, 200, 110]
  1617.       FunctionName       "eyediasi"
  1618.       Parameters       "time_range, boundary, kept_length, eye_"
  1619. "line, scatter_line, two_d_line"
  1620.     }
  1621.     Line {
  1622.       SrcBlock       "in_1"
  1623.       SrcPort       1
  1624.       Points       [5, 0; 0, 15]
  1625.       DstBlock       "Mux"
  1626.       DstPort       1
  1627.     }
  1628.     Line {
  1629.       SrcBlock       "Constant"
  1630.       SrcPort       1
  1631.       DstBlock       "Mux"
  1632.       DstPort       2
  1633.     }
  1634.     Line {
  1635.       SrcBlock       "Mux"
  1636.       SrcPort       1
  1637.       DstBlock       "Plot1"
  1638.       DstPort       1
  1639.     }
  1640.   }
  1641. }
  1642. Line {
  1643.   SrcBlock   "Switch"
  1644.   SrcPort   1
  1645.   Points   [10, 0]
  1646.   Branch {
  1647.     DstBlock     "Mux"
  1648.     DstPort     2
  1649.   }
  1650.   Branch {
  1651.     Points     [0, 45]
  1652.     DstBlock     "Mux1"
  1653.     DstPort     1
  1654.   }
  1655. }
  1656. Line {
  1657.   SrcBlock   "Constant1"
  1658.   SrcPort   1
  1659.   Points   [10, 0; 0, -20]
  1660.   Branch {
  1661.     Points     [0, -75]
  1662.     DstBlock     "Mux"
  1663.     DstPort     1
  1664.   }
  1665.   Branch {
  1666.     DstBlock     "Mux1"
  1667.     DstPort     2
  1668.   }
  1669. }
  1670. Line {
  1671.   SrcBlock   "Mux1"
  1672.   SrcPort   1
  1673.   Points   [25, 0]
  1674.   Branch {
  1675.     Points     [10, 0]
  1676.     DstBlock     "Trajectoryntransmitter"
  1677.     DstPort     1
  1678.   }
  1679.   Branch {
  1680.     Points     [0, 75]
  1681.     DstBlock     "Scatter plotntransmitter"
  1682.     DstPort     1
  1683.   }
  1684. }
  1685. Line {
  1686.   SrcBlock   "Constant"
  1687.   SrcPort   1
  1688.   Points   [35, 0]
  1689.   DstBlock   "Switch"
  1690.   DstPort   3
  1691. }
  1692. Line {
  1693.   SrcBlock   "Step input"
  1694.   SrcPort   1
  1695.   Points   [15, 0; 0, -35]
  1696.   DstBlock   "Switch"
  1697.   DstPort   2
  1698. }
  1699. Line {
  1700.   SrcBlock   "in_1"
  1701.   SrcPort   1
  1702.   DstBlock   "Switch"
  1703.   DstPort   1
  1704. }
  1705. Line {
  1706.   SrcBlock   "Mux"
  1707.   SrcPort   1
  1708.   DstBlock   "Eye patternntransmitter"
  1709.   DstPort   1
  1710. }
  1711.       }
  1712.     }
  1713.     Block {
  1714.       BlockType       Scope
  1715.       Name       "x(t)"
  1716.       Ports       [1]
  1717.       Position       [705, 185, 735, 215]
  1718.       Orientation       "down"
  1719.       Location       [211, 727, 1147, 827]
  1720.       Open       off
  1721.       NumInputPorts       "1"
  1722.       List {
  1723. ListType AxesTitles
  1724. axes1 "%<SignalLabel>"
  1725.       }
  1726.       TimeRange       "25.000000"
  1727.       YMin       "-2"
  1728.       YMax       "2"
  1729.       DataFormat       "Array"
  1730.     }
  1731.     Line {
  1732.       SrcBlock       "Clock"
  1733.       SrcPort       1
  1734.       DstBlock       "Fcn1"
  1735.       DstPort       1
  1736.     }
  1737.     Line {
  1738.       SrcBlock       "Fcn"
  1739.       SrcPort       1
  1740.       DstBlock       "Product1"
  1741.       DstPort       1
  1742.     }
  1743.     Line {
  1744.       SrcBlock       "Clock1"
  1745.       SrcPort       1
  1746.       DstBlock       "Fcn"
  1747.       DstPort       1
  1748.     }
  1749.     Line {
  1750.       SrcBlock       "Product1"
  1751.       SrcPort       1
  1752.       Points       [35, 0]
  1753.       Branch {
  1754. DstBlock "x(t)"
  1755. DstPort 1
  1756.       }
  1757.       Branch {
  1758. DstBlock "ButterworthLP filter"
  1759. DstPort 1
  1760.       }
  1761.     }
  1762.     Line {
  1763.       SrcBlock       "ButterworthLP filter"
  1764.       SrcPort       1
  1765.       Points       [20, 0]
  1766.       Branch {
  1767. Points [5, 0]
  1768. Branch {
  1769.   DstBlock   "s_r(t)"
  1770.   DstPort   1
  1771. }
  1772. Branch {
  1773.   Points   [0, -95]
  1774.   DstBlock   "receiverndiagrams"
  1775.   DstPort   1
  1776. }
  1777.       }
  1778.       Branch {
  1779. DstBlock "thresholdndetector"
  1780. DstPort 1
  1781.       }
  1782.     }
  1783.     Line {
  1784.       SrcBlock       "thresholdndetector"
  1785.       SrcPort       1
  1786.       Points       [30, 0]
  1787.       Branch {
  1788. DstBlock "sink signal v(t)"
  1789. DstPort 1
  1790.       }
  1791.       Branch {
  1792. DstBlock "Error rate"
  1793. DstPort 2
  1794.       }
  1795.     }
  1796.     Line {
  1797.       SrcBlock       "Fcn1"
  1798.       SrcPort       1
  1799.       Points       [10, 0; 0, -20]
  1800.       DstBlock       "Product"
  1801.       DstPort       2
  1802.     }
  1803.     Line {
  1804.       SrcBlock       "Product"
  1805.       SrcPort       1
  1806.       Points       [10, 0]
  1807.       Branch {
  1808. DstBlock "transmitted signal u(t)"
  1809. DstPort 1
  1810.       }
  1811.       Branch {
  1812. DstBlock "Channel"
  1813. DstPort 1
  1814.       }
  1815.     }
  1816.     Line {
  1817.       SrcBlock       "Channel"
  1818.       SrcPort       1
  1819.       Points       [20, 0]
  1820.       Branch {
  1821. DstBlock "Product1"
  1822. DstPort 2
  1823.       }
  1824.       Branch {
  1825. DstBlock "received signal r(t)"
  1826. DstPort 1
  1827.       }
  1828.     }
  1829.     Line {
  1830.       SrcBlock       "Source"
  1831.       SrcPort       1
  1832.       Points       [20, 0]
  1833.       Branch {
  1834. Points [70, 0]
  1835. Branch {
  1836.   DstBlock   "Product"
  1837.   DstPort   1
  1838. }
  1839. Branch {
  1840.   Points   [0, -90]
  1841.   DstBlock   "transmitterndiagrams"
  1842.   DstPort   1
  1843. }
  1844. Branch {
  1845.   DstBlock   "s(t)"
  1846.   DstPort   1
  1847. }
  1848.       }
  1849.       Branch {
  1850. Points [-5, 0; 0, 100]
  1851. Branch {
  1852.   DstBlock   "a(t)"
  1853.   DstPort   1
  1854. }
  1855. Branch {
  1856.   Points   [0, 30; 775, 0; 0, -40]
  1857.   DstBlock   "Error rate"
  1858.   DstPort   1
  1859. }
  1860.       }
  1861.     }
  1862.   }
  1863. }