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

通讯编程文档

开发平台:

Matlab

  1. Model {
  2.   Name   "oqpnrzmf"
  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   "Wed Jul 25 14:26:25 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:43:55 2003"
  42.   ModelVersionFormat   "1.%<AutoIncrement:23>"
  43.   ConfigurationManager   "none"
  44.   SimParamPage   "Solver"
  45.   LinearizationMsg   "none"
  46.   Profile   off
  47.   ParamWorkspaceSource   "MATLABWorkspace"
  48.   AccelSystemTargetFile   "accel.tlc"
  49.   AccelTemplateMakefile   "accel_default_tmf"
  50.   AccelMakeCommand   "make_rtw"
  51.   TryForcingSFcnDF   off
  52.   ExtModeMexFile   "ext_comm"
  53.   ExtModeBatchMode   off
  54.   ExtModeTrigType   "manual"
  55.   ExtModeTrigMode   "normal"
  56.   ExtModeTrigPort   "1"
  57.   ExtModeTrigElement   "any"
  58.   ExtModeTrigDuration   1000
  59.   ExtModeTrigHoldOff   0
  60.   ExtModeTrigDelay   0
  61.   ExtModeTrigDirection   "rising"
  62.   ExtModeTrigLevel   0
  63.   ExtModeArchiveMode   "off"
  64.   ExtModeAutoIncOneShot   off
  65.   ExtModeIncDirWhenArm   off
  66.   ExtModeAddSuffixToVar   off
  67.   ExtModeWriteAllDataToWs off
  68.   ExtModeArmWhenConnect   on
  69.   ExtModeSkipDownloadWhenConnect off
  70.   ExtModeLogAll   on
  71.   ExtModeAutoUpdateStatusClock off
  72.   BufferReuse   on
  73.   RTWExpressionDepthLimit 5
  74.   SimulationMode   "normal"
  75.   Solver   "ode45"
  76.   SolverMode   "Auto"
  77.   StartTime   "0.0"
  78.   StopTime   "999999"
  79.   MaxOrder   5
  80.   MaxStep   "0.01"
  81.   MinStep   "0.000001"
  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       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       Demux
  179.       Outputs       "4"
  180.       DisplayOption       "none"
  181.       BusSelectionMode       off
  182.     }
  183.     Block {
  184.       BlockType       DigitalClock
  185.       SampleTime       "1"
  186.     }
  187.     Block {
  188.       BlockType       DiscreteFilter
  189.       Numerator       "[1]"
  190.       Denominator       "[1 2]"
  191.       SampleTime       "1"
  192.       Realization       "auto"
  193.       RTWStateStorageClass    "Auto"
  194.     }
  195.     Block {
  196.       BlockType       Fcn
  197.       Expr       "sin(u[1])"
  198.     }
  199.     Block {
  200.       BlockType       Gain
  201.       Gain       "1"
  202.       Multiplication       "Element-wise(K.*u)"
  203.       ShowAdditionalParam     off
  204.       ParameterDataTypeMode   "Same as input"
  205.       ParameterDataType       "sfix(16)"
  206.       ParameterScalingMode    "Best Precision: Matrix-wise"
  207.       ParameterScaling       "2^0"
  208.       OutDataTypeMode       "Same as input"
  209.       OutDataType       "sfix(16)"
  210.       OutScaling       "2^0"
  211.       LockScale       off
  212.       RndMeth       "Floor"
  213.       SaturateOnIntegerOverflow on
  214.     }
  215.     Block {
  216.       BlockType       Inport
  217.       Port       "1"
  218.       PortDimensions       "-1"
  219.       SampleTime       "-1"
  220.       ShowAdditionalParam     off
  221.       LatchInput       off
  222.       DataType       "auto"
  223.       OutDataType       "sfix(16)"
  224.       OutScaling       "2^0"
  225.       SignalType       "auto"
  226.       SamplingMode       "auto"
  227.       Interpolate       on
  228.     }
  229.     Block {
  230.       BlockType       Logic
  231.       Operator       "AND"
  232.       Inputs       "2"
  233.       ShowAdditionalParam     off
  234.       AllPortsSameDT       on
  235.       OutDataTypeMode       "Logical (see Advanced Sim. Parameters)"
  236.       LogicDataType       "uint(8)"
  237.     }
  238.     Block {
  239.       BlockType       Lookup
  240.       InputValues       "[-4:5]"
  241.       OutputValues       " rand(1,10)-0.5"
  242.       ShowAdditionalParam     off
  243.       LookUpMeth       "Interpolation-Extrapolation"
  244.       OutDataTypeMode       "Same as input"
  245.       OutDataType       "sfix(16)"
  246.       OutScaling       "2^0"
  247.       LockScale       off
  248.       RndMeth       "Floor"
  249.       SaturateOnIntegerOverflow on
  250.     }
  251.     Block {
  252.       BlockType       Mux
  253.       Inputs       "4"
  254.       DisplayOption       "none"
  255.     }
  256.     Block {
  257.       BlockType       Outport
  258.       Port       "1"
  259.       OutputWhenDisabled      "held"
  260.       InitialOutput       "[]"
  261.     }
  262.     Block {
  263.       BlockType       Product
  264.       Inputs       "2"
  265.       Multiplication       "Element-wise(.*)"
  266.       ShowAdditionalParam     off
  267.       InputSameDT       on
  268.       OutDataTypeMode       "Same as first input"
  269.       OutDataType       "sfix(16)"
  270.       OutScaling       "2^0"
  271.       LockScale       off
  272.       RndMeth       "Floor"
  273.       SaturateOnIntegerOverflow on
  274.     }
  275.     Block {
  276.       BlockType       RandomNumber
  277.       Mean       "0"
  278.       Variance       "1"
  279.       Seed       "0"
  280.       SampleTime       "-1"
  281.       VectorParams1D       on
  282.     }
  283.     Block {
  284.       BlockType       RelationalOperator
  285.       Operator       ">="
  286.       ShowAdditionalParam     off
  287.       InputSameDT       on
  288.       LogicOutDataTypeMode    "Logical (see Advanced Sim. Parameters)"
  289.       LogicDataType       "uint(8)"
  290.       ZeroCross       on
  291.     }
  292.     Block {
  293.       BlockType       Scope
  294.       Floating       off
  295.       ModelBased       off
  296.       TickLabels       "OneTimeTick"
  297.       ZoomMode       "on"
  298.       Grid       "on"
  299.       TimeRange       "auto"
  300.       YMin       "-5"
  301.       YMax       "5"
  302.       SaveToWorkspace       off
  303.       SaveName       "ScopeData"
  304.       LimitDataPoints       on
  305.       MaxDataPoints       "5000"
  306.       Decimation       "1"
  307.       SampleInput       off
  308.       SampleTime       "0"
  309.     }
  310.     Block {
  311.       BlockType       "S-Function"
  312.       FunctionName       "system"
  313.       PortCounts       "[]"
  314.       SFunctionModules       "''"
  315.     }
  316.     Block {
  317.       BlockType       StateSpace
  318.       A       "1"
  319.       B       "1"
  320.       C       "1"
  321.       D       "1"
  322.       X0       "0"
  323.       AbsoluteTolerance       "auto"
  324.       Realization       "auto"
  325.     }
  326.     Block {
  327.       BlockType       Step
  328.       Time       "1"
  329.       Before       "0"
  330.       After       "1"
  331.       SampleTime       "-1"
  332.       VectorParams1D       on
  333.       ZeroCross       on
  334.     }
  335.     Block {
  336.       BlockType       SubSystem
  337.       ShowPortLabels       on
  338.       Permissions       "ReadWrite"
  339.       RTWSystemCode       "Auto"
  340.       RTWFcnNameOpts       "Auto"
  341.       RTWFileNameOpts       "Auto"
  342.       SimViewingDevice       off
  343.       DataTypeOverride       "UseLocalSettings"
  344.       MinMaxOverflowLogging   "UseLocalSettings"
  345.     }
  346.     Block {
  347.       BlockType       Sum
  348.       IconShape       "rectangular"
  349.       Inputs       "++"
  350.       ShowAdditionalParam     off
  351.       InputSameDT       on
  352.       OutDataTypeMode       "Same as first input"
  353.       OutDataType       "sfix(16)"
  354.       OutScaling       "2^0"
  355.       LockScale       off
  356.       RndMeth       "Floor"
  357.       SaturateOnIntegerOverflow on
  358.     }
  359.     Block {
  360.       BlockType       Switch
  361.       Criteria       "u2 >= Threshold"
  362.       Threshold       "0"
  363.       ShowAdditionalParam     off
  364.       InputSameDT       on
  365.       OutDataTypeMode       "Inherit via internal rule"
  366.       RndMeth       "Floor"
  367.       SaturateOnIntegerOverflow on
  368.       ZeroCross       on
  369.     }
  370.     Block {
  371.       BlockType       Terminator
  372.     }
  373.     Block {
  374.       BlockType       TransportDelay
  375.       DelayTime       "1"
  376.       InitialInput       "0"
  377.       BufferSize       "1024"
  378.       PadeOrder       "0"
  379.       TransDelayFeedthrough   off
  380.     }
  381.     Block {
  382.       BlockType       UnitDelay
  383.       X0       "0"
  384.       SampleTime       "1"
  385.       RTWStateStorageClass    "Auto"
  386.     }
  387.     Block {
  388.       BlockType       ZeroOrderHold
  389.       SampleTime       "1"
  390.     }
  391.   }
  392.   AnnotationDefaults {
  393.     HorizontalAlignment     "center"
  394.     VerticalAlignment     "middle"
  395.     ForegroundColor     "black"
  396.     BackgroundColor     "white"
  397.     DropShadow     off
  398.     FontName     "Helvetica"
  399.     FontSize     10
  400.     FontWeight     "normal"
  401.     FontAngle     "normal"
  402.   }
  403.   LineDefaults {
  404.     FontName     "Helvetica"
  405.     FontSize     9
  406.     FontWeight     "normal"
  407.     FontAngle     "normal"
  408.   }
  409.   System {
  410.     Name     "oqpnrzmf"
  411.     Location     [14, 106, 1023, 384]
  412.     Open     on
  413.     ModelBrowserVisibility  off
  414.     ModelBrowserWidth     200
  415.     ScreenColor     "white"
  416.     PaperOrientation     "landscape"
  417.     PaperPositionMode     "auto"
  418.     PaperType     "usletter"
  419.     PaperUnits     "inches"
  420.     ZoomFactor     "100"
  421.     ReportName     "simulink-default.rpt"
  422.     Block {
  423.       BlockType       Reference
  424.       Name       "Channel"
  425.       Ports       [1, 1]
  426.       Position       [465, 83, 545, 127]
  427.       SourceBlock       "librnew/Channel"
  428.       SourceType       "AWGN channel, fixed parameter"
  429.       m       "0"
  430.       variance       "0.00010"
  431.       s       "12345"
  432.     }
  433.     Block {
  434.       BlockType       SubSystem
  435.       Name       "Error rate"
  436.       Ports       [2]
  437.       Position       [465, 215, 545, 255]
  438.       Orientation       "down"
  439.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  440.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  441.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  442.       StartFcn       "sbiterr([],[],[],'Start')"
  443.       StopFcn       "sbiterr([],[],[],'Stop')"
  444.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  445.       ShowPortLabels       off
  446.       TreatAsAtomicUnit       off
  447.       MaskType       "Symbol/bit error counter"
  448.       MaskDescription       "Use the input data from the 1st port as the ref"
  449. "erence signal to detect the number of errors and error rate of the 2nd signal"
  450. "."
  451.       MaskHelp       "The signal from the first port must be a scalar"
  452. ". The second input port can be a vector with a delay to the first port signal"
  453. ". The comparison happens only at the sampling point."
  454.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  455. "lay between 1st port and 2nd port:|Sample time (sec):"
  456.       MaskStyleString       "edit,edit,edit,edit"
  457.       MaskTunableValueString  "on,on,on,on"
  458.       MaskCallbackString      "|||"
  459.       MaskEnableString       "on,on,on,on"
  460.       MaskVisibilityString    "on,on,on,on"
  461.       MaskToolTipString       "on,on,on,on"
  462.       MaskVarAliasString      ",,,"
  463.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  464.       MaskDisplay       "disp('Error\nmeter')"
  465.       MaskIconFrame       on
  466.       MaskIconOpaque       on
  467.       MaskIconRotate       "none"
  468.       MaskIconUnits       "autoscale"
  469.       MaskValueString       "2|10|1.5|1"
  470.       System {
  471. Name "Error rate"
  472. Location [255, 368, 509, 510]
  473. Open off
  474. ModelBrowserVisibility off
  475. ModelBrowserWidth 200
  476. ScreenColor "white"
  477. PaperOrientation "landscape"
  478. PaperPositionMode "auto"
  479. PaperType "usletter"
  480. PaperUnits "inches"
  481. ZoomFactor "100"
  482. Block {
  483.   BlockType   Inport
  484.   Name   "in_1"
  485.   Position   [15, 45, 35, 65]
  486. }
  487. Block {
  488.   BlockType   Inport
  489.   Name   "in_2"
  490.   Position   [15, 60, 35, 80]
  491.   Port   "2"
  492. }
  493. Block {
  494.   BlockType   Mux
  495.   Name   "Mux"
  496.   Ports   [2, 1]
  497.   Position   [65, 46, 100, 79]
  498.   Inputs   "2"
  499. }
  500. Block {
  501.   BlockType   "S-Function"
  502.   Name   "S-function"
  503.   Ports   [1]
  504.   Position   [130, 52, 195, 78]
  505.   FunctionName   "sbiterr"
  506.   Parameters   "num_lin, K, TDelay, Sample"
  507. }
  508. Line {
  509.   SrcBlock   "Mux"
  510.   SrcPort   1
  511.   DstBlock   "S-function"
  512.   DstPort   1
  513. }
  514. Line {
  515.   SrcBlock   "in_1"
  516.   SrcPort   1
  517.   DstBlock   "Mux"
  518.   DstPort   1
  519. }
  520. Line {
  521.   SrcBlock   "in_2"
  522.   SrcPort   1
  523.   DstBlock   "Mux"
  524.   DstPort   2
  525. }
  526.       }
  527.     }
  528.     Block {
  529.       BlockType       SubSystem
  530.       Name       "Receiver"
  531.       Ports       [1, 1]
  532.       Position       [650, 62, 725, 148]
  533.       ShowPortLabels       off
  534.       TreatAsAtomicUnit       off
  535.       System {
  536. Name "Receiver"
  537. Location [-8, 107, 1000, 385]
  538. Open off
  539. ModelBrowserVisibility off
  540. ModelBrowserWidth 200
  541. ScreenColor "white"
  542. PaperOrientation "landscape"
  543. PaperPositionMode "auto"
  544. PaperType "usletter"
  545. PaperUnits "inches"
  546. ZoomFactor "100"
  547. Block {
  548.   BlockType   Inport
  549.   Name   "noisynOQPSK-nSignal"
  550.   Position   [25, 145, 45, 165]
  551. }
  552. Block {
  553.   BlockType   Clock
  554.   Name   "Clock"
  555.   Position   [145, 140, 165, 160]
  556.   ShowName   off
  557.   Decimation   "10"
  558. }
  559. Block {
  560.   BlockType   Fcn
  561.   Name   "Fcn"
  562.   Position   [185, 119, 265, 141]
  563.   ShowName   off
  564.   Expr   "2*cos(4*pi*u)"
  565. }
  566. Block {
  567.   BlockType   Fcn
  568.   Name   "Fcn1"
  569.   Position   [185, 159, 265, 181]
  570.   ShowName   off
  571.   Expr   "-2*sin(4*pi*u)"
  572. }
  573. Block {
  574.   BlockType   "S-Function"
  575.   Name   "Integrate and Dump"
  576.   Ports   [1, 1]
  577.   Position   [490, 68, 570, 112]
  578.   FunctionName   "schdint"
  579.   Parameters   "td, ts, limit"
  580.   MaskType   "Scheduled reset integration"
  581.   MaskDescription   "Reset the state to be zero(s) at thensched"
  582. "uled reset sample point."
  583.   MaskHelp   "This block resets the state(s) to be zero(s"
  584. ") at the reset time points. The reset interval can be a two-element vector wi"
  585. "th the second element as offset. The computation sample time must be smaller "
  586. "than the reset interval. The block resets the state value to be the remainder"
  587. " of the state divided by the modulo bound when the absolute value of the stat"
  588. "e is larger than the modulo bound."
  589.   MaskPromptString   "Scheduled reset time interval and offset (s"
  590. "ec):|Computation sample time and offset (sec):|Modulo bound:"
  591.   MaskStyleString   "edit,edit,edit"
  592.   MaskTunableValueString  "on,on,on"
  593.   MaskCallbackString   "||"
  594.   MaskEnableString   "on,on,on"
  595.   MaskVisibilityString   "on,on,on"
  596.   MaskToolTipString   "on,on,on"
  597.   MaskVarAliasString   ",,"
  598.   MaskInitialization   "td=@1;ts=@2;limit=@3;"
  599.   MaskDisplay   "disp('Scheduled\nreset-int')"
  600.   MaskIconFrame   on
  601.   MaskIconOpaque   on
  602.   MaskIconRotate   "none"
  603.   MaskIconUnits   "autoscale"
  604.   MaskValueString   "[1 0.5]|.01|999"
  605. }
  606. Block {
  607.   BlockType   "S-Function"
  608.   Name   "Integrate and Dump_"
  609.   Ports   [1, 1]
  610.   Position   [490, 203, 570, 247]
  611.   FunctionName   "schdint"
  612.   Parameters   "td, ts, limit"
  613.   MaskType   "Scheduled reset integration"
  614.   MaskDescription   "Reset the state to be zero(s) at thensched"
  615. "uled reset sample point."
  616.   MaskHelp   "This block resets the state(s) to be zero(s"
  617. ") at the reset time points. The reset interval can be a two-element vector wi"
  618. "th the second element as offset. The computation sample time must be smaller "
  619. "than the reset interval. The block resets the state value to be the remainder"
  620. " of the state divided by the modulo bound when the absolute value of the stat"
  621. "e is larger than the modulo bound."
  622.   MaskPromptString   "Scheduled reset time interval and offset (s"
  623. "ec):|Computation sample time and offset (sec):|Modulo bound:"
  624.   MaskStyleString   "edit,edit,edit"
  625.   MaskTunableValueString  "on,on,on"
  626.   MaskCallbackString   "||"
  627.   MaskEnableString   "on,on,on"
  628.   MaskVisibilityString   "on,on,on"
  629.   MaskToolTipString   "on,on,on"
  630.   MaskVarAliasString   ",,"
  631.   MaskInitialization   "td=@1;ts=@2;limit=@3;"
  632.   MaskDisplay   "disp('Scheduled\nreset-int')"
  633.   MaskIconFrame   on
  634.   MaskIconOpaque   on
  635.   MaskIconRotate   "none"
  636.   MaskIconUnits   "autoscale"
  637.   MaskValueString   "[1 0.5]|.01|999"
  638. }
  639. Block {
  640.   BlockType   Product
  641.   Name   "Product"
  642.   Ports   [2, 1]
  643.   Position   [300, 74, 330, 101]
  644.   ShowName   off
  645. }
  646. Block {
  647.   BlockType   Product
  648.   Name   "Product1"
  649.   Ports   [2, 1]
  650.   Position   [295, 213, 325, 237]
  651.   ShowName   off
  652. }
  653. Block {
  654.   BlockType   SubSystem
  655.   Name   "QPSK demap"
  656.   Ports   [2, 1]
  657.   Position   [800, 124, 875, 171]
  658.   TreatAsAtomicUnit   off
  659.   MaskType   "MPSK demapping"
  660.   MaskDescription   "Reverse the QASK map. Input in-phasenand q"
  661. "uadrature components from thentwo inputs. Output demapped signal."
  662.   MaskHelp   "This block demaps a QASK mapped signal usin"
  663. "g circle constellation. You can place this block after a QAM demodulation blo"
  664. "ck. The circle constellation is defined in NIC, RIC, and PIC. The symbol inte"
  665. "rval can be a two elements vector with the first element being offset. The de"
  666. "fault offset is zero. Use function MODMAP to view the constellation."
  667.   MaskPromptString   "Number of symbols on each circle NIC::|Radi"
  668. "i for each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval "
  669. "and offset (sec):"
  670.   MaskStyleString   "edit,edit,edit,edit"
  671.   MaskTunableValueString  "on,on,on,on"
  672.   MaskCallbackString   "|||"
  673.   MaskEnableString   "on,on,on,on"
  674.   MaskVisibilityString   "on,on,on,on"
  675.   MaskToolTipString   "on,on,on,on"
  676.   MaskVarAliasString   ",,,"
  677.   MaskVariables   "N=@1;A=@2;P=@3;td=@4;"
  678.   MaskInitialization   "y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);"
  679.   MaskDisplay   "disp('MPSK\ndemapping')"
  680.   MaskIconFrame   on
  681.   MaskIconOpaque   on
  682.   MaskIconRotate   "none"
  683.   MaskIconUnits   "autoscale"
  684.   MaskValueString   "[4]|[sqrt(2)]|[pi/4]|[1 0.5]"
  685.   System {
  686.     Name     "QPSK demap"
  687.     Location     [104, 488, 602, 788]
  688.     Open     off
  689.     ModelBrowserVisibility  off
  690.     ModelBrowserWidth     200
  691.     ScreenColor     "white"
  692.     PaperOrientation     "landscape"
  693.     PaperPositionMode     "auto"
  694.     PaperType     "usletter"
  695.     PaperUnits     "inches"
  696.     ZoomFactor     "100"
  697.     Block {
  698.       BlockType       Inport
  699.       Name       "real"
  700.       Position       [20, 45, 40, 65]
  701.     }
  702.     Block {
  703.       BlockType       Inport
  704.       Name       "imag"
  705.       Position       [20, 130, 40, 150]
  706.       Port       "2"
  707.     }
  708.     Block {
  709.       BlockType       "S-Function"
  710.       Name       "Minimum1"
  711.       Ports       [1, 1]
  712.       Position       [390, 95, 450, 115]
  713.       FunctionName       "arymimai"
  714.       Parameters       "'min'"
  715.     }
  716.     Block {
  717.       BlockType       Product
  718.       Name       "Product"
  719.       Ports       [2, 1]
  720.       Position       [275, 55, 300, 75]
  721.     }
  722.     Block {
  723.       BlockType       Product
  724.       Name       "Product1"
  725.       Ports       [2, 1]
  726.       Position       [275, 140, 300, 160]
  727.     }
  728.     Block {
  729.       BlockType       Sum
  730.       Name       "Sum1"
  731.       Ports       [2, 1]
  732.       Position       [205, 48, 225, 77]
  733.       ForegroundColor       "red"
  734.       Inputs       "+-"
  735.     }
  736.     Block {
  737.       BlockType       Sum
  738.       Name       "Sum2"
  739.       Ports       [2, 1]
  740.       Position       [345, 88, 365, 117]
  741.     }
  742.     Block {
  743.       BlockType       Sum
  744.       Name       "Sum6"
  745.       Ports       [2, 1]
  746.       Position       [205, 133, 225, 162]
  747.       ForegroundColor       "blue"
  748.       Inputs       "+-"
  749.     }
  750.     Block {
  751.       BlockType       ZeroOrderHold
  752.       Name       "Zero-OrdernHold"
  753.       Position       [95, 39, 130, 71]
  754.       ForegroundColor       "red"
  755.       SampleTime       "td"
  756.     }
  757.     Block {
  758.       BlockType       ZeroOrderHold
  759.       Name       "Zero-OrdernHold1"
  760.       Position       [95, 124, 130, 156]
  761.       ForegroundColor       "blue"
  762.       SampleTime       "td"
  763.     }
  764.     Block {
  765.       BlockType       Constant
  766.       Name       "imag_pt"
  767.       Position       [140, 179, 165, 201]
  768.       BackgroundColor       "yellow"
  769.       Value       "y2"
  770.     }
  771.     Block {
  772.       BlockType       Constant
  773.       Name       "real_pt"
  774.       Position       [145, 94, 170, 116]
  775.       BackgroundColor       "green"
  776.       Value       "y1"
  777.     }
  778.     Block {
  779.       BlockType       Outport
  780.       Name       "out_1"
  781.       Position       [470, 95, 490, 115]
  782.     }
  783.     Line {
  784.       SrcBlock       "Minimum1"
  785.       SrcPort       1
  786.       DstBlock       "out_1"
  787.       DstPort       1
  788.     }
  789.     Line {
  790.       SrcBlock       "Sum2"
  791.       SrcPort       1
  792.       DstBlock       "Minimum1"
  793.       DstPort       1
  794.     }
  795.     Line {
  796.       SrcBlock       "Product1"
  797.       SrcPort       1
  798.       Points       [10, 0; 0, -40]
  799.       DstBlock       "Sum2"
  800.       DstPort       2
  801.     }
  802.     Line {
  803.       SrcBlock       "Product"
  804.       SrcPort       1
  805.       Points       [10, 0; 0, 30]
  806.       DstBlock       "Sum2"
  807.       DstPort       1
  808.     }
  809.     Line {
  810.       SrcBlock       "Sum6"
  811.       SrcPort       1
  812.       Points       [0, 0; 15, 0]
  813.       Branch {
  814. Points [0, 5]
  815. DstBlock "Product1"
  816. DstPort 2
  817.       }
  818.       Branch {
  819. Points [0, -5]
  820. DstBlock "Product1"
  821. DstPort 1
  822.       }
  823.     }
  824.     Line {
  825.       SrcBlock       "Sum1"
  826.       SrcPort       1
  827.       Points       [0, 0; 15, 0]
  828.       Branch {
  829. Points [0, 5]
  830. DstBlock "Product"
  831. DstPort 2
  832.       }
  833.       Branch {
  834. Points [0, -5]
  835. DstBlock "Product"
  836. DstPort 1
  837.       }
  838.     }
  839.     Line {
  840.       SrcBlock       "imag_pt"
  841.       SrcPort       1
  842.       Points       [10, 0; 0, -35]
  843.       DstBlock       "Sum6"
  844.       DstPort       2
  845.     }
  846.     Line {
  847.       SrcBlock       "Zero-OrdernHold1"
  848.       SrcPort       1
  849.       DstBlock       "Sum6"
  850.       DstPort       1
  851.     }
  852.     Line {
  853.       SrcBlock       "Zero-OrdernHold"
  854.       SrcPort       1
  855.       DstBlock       "Sum1"
  856.       DstPort       1
  857.     }
  858.     Line {
  859.       SrcBlock       "real_pt"
  860.       SrcPort       1
  861.       Points       [5, 0; 0, -35]
  862.       DstBlock       "Sum1"
  863.       DstPort       2
  864.     }
  865.     Line {
  866.       SrcBlock       "imag"
  867.       SrcPort       1
  868.       DstBlock       "Zero-OrdernHold1"
  869.       DstPort       1
  870.     }
  871.     Line {
  872.       SrcBlock       "real"
  873.       SrcPort       1
  874.       DstBlock       "Zero-OrdernHold"
  875.       DstPort       1
  876.     }
  877.   }
  878. }
  879. Block {
  880.   BlockType   TransportDelay
  881.   Name   "TransportnDelay"
  882.   Position   [365, 75, 405, 105]
  883.   DelayTime   ".5"
  884.   BufferSize   "200"
  885. }
  886. Block {
  887.   BlockType   SubSystem
  888.   Name   "close receiver"
  889.   Ports   []
  890.   Position   [815, 20, 950, 46]
  891.   BackgroundColor   "lightBlue"
  892.   ShowName   off
  893.   OpenFcn   "closerec"
  894.   FontSize   12
  895.   FontAngle   "italic"
  896.   ShowPortLabels   off
  897.   TreatAsAtomicUnit   off
  898.   MaskType   "close"
  899.   MaskDisplay   "disp('close receiver')"
  900.   MaskIconFrame   on
  901.   MaskIconOpaque   on
  902.   MaskIconRotate   "none"
  903.   MaskIconUnits   "autoscale"
  904.   System {
  905.     Name     "close receiver"
  906.     Location     [136, 230, 381, 439]
  907.     Open     off
  908.     ModelBrowserVisibility  off
  909.     ModelBrowserWidth     200
  910.     ScreenColor     "cyan"
  911.     PaperOrientation     "landscape"
  912.     PaperPositionMode     "auto"
  913.     PaperType     "usletter"
  914.     PaperUnits     "inches"
  915.     ZoomFactor     "100"
  916.   }
  917. }
  918. Block {
  919.   BlockType   SubSystem
  920.   Name   "noise variance"
  921.   Ports   []
  922.   Position   [19, 240, 125, 264]
  923.   BackgroundColor   "lightBlue"
  924.   ShowName   off
  925.   OpenFcn   "setnoise"
  926.   FontSize   12
  927.   FontAngle   "italic"
  928.   ShowPortLabels   off
  929.   TreatAsAtomicUnit   off
  930.   MaskType   "noise"
  931.   MaskDisplay   "disp('Noise variance')"
  932.   MaskIconFrame   on
  933.   MaskIconOpaque   on
  934.   MaskIconRotate   "none"
  935.   MaskIconUnits   "autoscale"
  936.   System {
  937.     Name     "noise variance"
  938.     Location     [136, 230, 381, 439]
  939.     Open     off
  940.     ModelBrowserVisibility  off
  941.     ModelBrowserWidth     200
  942.     ScreenColor     "cyan"
  943.     PaperOrientation     "landscape"
  944.     PaperPositionMode     "auto"
  945.     PaperType     "usletter"
  946.     PaperUnits     "inches"
  947.     ZoomFactor     "100"
  948.   }
  949. }
  950. Block {
  951.   BlockType   Scope
  952.   Name   "r(t)"
  953.   Ports   [1]
  954.   Position   [60, 70, 90, 100]
  955.   Orientation   "up"
  956.   Location   [320, 340, 960, 440]
  957.   Open   off
  958.   NumInputPorts   "1"
  959.   List {
  960.     ListType     AxesTitles
  961.     axes1     "%<SignalLabel>"
  962.   }
  963.   TimeRange   "25.000000"
  964.   YMin   "-1.500000"
  965.   YMax   "1.500000"
  966.   DataFormat   "Array"
  967. }
  968. Block {
  969.   BlockType   SubSystem
  970.   Name   "receiver diagrams"
  971.   Ports   [2]
  972.   Position   [720, 15, 775, 55]
  973.   ShowPortLabels   off
  974.   TreatAsAtomicUnit   off
  975.   MaskType   "2D-Diagrams"
  976.   MaskDescription   "Eye pattern, signal space trajectory and sc"
  977. "atter plot"
  978.   MaskPromptString   "Plot start time:|Samples per time slot (2*T"
  979. "):|Decision offset:"
  980.   MaskStyleString   "edit,edit,edit"
  981.   MaskTunableValueString  "on,on,on"
  982.   MaskCallbackString   "||"
  983.   MaskEnableString   "on,on,on"
  984.   MaskVisibilityString   "on,on,on"
  985.   MaskToolTipString   "on,on,on"
  986.   MaskVarAliasString   ",,"
  987.   MaskVariables   "starttime=@1;anzahl=@2;offset=@3;"
  988.   MaskInitialization   " [x, y] = srcsicon(10);"
  989.   MaskDisplay   "plot(0,0,100,100,x,y)"
  990.   MaskIconFrame   on
  991.   MaskIconOpaque   on
  992.   MaskIconRotate   "none"
  993.   MaskIconUnits   "autoscale"
  994.   MaskValueString   "1|40|0"
  995.   System {
  996.     Name     "receiver diagrams"
  997.     Location     [419, 185, 831, 478]
  998.     Open     off
  999.     ModelBrowserVisibility  off
  1000.     ModelBrowserWidth     200
  1001.     ScreenColor     "white"
  1002.     PaperOrientation     "landscape"
  1003.     PaperPositionMode     "auto"
  1004.     PaperType     "usletter"
  1005.     PaperUnits     "inches"
  1006.     ZoomFactor     "100"
  1007.     Block {
  1008.       BlockType       Inport
  1009.       Name       "Inphase"
  1010.       Position       [30, 25, 50, 45]
  1011.     }
  1012.     Block {
  1013.       BlockType       Inport
  1014.       Name       "Quadratur"
  1015.       Position       [30, 80, 50, 100]
  1016.       Port       "2"
  1017.     }
  1018.     Block {
  1019.       BlockType       Constant
  1020.       Name       "Constant"
  1021.       Position       [90, 125, 110, 145]
  1022.       Orientation       "up"
  1023.       ShowName       off
  1024.       Value       "Inf"
  1025.     }
  1026.     Block {
  1027.       BlockType       Constant
  1028.       Name       "Constant0"
  1029.       Position       [190, 125, 210, 145]
  1030.       Orientation       "up"
  1031.       ShowName       off
  1032.       Value       "0"
  1033.     }
  1034.     Block {
  1035.       BlockType       SubSystem
  1036.       Name       "Inphase eye patternnreceiver"
  1037.       Ports       [1]
  1038.       Position       [305, 12, 360, 48]
  1039.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1040.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1041.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1042.       StartFcn       "eyesampl([],[],[],'Start')"
  1043.       StopFcn       "eyesampl([],[],[],'Stop')"
  1044.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1045.       ShowPortLabels       off
  1046.       TreatAsAtomicUnit       off
  1047.       MaskType       "Eye-diagram/scatter plot"
  1048.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1049. "ter plot."
  1050.       MaskHelp       "This plot opens one, or two plots by as"
  1051. "signing the line type parameters. The scatter plot point is selected by the d"
  1052. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1053. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1054.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1055. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1056. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1057. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1058.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1059.       MaskTunableValueString  "on,on,on,on,on,on"
  1060.       MaskCallbackString      "|||||"
  1061.       MaskEnableString       "on,on,on,on,on,on"
  1062.       MaskVisibilityString    "on,on,on,on,on,on"
  1063.       MaskToolTipString       "on,on,on,on,on,on"
  1064.       MaskVarAliasString      ",,,,,"
  1065.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1066. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1067.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1068.       MaskIconFrame       on
  1069.       MaskIconOpaque       on
  1070.       MaskIconRotate       "none"
  1071.       MaskIconUnits       "autoscale"
  1072.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  1073. "/anzahl"
  1074.       System {
  1075. Name "Inphase eye patternnreceiver"
  1076. Location [121, 409, 416, 595]
  1077. Open off
  1078. ModelBrowserVisibility off
  1079. ModelBrowserWidth 200
  1080. ScreenColor "white"
  1081. PaperOrientation "landscape"
  1082. PaperPositionMode "auto"
  1083. PaperType "usletter"
  1084. PaperUnits "inches"
  1085. ZoomFactor "100"
  1086. Block {
  1087.   BlockType   Inport
  1088.   Name   "in_1"
  1089.   Position   [75, 80, 95, 100]
  1090. }
  1091. Block {
  1092.   BlockType   "S-Function"
  1093.   Name   "Plot1"
  1094.   Ports   [1]
  1095.   Position   [130, 70, 200, 110]
  1096.   FunctionName   "eyesampl"
  1097.   Parameters   "time_range, boundary, kept_length, "
  1098. "eye_line, scatter_line, two_d_line"
  1099. }
  1100. Line {
  1101.   SrcBlock   "in_1"
  1102.   SrcPort   1
  1103.   DstBlock   "Plot1"
  1104.   DstPort   1
  1105. }
  1106.       }
  1107.     }
  1108.     Block {
  1109.       BlockType       Mux
  1110.       Name       "Mux"
  1111.       Ports       [2, 1]
  1112.       Position       [230, 21, 265, 54]
  1113.       Inputs       "2"
  1114.     }
  1115.     Block {
  1116.       BlockType       Mux
  1117.       Name       "Mux1"
  1118.       Ports       [2, 1]
  1119.       Position       [230, 76, 265, 109]
  1120.       Inputs       "2"
  1121.     }
  1122.     Block {
  1123.       BlockType       Mux
  1124.       Name       "Mux2"
  1125.       Ports       [2, 1]
  1126.       Position       [230, 146, 265, 179]
  1127.       Inputs       "2"
  1128.     }
  1129.     Block {
  1130.       BlockType       Mux
  1131.       Name       "Mux3"
  1132.       Ports       [2, 1]
  1133.       Position       [230, 211, 265, 244]
  1134.       Inputs       "2"
  1135.     }
  1136.     Block {
  1137.       BlockType       SubSystem
  1138.       Name       "Quadrature eye patternnreceiver"
  1139.       Ports       [1]
  1140.       Position       [305, 77, 360, 113]
  1141.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1142.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1143.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1144.       StartFcn       "eyesampl([],[],[],'Start')"
  1145.       StopFcn       "eyesampl([],[],[],'Stop')"
  1146.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1147.       ShowPortLabels       off
  1148.       TreatAsAtomicUnit       off
  1149.       MaskType       "Eye-diagram/scatter plot"
  1150.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1151. "ter plot."
  1152.       MaskHelp       "This plot opens one, or two plots by as"
  1153. "signing the line type parameters. The scatter plot point is selected by the d"
  1154. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1155. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1156.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1157. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1158. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1159. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1160.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1161.       MaskTunableValueString  "on,on,on,on,on,on"
  1162.       MaskCallbackString      "|||||"
  1163.       MaskEnableString       "on,on,on,on,on,on"
  1164.       MaskVisibilityString    "on,on,on,on,on,on"
  1165.       MaskToolTipString       "on,on,on,on,on,on"
  1166.       MaskVarAliasString      ",,,,,"
  1167.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1168. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1169.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1170.       MaskIconFrame       on
  1171.       MaskIconOpaque       on
  1172.       MaskIconRotate       "none"
  1173.       MaskIconUnits       "autoscale"
  1174.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  1175. "/anzahl"
  1176.       System {
  1177. Name "Quadrature eye patternnreceiver"
  1178. Location [121, 409, 416, 595]
  1179. Open off
  1180. ModelBrowserVisibility off
  1181. ModelBrowserWidth 200
  1182. ScreenColor "white"
  1183. PaperOrientation "landscape"
  1184. PaperPositionMode "auto"
  1185. PaperType "usletter"
  1186. PaperUnits "inches"
  1187. ZoomFactor "100"
  1188. Block {
  1189.   BlockType   Inport
  1190.   Name   "in_1"
  1191.   Position   [75, 80, 95, 100]
  1192. }
  1193. Block {
  1194.   BlockType   "S-Function"
  1195.   Name   "Plot1"
  1196.   Ports   [1]
  1197.   Position   [130, 70, 200, 110]
  1198.   FunctionName   "eyesampl"
  1199.   Parameters   "time_range, boundary, kept_length, "
  1200. "eye_line, scatter_line, two_d_line"
  1201. }
  1202. Line {
  1203.   SrcBlock   "in_1"
  1204.   SrcPort   1
  1205.   DstBlock   "Plot1"
  1206.   DstPort   1
  1207. }
  1208.       }
  1209.     }
  1210.     Block {
  1211.       BlockType       SubSystem
  1212.       Name       "Scatter plotnreceiver"
  1213.       Ports       [1]
  1214.       Position       [305, 213, 360, 247]
  1215.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1216.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1217.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1218.       StartFcn       "eyesampl([],[],[],'Start')"
  1219.       StopFcn       "eyesampl([],[],[],'Stop')"
  1220.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1221.       ShowPortLabels       off
  1222.       TreatAsAtomicUnit       off
  1223.       MaskType       "Eye-diagram/scatter plot"
  1224.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1225. "ter plot."
  1226.       MaskHelp       "This plot opens one, or two plots by as"
  1227. "signing the line type parameters. The scatter plot point is selected by the d"
  1228. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1229. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1230.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1231. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1232. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1233. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1234.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1235.       MaskTunableValueString  "on,on,on,on,on,on"
  1236.       MaskCallbackString      "|||||"
  1237.       MaskEnableString       "on,on,on,on,on,on"
  1238.       MaskVisibilityString    "on,on,on,on,on,on"
  1239.       MaskToolTipString       "on,on,on,on,on,on"
  1240.       MaskVarAliasString      ",,,,,"
  1241.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1242. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1243.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1244.       MaskIconFrame       on
  1245.       MaskIconOpaque       on
  1246.       MaskIconRotate       "none"
  1247.       MaskIconUnits       "autoscale"
  1248.       MaskValueString       "[1 .0 .5]|[-1.5 1.5]|0|0|'b.'|[.5 offse"
  1249. "t]"
  1250.       System {
  1251. Name "Scatter plotnreceiver"
  1252. Location [165, 242, 460, 428]
  1253. Open off
  1254. ModelBrowserVisibility off
  1255. ModelBrowserWidth 200
  1256. ScreenColor "white"
  1257. PaperOrientation "landscape"
  1258. PaperPositionMode "auto"
  1259. PaperType "usletter"
  1260. PaperUnits "inches"
  1261. ZoomFactor "100"
  1262. Block {
  1263.   BlockType   Inport
  1264.   Name   "in_1"
  1265.   Position   [75, 80, 95, 100]
  1266. }
  1267. Block {
  1268.   BlockType   "S-Function"
  1269.   Name   "Plot1"
  1270.   Ports   [1]
  1271.   Position   [130, 70, 200, 110]
  1272.   FunctionName   "eyesampl"
  1273.   Parameters   "time_range, boundary, kept_length, "
  1274. "eye_line, scatter_line, two_d_line"
  1275. }
  1276. Line {
  1277.   SrcBlock   "in_1"
  1278.   SrcPort   1
  1279.   DstBlock   "Plot1"
  1280.   DstPort   1
  1281. }
  1282.       }
  1283.     }
  1284.     Block {
  1285.       BlockType       Step
  1286.       Name       "Step input"
  1287.       Position       [30, 125, 50, 145]
  1288.       Time       "starttime"
  1289.       SampleTime       "1"
  1290.     }
  1291.     Block {
  1292.       BlockType       Switch
  1293.       Name       "Switch"
  1294.       Position       [130, 29, 155, 61]
  1295.       Threshold       "1"
  1296.     }
  1297.     Block {
  1298.       BlockType       Switch
  1299.       Name       "Switch1"
  1300.       Position       [130, 84, 155, 116]
  1301.       Threshold       "1"
  1302.     }
  1303.     Block {
  1304.       BlockType       SubSystem
  1305.       Name       "Trajectory nreceiver"
  1306.       Ports       [1]
  1307.       Position       [305, 157, 360, 193]
  1308.       CopyFcn       "eyediasi([],[],[],'CopyBlock')"
  1309.       DeleteFcn       "eyediasi([],[],[],'DeleteBlock')"
  1310.       LoadFcn       "eyediasi([],[],[],'LoadBlock')"
  1311.       StartFcn       "eyediasi([],[],[],'Start')"
  1312.       StopFcn       "eyediasi([],[],[],'Stop')"
  1313.       NameChangeFcn       "eyediasi([],[],[],'NameChange')"
  1314.       ShowPortLabels       off
  1315.       TreatAsAtomicUnit       off
  1316.       MaskType       "Eye-diagram/scatter plot"
  1317.       MaskDescription       "Produce eye-pattern diagram/scatternpl"
  1318. "ot/x-y plot with the rising edge of the second input as the decision line."
  1319.       MaskHelp       "This plot opens one, two, or three plot"
  1320. "s by assigning the line type parameters. The scatter plot point is selected b"
  1321. "y the rising edge of a trigger signal. A decision line is drawn at the rising"
  1322. " edge of the trigger signal."
  1323.       MaskPromptString       "Eye-pattern plot time frame:|Lower and "
  1324. "upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-ty"
  1325. "pe for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for"
  1326. " no plot):|Line-type for x-y plot (0 for no plot):"
  1327.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1328.       MaskTunableValueString  "on,on,on,on,on,on"
  1329.       MaskCallbackString      "|||||"
  1330.       MaskEnableString       "on,on,on,on,on,on"
  1331.       MaskVisibilityString    "on,on,on,on,on,on"
  1332.       MaskToolTipString       "on,on,on,on,on,on"
  1333.       MaskVarAliasString      ",,,,,"
  1334.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1335. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon"
  1336. "(0,25,get_param(gcb,'orientation'),2);"
  1337.       MaskDisplay       "plot(0,0,100,100,x,y,v,w);"
  1338.       MaskIconFrame       on
  1339.       MaskIconOpaque       on
  1340.       MaskIconRotate       "none"
  1341.       MaskIconUnits       "autoscale"
  1342.       MaskValueString       "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  1343.       System {
  1344. Name "Trajectory nreceiver"
  1345. Location [639, 405, 934, 591]
  1346. Open off
  1347. ModelBrowserVisibility off
  1348. ModelBrowserWidth 200
  1349. ScreenColor "white"
  1350. PaperOrientation "landscape"
  1351. PaperPositionMode "auto"
  1352. PaperType "usletter"
  1353. PaperUnits "inches"
  1354. ZoomFactor "100"
  1355. Block {
  1356.   BlockType   Inport
  1357.   Name   "in_1"
  1358.   Position   [15, 55, 35, 75]
  1359. }
  1360. Block {
  1361.   BlockType   Constant
  1362.   Name   "Constant"
  1363.   Position   [15, 110, 45, 140]
  1364.   Value   "0"
  1365. }
  1366. Block {
  1367.   BlockType   Mux
  1368.   Name   "Mux"
  1369.   Ports   [2, 1]
  1370.   Position   [65, 70, 100, 105]
  1371.   Inputs   "2"
  1372. }
  1373. Block {
  1374.   BlockType   "S-Function"
  1375.   Name   "Plot1"
  1376.   Ports   [1]
  1377.   Position   [130, 70, 200, 110]
  1378.   FunctionName   "eyediasi"
  1379.   Parameters   "time_range, boundary, kept_length, "
  1380. "eye_line, scatter_line, two_d_line"
  1381. }
  1382. Line {
  1383.   SrcBlock   "in_1"
  1384.   SrcPort   1
  1385.   Points   [5, 0; 0, 15]
  1386.   DstBlock   "Mux"
  1387.   DstPort   1
  1388. }
  1389. Line {
  1390.   SrcBlock   "Constant"
  1391.   SrcPort   1
  1392.   DstBlock   "Mux"
  1393.   DstPort   2
  1394. }
  1395. Line {
  1396.   SrcBlock   "Mux"
  1397.   SrcPort   1
  1398.   DstBlock   "Plot1"
  1399.   DstPort   1
  1400. }
  1401.       }
  1402.     }
  1403.     Line {
  1404.       SrcBlock       "Switch"
  1405.       SrcPort       1
  1406.       Points       [10, 0]
  1407.       Branch {
  1408. DstBlock "Mux"
  1409. DstPort 2
  1410.       }
  1411.       Branch {
  1412. Points [0, 110]
  1413. Branch {
  1414.   Points   [0, 65]
  1415.   DstBlock   "Mux3"
  1416.   DstPort   1
  1417. }
  1418. Branch {
  1419.   DstBlock   "Mux2"
  1420.   DstPort   1
  1421. }
  1422.       }
  1423.     }
  1424.     Line {
  1425.       SrcBlock       "Switch1"
  1426.       SrcPort       1
  1427.       Points       [20, 0]
  1428.       Branch {
  1429. DstBlock "Mux1"
  1430. DstPort 2
  1431.       }
  1432.       Branch {
  1433. Points [0, 70]
  1434. Branch {
  1435.   Points   [0, 65]
  1436.   DstBlock   "Mux3"
  1437.   DstPort   2
  1438. }
  1439. Branch {
  1440.   DstBlock   "Mux2"
  1441.   DstPort   2
  1442. }
  1443.       }
  1444.     }
  1445.     Line {
  1446.       SrcBlock       "Constant0"
  1447.       SrcPort       1
  1448.       Points       [0, -35]
  1449.       Branch {
  1450. DstBlock "Mux1"
  1451. DstPort 1
  1452.       }
  1453.       Branch {
  1454. Points [0, -55]
  1455. DstBlock "Mux"
  1456. DstPort 1
  1457.       }
  1458.     }
  1459.     Line {
  1460.       SrcBlock       "Quadratur"
  1461.       SrcPort       1
  1462.       DstBlock       "Switch1"
  1463.       DstPort       1
  1464.     }
  1465.     Line {
  1466.       SrcBlock       "Inphase"
  1467.       SrcPort       1
  1468.       DstBlock       "Switch"
  1469.       DstPort       1
  1470.     }
  1471.     Line {
  1472.       SrcBlock       "Step input"
  1473.       SrcPort       1
  1474.       Points       [20, 0; 0, -35]
  1475.       Branch {
  1476. Points [0, -55]
  1477. DstBlock "Switch"
  1478. DstPort 2
  1479.       }
  1480.       Branch {
  1481. DstBlock "Switch1"
  1482. DstPort 2
  1483.       }
  1484.     }
  1485.     Line {
  1486.       SrcBlock       "Constant"
  1487.       SrcPort       1
  1488.       Points       [0, -10]
  1489.       Branch {
  1490. Points [0, -55]
  1491. DstBlock "Switch"
  1492. DstPort 3
  1493.       }
  1494.       Branch {
  1495. DstBlock "Switch1"
  1496. DstPort 3
  1497.       }
  1498.     }
  1499.     Line {
  1500.       SrcBlock       "Mux1"
  1501.       SrcPort       1
  1502.       DstBlock       "Quadrature eye patternnreceiver"
  1503.       DstPort       1
  1504.     }
  1505.     Line {
  1506.       SrcBlock       "Mux"
  1507.       SrcPort       1
  1508.       Points       [20, 0]
  1509.       DstBlock       "Inphase eye patternnreceiver"
  1510.       DstPort       1
  1511.     }
  1512.     Line {
  1513.       SrcBlock       "Mux3"
  1514.       SrcPort       1
  1515.       DstBlock       "Scatter plotnreceiver"
  1516.       DstPort       1
  1517.     }
  1518.     Line {
  1519.       SrcBlock       "Mux2"
  1520.       SrcPort       1
  1521.       Points       [20, 0]
  1522.       DstBlock       "Trajectory nreceiver"
  1523.       DstPort       1
  1524.     }
  1525.   }
  1526. }
  1527. Block {
  1528.   BlockType   Scope
  1529.   Name   "s_rc(t)"
  1530.   Ports   [1]
  1531.   Position   [615, 20, 645, 50]
  1532.   Orientation   "up"
  1533.   NamePlacement   "alternate"
  1534.   Location   [0, 540, 640, 640]
  1535.   Open   off
  1536.   NumInputPorts   "1"
  1537.   List {
  1538.     ListType     AxesTitles
  1539.     axes1     "%<SignalLabel>"
  1540.   }
  1541.   TimeRange   "25.000000"
  1542.   YMin   "-1.500000"
  1543.   YMax   "1.500000"
  1544.   DataFormat   "Array"
  1545. }
  1546. Block {
  1547.   BlockType   Scope
  1548.   Name   "s_rs(t)"
  1549.   Ports   [1]
  1550.   Position   [615, 155, 645, 185]
  1551.   Orientation   "up"
  1552.   NamePlacement   "alternate"
  1553.   Location   [640, 540, 1280, 640]
  1554.   Open   off
  1555.   NumInputPorts   "1"
  1556.   List {
  1557.     ListType     AxesTitles
  1558.     axes1     "%<SignalLabel>"
  1559.   }
  1560.   TimeRange   "25.000000"
  1561.   YMin   "-1.500000"
  1562.   YMax   "1.500000"
  1563.   DataFormat   "Array"
  1564. }
  1565. Block {
  1566.   BlockType   SubSystem
  1567.   Name   "thresholdndetector"
  1568.   Ports   [1, 1]
  1569.   Position   [725, 77, 755, 103]
  1570.   ShowPortLabels   off
  1571.   TreatAsAtomicUnit   off
  1572.   MaskType   "Sign"
  1573.   MaskDescription   "y = sign(x)"
  1574.   MaskHelp   "Sign Function:\n\t\t\ty = 1 if x > 0\n"
  1575. "\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
  1576.   MaskDisplay   "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-5"
  1577. "0,50],[-40,0],[-30,-30],[0,40],[30,30])"
  1578.   MaskIconFrame   on
  1579.   MaskIconOpaque   on
  1580.   MaskIconRotate   "none"
  1581.   MaskIconUnits   "autoscale"
  1582.   System {
  1583.     Name     "thresholdndetector"
  1584.     Location     [159, 417, 467, 586]
  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       [35, 30, 55, 50]
  1598.     }
  1599.     Block {
  1600.       BlockType       Constant
  1601.       Name       "Constant"
  1602.       Position       [65, 105, 85, 125]
  1603.       Value       "0"
  1604.     }
  1605.     Block {
  1606.       BlockType       RelationalOperator
  1607.       Name       "RelationalnOperator"
  1608.       Position       [140, 32, 170, 63]
  1609.       Operator       ">"
  1610.     }
  1611.     Block {
  1612.       BlockType       RelationalOperator
  1613.       Name       "RelationalnOperator1"
  1614.       Position       [140, 92, 170, 123]
  1615.       Operator       "<"
  1616.     }
  1617.     Block {
  1618.       BlockType       Sum
  1619.       Name       "Sum"
  1620.       Ports       [2, 1]
  1621.       Position       [215, 64, 235, 91]
  1622.       Inputs       "+-"
  1623.     }
  1624.     Block {
  1625.       BlockType       Outport
  1626.       Name       "out_1"
  1627.       Position       [265, 70, 285, 90]
  1628.     }
  1629.     Line {
  1630.       SrcBlock       "in_1"
  1631.       SrcPort       1
  1632.       Points       [35, 0]
  1633.       Branch {
  1634. DstBlock "RelationalnOperator"
  1635. DstPort 1
  1636.       }
  1637.       Branch {
  1638. Points [0, 60]
  1639. DstBlock "RelationalnOperator1"
  1640. DstPort 1
  1641.       }
  1642.     }
  1643.     Line {
  1644.       SrcBlock       "Constant"
  1645.       SrcPort       1
  1646.       Points       [20, 0]
  1647.       Branch {
  1648. DstBlock "RelationalnOperator1"
  1649. DstPort 2
  1650.       }
  1651.       Branch {
  1652. Points [0, -60]
  1653. DstBlock "RelationalnOperator"
  1654. DstPort 2
  1655.       }
  1656.     }
  1657.     Line {
  1658.       SrcBlock       "RelationalnOperator1"
  1659.       SrcPort       1
  1660.       Points       [10, 0; 0, -25]
  1661.       DstBlock       "Sum"
  1662.       DstPort       2
  1663.     }
  1664.     Line {
  1665.       SrcBlock       "RelationalnOperator"
  1666.       SrcPort       1
  1667.       Points       [10, 0; 0, 20]
  1668.       DstBlock       "Sum"
  1669.       DstPort       1
  1670.     }
  1671.     Line {
  1672.       SrcBlock       "Sum"
  1673.       SrcPort       1
  1674.       DstBlock       "out_1"
  1675.       DstPort       1
  1676.     }
  1677.   }
  1678. }
  1679. Block {
  1680.   BlockType   SubSystem
  1681.   Name   "thresholdndetector_"
  1682.   Ports   [1, 1]
  1683.   Position   [725, 212, 755, 238]
  1684.   ShowPortLabels   off
  1685.   TreatAsAtomicUnit   off
  1686.   MaskType   "Sign"
  1687.   MaskDescription   "y = sign(x)"
  1688.   MaskHelp   "Sign Function:\n\t\t\ty = 1 if x > 0\n"
  1689. "\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
  1690.   MaskDisplay   "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-5"
  1691. "0,50],[-40,0],[-30,-30],[0,40],[30,30])"
  1692.   MaskIconFrame   on
  1693.   MaskIconOpaque   on
  1694.   MaskIconRotate   "none"
  1695.   MaskIconUnits   "autoscale"
  1696.   System {
  1697.     Name     "thresholdndetector_"
  1698.     Location     [159, 417, 467, 586]
  1699.     Open     off
  1700.     ModelBrowserVisibility  off
  1701.     ModelBrowserWidth     200
  1702.     ScreenColor     "white"
  1703.     PaperOrientation     "landscape"
  1704.     PaperPositionMode     "auto"
  1705.     PaperType     "usletter"
  1706.     PaperUnits     "inches"
  1707.     ZoomFactor     "100"
  1708.     Block {
  1709.       BlockType       Inport
  1710.       Name       "in_1"
  1711.       Position       [35, 30, 55, 50]
  1712.     }
  1713.     Block {
  1714.       BlockType       Constant
  1715.       Name       "Constant"
  1716.       Position       [65, 105, 85, 125]
  1717.       Value       "0"
  1718.     }
  1719.     Block {
  1720.       BlockType       RelationalOperator
  1721.       Name       "RelationalnOperator"
  1722.       Position       [140, 32, 170, 63]
  1723.       Operator       ">"
  1724.     }
  1725.     Block {
  1726.       BlockType       RelationalOperator
  1727.       Name       "RelationalnOperator1"
  1728.       Position       [140, 92, 170, 123]
  1729.       Operator       "<"
  1730.     }
  1731.     Block {
  1732.       BlockType       Sum
  1733.       Name       "Sum"
  1734.       Ports       [2, 1]
  1735.       Position       [215, 64, 235, 91]
  1736.       Inputs       "+-"
  1737.     }
  1738.     Block {
  1739.       BlockType       Outport
  1740.       Name       "out_1"
  1741.       Position       [265, 70, 285, 90]
  1742.     }
  1743.     Line {
  1744.       SrcBlock       "Sum"
  1745.       SrcPort       1
  1746.       DstBlock       "out_1"
  1747.       DstPort       1
  1748.     }
  1749.     Line {
  1750.       SrcBlock       "RelationalnOperator"
  1751.       SrcPort       1
  1752.       Points       [10, 0; 0, 20]
  1753.       DstBlock       "Sum"
  1754.       DstPort       1
  1755.     }
  1756.     Line {
  1757.       SrcBlock       "RelationalnOperator1"
  1758.       SrcPort       1
  1759.       Points       [10, 0; 0, -25]
  1760.       DstBlock       "Sum"
  1761.       DstPort       2
  1762.     }
  1763.     Line {
  1764.       SrcBlock       "Constant"
  1765.       SrcPort       1
  1766.       Points       [20, 0]
  1767.       Branch {
  1768. DstBlock "RelationalnOperator1"
  1769. DstPort 2
  1770.       }
  1771.       Branch {
  1772. Points [0, -60]
  1773. DstBlock "RelationalnOperator"
  1774. DstPort 2
  1775.       }
  1776.     }
  1777.     Line {
  1778.       SrcBlock       "in_1"
  1779.       SrcPort       1
  1780.       Points       [35, 0]
  1781.       Branch {
  1782. DstBlock "RelationalnOperator"
  1783. DstPort 1
  1784.       }
  1785.       Branch {
  1786. Points [0, 60]
  1787. DstBlock "RelationalnOperator1"
  1788. DstPort 1
  1789.       }
  1790.     }
  1791.   }
  1792. }
  1793. Block {
  1794.   BlockType   Scope
  1795.   Name   "v(t)"
  1796.   Ports   [1]
  1797.   Position   [895, 70, 925, 100]
  1798.   Orientation   "up"
  1799.   Location   [320, 740, 960, 840]
  1800.   Open   off
  1801.   NumInputPorts   "1"
  1802.   List {
  1803.     ListType     AxesTitles
  1804.     axes1     "%<SignalLabel>"
  1805.   }
  1806.   TimeRange   "25.000000"
  1807.   YMin   "-3.000000"
  1808.   YMax   "3.000000"
  1809.   DataFormat   "Array"
  1810. }
  1811. Block {
  1812.   BlockType   Scope
  1813.   Name   "v_c(t)"
  1814.   Ports   [1]
  1815.   Position   [820, 75, 850, 105]
  1816.   Location   [0, 640, 640, 740]
  1817.   Open   off
  1818.   NumInputPorts   "1"
  1819.   List {
  1820.     ListType     AxesTitles
  1821.     axes1     "%<SignalLabel>"
  1822.   }
  1823.   TimeRange   "25.000000"
  1824.   YMin   "-1.500000"
  1825.   YMax   "1.500000"
  1826.   DataFormat   "Array"
  1827. }
  1828. Block {
  1829.   BlockType   Scope
  1830.   Name   "v_s(t)"
  1831.   Ports   [1]
  1832.   Position   [820, 220, 850, 250]
  1833.   Location   [640, 640, 1280, 740]
  1834.   Open   off
  1835.   NumInputPorts   "1"
  1836.   List {
  1837.     ListType     AxesTitles
  1838.     axes1     "%<SignalLabel>"
  1839.   }
  1840.   TimeRange   "25.000000"
  1841.   YMin   "-1.500000"
  1842.   YMax   "1.500000"
  1843.   DataFormat   "Array"
  1844. }
  1845. Block {
  1846.   BlockType   Scope
  1847.   Name   "x_c(t)"
  1848.   Ports   [1]
  1849.   Position   [415, 20, 445, 50]
  1850.   Orientation   "up"
  1851.   Location   [0, 440, 640, 540]
  1852.   Open   off
  1853.   NumInputPorts   "1"
  1854.   List {
  1855.     ListType     AxesTitles
  1856.     axes1     "%<SignalLabel>"
  1857.   }
  1858.   TimeRange   "25.000000"
  1859.   YMin   "-1.500000"
  1860.   YMax   "1.500000"
  1861.   DataFormat   "Array"
  1862. }
  1863. Block {
  1864.   BlockType   Scope
  1865.   Name   "x_s(t)"
  1866.   Ports   [1]
  1867.   Position   [415, 155, 445, 185]
  1868.   Orientation   "up"
  1869.   Location   [640, 440, 1280, 540]
  1870.   Open   off
  1871.   NumInputPorts   "1"
  1872.   List {
  1873.     ListType     AxesTitles
  1874.     axes1     "%<SignalLabel>"
  1875.   }
  1876.   TimeRange   "25.000000"
  1877.   YMin   "-1.500000"
  1878.   YMax   "1.500000"
  1879.   DataFormat   "Array"
  1880. }
  1881. Block {
  1882.   BlockType   Outport
  1883.   Name   "detected nbits"
  1884.   Position   [950, 140, 970, 160]
  1885. }
  1886. Line {
  1887.   SrcBlock   "Clock"
  1888.   SrcPort   1
  1889.   Points   [0, 0]
  1890.   Branch {
  1891.     DstBlock     "Fcn"
  1892.     DstPort     1
  1893.   }
  1894.   Branch {
  1895.     DstBlock     "Fcn1"
  1896.     DstPort     1
  1897.   }
  1898. }
  1899. Line {
  1900.   SrcBlock   "Product1"
  1901.   SrcPort   1
  1902.   Points   [100, 0]
  1903.   Branch {
  1904.     DstBlock     "Integrate and Dump_"
  1905.     DstPort     1
  1906.   }
  1907.   Branch {
  1908.     DstBlock     "x_s(t)"
  1909.     DstPort     1
  1910.   }
  1911. }
  1912. Line {
  1913.   SrcBlock   "noisynOQPSK-nSignal"
  1914.   SrcPort   1
  1915.   Points   [25, 0]
  1916.   Branch {
  1917.     DstBlock     "r(t)"
  1918.     DstPort     1
  1919.   }
  1920.   Branch {
  1921.     Points     [45, 0]
  1922.     Branch {
  1923.       Points       [0, -75]
  1924.       DstBlock       "Product"
  1925.       DstPort       1
  1926.     }
  1927.     Branch {
  1928.       Points       [0, 75]
  1929.       DstBlock       "Product1"
  1930.       DstPort       2
  1931.     }
  1932.   }
  1933. }
  1934. Line {
  1935.   SrcBlock   "Fcn1"
  1936.   SrcPort   1
  1937.   Points   [10, 0]
  1938.   DstBlock   "Product1"
  1939.   DstPort   1
  1940. }
  1941. Line {
  1942.   SrcBlock   "Fcn"
  1943.   SrcPort   1
  1944.   Points   [10, 0; 0, -35]
  1945.   DstBlock   "Product"
  1946.   DstPort   2
  1947. }
  1948. Line {
  1949.   SrcBlock   "QPSK demap"
  1950.   SrcPort   1
  1951.   Points   [30, 0]
  1952.   Branch {
  1953.     DstBlock     "detected nbits"
  1954.     DstPort     1
  1955.   }
  1956.   Branch {
  1957.     DstBlock     "v(t)"
  1958.     DstPort     1
  1959.   }
  1960. }
  1961. Line {
  1962.   SrcBlock   "Integrate and Dump_"
  1963.   SrcPort   1
  1964.   Points   [0, 0]
  1965.   Branch {
  1966.     Points     [55, 0]
  1967.     DstBlock     "s_rs(t)"
  1968.     DstPort     1
  1969.   }
  1970.   Branch {
  1971.     Points     [120, 0]
  1972.     Branch {
  1973.       Points       [0, -180]
  1974.       DstBlock       "receiver diagrams"
  1975.       DstPort       2
  1976.     }
  1977.     Branch {
  1978.       DstBlock       "thresholdndetector_"
  1979.       DstPort       1
  1980.     }
  1981.   }
  1982. }
  1983. Line {
  1984.   SrcBlock   "Product"
  1985.   SrcPort   1
  1986.   DstBlock   "TransportnDelay"
  1987.   DstPort   1
  1988. }
  1989. Line {
  1990.   SrcBlock   "TransportnDelay"
  1991.   SrcPort   1
  1992.   Points   [20, 0]
  1993.   Branch {
  1994.     DstBlock     "Integrate and Dump"
  1995.     DstPort     1
  1996.   }
  1997.   Branch {
  1998.     DstBlock     "x_c(t)"
  1999.     DstPort     1
  2000.   }
  2001. }
  2002. Line {
  2003.   SrcBlock   "Integrate and Dump"
  2004.   SrcPort   1
  2005.   Points   [0, 0]
  2006.   Branch {
  2007.     Points     [55, 0]
  2008.     DstBlock     "s_rc(t)"
  2009.     DstPort     1
  2010.   }
  2011.   Branch {
  2012.     Points     [95, 0]
  2013.     Branch {
  2014.       Points       [0, -65]
  2015.       DstBlock       "receiver diagrams"
  2016.       DstPort       1
  2017.     }
  2018.     Branch {
  2019.       DstBlock       "thresholdndetector"
  2020.       DstPort       1
  2021.     }
  2022.   }
  2023. }
  2024. Line {
  2025.   SrcBlock   "thresholdndetector"
  2026.   SrcPort   1
  2027.   Points   [15, 0]
  2028.   Branch {
  2029.     Points     [0, 45]
  2030.     DstBlock     "QPSK demap"
  2031.     DstPort     1
  2032.   }
  2033.   Branch {
  2034.     DstBlock     "v_c(t)"
  2035.     DstPort     1
  2036.   }
  2037. }
  2038. Line {
  2039.   SrcBlock   "thresholdndetector_"
  2040.   SrcPort   1
  2041.   Points   [15, 0]
  2042.   Branch {
  2043.     Points     [0, -65]
  2044.     DstBlock     "QPSK demap"
  2045.     DstPort     2
  2046.   }
  2047.   Branch {
  2048.     Points     [0, 10]
  2049.     DstBlock     "v_s(t)"
  2050.     DstPort     1
  2051.   }
  2052. }
  2053.       }
  2054.     }
  2055.     Block {
  2056.       BlockType       SubSystem
  2057.       Name       "Transmitter"
  2058.       Ports       [0, 3]
  2059.       Position       [200, 72, 275, 158]
  2060.       ShowPortLabels       off
  2061.       TreatAsAtomicUnit       off
  2062.       System {
  2063. Name "Transmitter"
  2064. Location [5, 96, 1017, 375]
  2065. Open off
  2066. ModelBrowserVisibility off
  2067. ModelBrowserWidth 200
  2068. ScreenColor "white"
  2069. PaperOrientation "landscape"
  2070. PaperPositionMode "auto"
  2071. PaperType "usletter"
  2072. PaperUnits "inches"
  2073. ZoomFactor "100"
  2074. Block {
  2075.   BlockType   Clock
  2076.   Name   "Clock"
  2077.   Position   [555, 155, 575, 175]
  2078.   Decimation   "10"
  2079. }
  2080. Block {
  2081.   BlockType   Fcn
  2082.   Name   "Fcn1"
  2083.   Position   [615, 130, 710, 160]
  2084.   ShowName   off
  2085.   Expr   "cos(4*pi*u)"
  2086. }
  2087. Block {
  2088.   BlockType   Fcn
  2089.   Name   "Fcn2"
  2090.   Position   [615, 175, 710, 205]
  2091.   ShowName   off
  2092.   Expr   "sin(4*pi*u)"
  2093. }
  2094. Block {
  2095.   BlockType   Product
  2096.   Name   "Product"
  2097.   Ports   [2, 1]
  2098.   Position   [770, 83, 800, 107]
  2099.   ShowName   off
  2100. }
  2101. Block {
  2102.   BlockType   Product
  2103.   Name   "Product1"
  2104.   Ports   [2, 1]
  2105.   Position   [770, 233, 800, 257]
  2106.   ShowName   off
  2107. }
  2108. Block {
  2109.   BlockType   SubSystem
  2110.   Name   "QPSK"
  2111.   Ports   [1, 2]
  2112.   Position   [110, 115, 185, 155]
  2113.   TreatAsAtomicUnit   off
  2114.   MaskType   "MPSK"
  2115.   MaskDescription   "QASK mapping with circle constellation. The"
  2116. " constellation is defined in NIC, RIC and PIC."
  2117.   MaskHelp   "This block maps a digital signal onto in-ph"
  2118. "ase and quadratic components, which are outputs in the first and second outpu"
  2119. "t port respectively. The circle constellation is defined in NIC, RIC, and PIC"
  2120. ". The input symbol interval can be a two-element vector with the second eleme"
  2121. "nt being offset. The default value offset is 0. Use the MODMAP function to se"
  2122. "e the constellation."
  2123.   MaskPromptString   "Number of symbols in each circle NIC:|Radii"
  2124. " in each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval an"
  2125. "d offset (sec):"
  2126.   MaskStyleString   "edit,edit,edit,edit"
  2127.   MaskTunableValueString  "on,on,on,on"
  2128.   MaskCallbackString   "|||"
  2129.   MaskEnableString   "on,on,on,on"
  2130.   MaskVisibilityString   "on,on,on,on"
  2131.   MaskToolTipString   "on,on,on,on"
  2132.   MaskVarAliasString   ",,,"
  2133.   MaskVariables   "N=@1;A=@2;P=@3;td=@4;"
  2134.   MaskInitialization   "y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=i"
  2135. "mag(y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);"
  2136.   MaskDisplay   "disp('MPSK\nmapping')"
  2137.   MaskIconFrame   on
  2138.   MaskIconOpaque   on
  2139.   MaskIconRotate   "none"
  2140.   MaskIconUnits   "autoscale"
  2141.   MaskValueString   "[4]|[sqrt(2)]|[pi/4]|1"
  2142.   System {
  2143.     Name     "QPSK"
  2144.     Location     [572, 160, 1070, 460]
  2145.     Open     off
  2146.     ModelBrowserVisibility  off
  2147.     ModelBrowserWidth     200
  2148.     ScreenColor     "white"
  2149.     PaperOrientation     "landscape"
  2150.     PaperPositionMode     "auto"
  2151.     PaperType     "usletter"
  2152.     PaperUnits     "inches"
  2153.     ZoomFactor     "100"
  2154.     Block {
  2155.       BlockType       Inport
  2156.       Name       "in_1"
  2157.       Position       [40, 35, 60, 55]
  2158.     }
  2159.     Block {
  2160.       BlockType       ZeroOrderHold
  2161.       Name       "Zero-OrdernHold1"
  2162.       Position       [95, 29, 130, 61]
  2163.       SampleTime       "td"
  2164.     }
  2165.     Block {
  2166.       BlockType       Lookup
  2167.       Name       "imag part1"
  2168.       Position       [190, 112, 225, 138]
  2169.       InputValues       "x"
  2170.       OutputValues       "y2"
  2171.     }
  2172.     Block {
  2173.       BlockType       Lookup
  2174.       Name       "real part"
  2175.       Position       [195, 32, 230, 58]
  2176.       InputValues       "x"
  2177.       OutputValues       "y1"
  2178.     }
  2179.     Block {
  2180.       BlockType       Outport
  2181.       Name       "Real"
  2182.       Position       [290, 35, 310, 55]
  2183.     }
  2184.     Block {
  2185.       BlockType       Outport
  2186.       Name       "Imag"
  2187.       Position       [290, 115, 310, 135]
  2188.       Port       "2"
  2189.     }
  2190.     Line {
  2191.       SrcBlock       "in_1"
  2192.       SrcPort       1
  2193.       DstBlock       "Zero-OrdernHold1"
  2194.       DstPort       1
  2195.     }
  2196.     Line {
  2197.       SrcBlock       "Zero-OrdernHold1"
  2198.       SrcPort       1
  2199.       Points       [0, 0; 25, 0]
  2200.       Branch {
  2201. DstBlock "real part"
  2202. DstPort 1
  2203.       }
  2204.       Branch {
  2205. Points [0, 80]
  2206. DstBlock "imag part1"
  2207. DstPort 1
  2208.       }
  2209.     }
  2210.     Line {
  2211.       SrcBlock       "real part"
  2212.       SrcPort       1
  2213.       DstBlock       "Real"
  2214.       DstPort       1
  2215.     }
  2216.     Line {
  2217.       SrcBlock       "imag part1"
  2218.       SrcPort       1
  2219.       DstBlock       "Imag"
  2220.       DstPort       1
  2221.     }
  2222.   }
  2223. }
  2224. Block {
  2225.   BlockType   SubSystem
  2226.   Name   "Source1"
  2227.   Ports   [0, 2]
  2228.   Position   [25, 96, 55, 149]
  2229.   ShowPortLabels   off
  2230.   TreatAsAtomicUnit   off
  2231.   System {
  2232.     Name     "Source1"
  2233.     Location     [13, 444, 550, 683]
  2234.     Open     off
  2235.     ModelBrowserVisibility  off
  2236.     ModelBrowserWidth     200
  2237.     ScreenColor     "white"
  2238.     PaperOrientation     "landscape"
  2239.     PaperPositionMode     "auto"
  2240.     PaperType     "A4"
  2241.     PaperUnits     "centimeters"
  2242.     ZoomFactor     "100"
  2243.     Block {
  2244.       BlockType       SubSystem
  2245.       Name       "Bits"
  2246.       Ports       [0, 1]
  2247.       Position       [25, 48, 85, 92]
  2248.       ShowPortLabels       off
  2249.       TreatAsAtomicUnit       off
  2250.       MaskType       "Read from workspace"
  2251.       MaskDescription       "Read from a workspace variable atnsamp"
  2252. "ling time point."
  2253.       MaskHelp       "This block reads from a workspace varia"
  2254. "ble at a given sample time. The column number is the block output vector leng"
  2255. "th. When the simulation reaches the end of the variable (eof), the block will"
  2256. " cyclically output from the first row of the variable or output zeros based o"
  2257. "n the repeat flag entree."
  2258.       MaskPromptString       "Variable (column_number=block_output_le"
  2259. "ngth):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output "
  2260. "zeros after eof).|Initial output:"
  2261.       MaskStyleString       "edit,edit,edit,edit"
  2262.       MaskTunableValueString  "on,on,on,on"
  2263.       MaskCallbackString      "|||"
  2264.       MaskEnableString       "on,on,on,on"
  2265.       MaskVisibilityString    "on,on,on,on"
  2266.       MaskToolTipString       "on,on,on,on"
  2267.       MaskVarAliasString      ",,,"
  2268.       MaskInitialization      "var=@1;td=@2;ts=td(1);if (length(td)>=2"
  2269. "),off=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
  2270.       MaskDisplay       "plot(0,0,100,100,x,y);disp('Rd wksp')"
  2271.       MaskIconFrame       on
  2272.       MaskIconOpaque       on
  2273.       MaskIconRotate       "none"
  2274.       MaskIconUnits       "autoscale"
  2275.       MaskValueString       "randint(2000,1,2)|.5|1|1"
  2276.       System {
  2277. Name "Bits"
  2278. Location [355, 528, 737, 675]
  2279. Open off
  2280. ModelBrowserVisibility off
  2281. ModelBrowserWidth 200
  2282. ScreenColor "white"
  2283. PaperOrientation "landscape"
  2284. PaperPositionMode "auto"
  2285. PaperType "A4"
  2286. PaperUnits "centimeters"
  2287. ZoomFactor "100"
  2288. Block {
  2289.   BlockType   "S-Function"
  2290.   Name   "Message source"
  2291.   Ports   [1, 1]
  2292.   Position   [180, 53, 255, 97]
  2293.   BackgroundColor   "yellow"
  2294.   FunctionName   "trigwksp"
  2295.   Parameters   "var,thd,cyclFlag,ini"
  2296.   MaskType   "Read from workspace"
  2297.   MaskDescription   "The raising edge of input pulse tri"
  2298. "gger the block output the next row from the workspace variable."
  2299.   MaskHelp   "This block reads the data from a wo"
  2300. "rkspace variable. The output is refreshed at the raising edge of the input pu"
  2301. "lse."
  2302.   MaskPromptString   "Read the variable:|Threshold for th"
  2303. "e input pulse:|Cyclic read variable (1) or amend zeros (0).|Output before fir"
  2304. "st trigger:"
  2305.   MaskStyleString   "edit,edit,edit,edit"
  2306.   MaskTunableValueString  "on,on,on,on"
  2307.   MaskCallbackString   "|||"
  2308.   MaskEnableString   "on,on,on,on"
  2309.   MaskVisibilityString   "on,on,on,on"
  2310.   MaskToolTipString   "on,on,on,on"
  2311.   MaskVarAliasString   ",,,"
  2312.   MaskInitialization   "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
  2313.   MaskDisplay   "disp('Triggered\nread')"
  2314.   MaskIconFrame   on
  2315.   MaskIconOpaque   on
  2316.   MaskIconRotate   "none"
  2317.   MaskIconUnits   "autoscale"
  2318.   MaskValueString   "var|.1|cyc|ini"
  2319. }
  2320. Block {
  2321.   BlockType   SubSystem
  2322.   Name   "Pulses deividensame sample time1"
  2323.   Ports   [0, 1]
  2324.   Position   [50, 56, 110, 94]
  2325.   ShowPortLabels   off
  2326.   TreatAsAtomicUnit   off
  2327.   MaskType   "Pulse generator"
  2328.   MaskDescription   "Vector pulses with sample rate of e"
  2329. "ach pulse as Sample_time ./Divider. "
  2330.   MaskHelp   "This block generator a vector pulse"
  2331. "s. The output length is the same as the vector defined in "Divider". The it"
  2332. "h element of the output has the sample time Sample_time/Divider(i). All eleme"
  2333. "nts in "Divider" must be integers."
  2334.   MaskPromptString   "Sample time (scalar, sec):|Divider "
  2335. "(integer vector):|Offset (have same dimension as Divider:"
  2336.   MaskStyleString   "edit,edit,edit"
  2337.   MaskTunableValueString  "on,on,on"
  2338.   MaskCallbackString   "||"
  2339.   MaskEnableString   "on,on,on"
  2340.   MaskVisibilityString   "on,on,on"
  2341.   MaskToolTipString   "on,on,on"
  2342.   MaskVarAliasString   ",,"
  2343.   MaskInitialization   "samp_time=@1;out_divid=@2;offset=@3"
  2344. ";"
  2345.   MaskDisplay   "disp('Vector\nPulse')"
  2346.   MaskIconFrame   on
  2347.   MaskIconOpaque   on
  2348.   MaskIconRotate   "none"
  2349.   MaskIconUnits   "autoscale"
  2350.   MaskValueString   "ts|1|off"
  2351.   System {
  2352.     Name     "Pulses deividensame sample time1"
  2353.     Location     [55, 192, 283, 286]
  2354.     Open     off
  2355.     ModelBrowserVisibility  off
  2356.     ModelBrowserWidth     200
  2357.     ScreenColor     "white"
  2358.     PaperOrientation     "landscape"
  2359.     PaperPositionMode     "auto"
  2360.     PaperType     "A4"
  2361.     PaperUnits     "centimeters"
  2362.     ZoomFactor     "100"
  2363.     Block {
  2364.     BlockType     "S-Function"
  2365.     Name     "S-function1"
  2366.     Ports     [0, 1]
  2367.     Position     [40, 31, 105, 59]
  2368.     FunctionName     "homopuls"
  2369.     Parameters     "samp_time, out_divid, offset"
  2370.     }
  2371.     Block {
  2372.     BlockType     Outport
  2373.     Name     "Outport"
  2374.     Position     [160, 35, 180, 55]
  2375.     }
  2376.     Line {
  2377.     SrcBlock     "S-function1"
  2378.     SrcPort     1
  2379.     DstBlock     "Outport"
  2380.     DstPort     1
  2381.     }
  2382.   }
  2383. }
  2384. Block {
  2385.   BlockType   Outport
  2386.   Name   "out_1"
  2387.   Position   [295, 65, 315, 85]
  2388. }
  2389. Line {
  2390.   SrcBlock   "Message source"
  2391.   SrcPort   1
  2392.   DstBlock   "out_1"
  2393.   DstPort   1
  2394. }
  2395. Line {
  2396.   SrcBlock   "Pulses deividensame sample time1"
  2397.   SrcPort   1
  2398.   DstBlock   "Message source"
  2399.   DstPort   1
  2400. }
  2401.       }
  2402.     }
  2403.     Block {
  2404.       BlockType       "S-Function"
  2405.       Name       "D/A "
  2406.       Ports       [1, 1]
  2407.       Position       [370, 128, 450, 172]
  2408.       FunctionName       "simbi2de"
  2409.       Parameters       "p"
  2410.       MaskType       "Base M vector to decimal integer"
  2411.       MaskDescription       "Convert base M integer with eachnposit"
  2412. "ion in the input vector into scalar decimal output."
  2413.       MaskHelp       "This block convert the base M vector in"
  2414. "to scalar decimal integer output. Each element of the input vector is one pos"
  2415. "ition of the digit of the base M integer. The 1st element in the input vector"
  2416. " contains the 1's position. The 2nd element in the input vector contains the "
  2417. "M's position."
  2418.       MaskPromptString       "Input integer base M:"
  2419.       MaskStyleString       "edit"
  2420.       MaskTunableValueString  "on"
  2421.       MaskEnableString       "on"
  2422.       MaskVisibilityString    "on"
  2423.       MaskToolTipString       "on"
  2424.       MaskInitialization      "p=@1;"
  2425.       MaskDisplay       "disp('Vec to sca\nconverter')"
  2426.       MaskIconFrame       on
  2427.       MaskIconOpaque       on
  2428.       MaskIconRotate       "none"
  2429.       MaskIconUnits       "autoscale"
  2430.       MaskValueString       "2"
  2431.     }
  2432.     Block {
  2433.       BlockType       Terminator
  2434.       Name       "Terminator"
  2435.       Position       [480, 195, 500, 215]
  2436.     }
  2437.     Block {
  2438.       BlockType       SubSystem
  2439.       Name       "clock"
  2440.       Ports       [0, 1]
  2441.       Position       [35, 147, 70, 183]
  2442.       ShowPortLabels       off
  2443.       TreatAsAtomicUnit       off
  2444.       MaskType       "Pulse Generator"
  2445.       MaskDescription       "Pulse Generator."
  2446.       MaskHelp       "Pulse generator which ensures pulse\nt"
  2447. "ransitions are hit. Provides a vector of pulses when the height is entered as"
  2448. " a vector.\nUnmask to see how it works."
  2449.       MaskPromptString       "Pulse period (secs):|Pulse width:|Pulse"
  2450. " height:|Pulse start time:"
  2451.       MaskStyleString       "edit,edit,edit,edit"
  2452.       MaskTunableValueString  "on,on,on,on"
  2453.       MaskCallbackString      "|||"
  2454.       MaskEnableString       "on,on,on,on"
  2455.       MaskVisibilityString    "on,on,on,on"
  2456.       MaskToolTipString       "on,on,on,on"
  2457.       MaskVarAliasString      ",,,"
  2458.       MaskInitialization      "Ts=@1; du=@2; ht=@3; stt=@4; ini=ones(l"
  2459. "ength(ht),1); st1=rem(stt,Ts); st2=rem(stt+du,Ts);if(Ts<=1.2*du),ini=zeros(le"
  2460. "ngth(ht),1);end;"
  2461.       MaskDisplay       "plot(0,0,100,100,[90,75,75,60,60,35,35,"
  2462. "20,20,10],[20,20,80,80,20,20,80,80,20,20])"
  2463.       MaskIconFrame       on
  2464.       MaskIconOpaque       on
  2465.       MaskIconRotate       "none"
  2466.       MaskIconUnits       "autoscale"
  2467.       MaskValueString       ".5|.25|1|0"
  2468.       System {
  2469. Name "clock"
  2470. Location [158, 441, 759, 682]
  2471. Open off
  2472. ModelBrowserVisibility off
  2473. ModelBrowserWidth 200
  2474. ScreenColor "white"
  2475. PaperOrientation "landscape"
  2476. PaperPositionMode "auto"
  2477. PaperType "A4"
  2478. PaperUnits "centimeters"
  2479. ZoomFactor "100"
  2480. Block {
  2481.   BlockType   Clock
  2482.   Name   "Clock1"
  2483.   Position   [295, 100, 315, 120]
  2484.   ShowName   off
  2485.   Decimation   "10"
  2486. }
  2487. Block {
  2488.   BlockType   Constant
  2489.   Name   "Constant"
  2490.   Position   [25, 30, 45, 50]
  2491. }
  2492. Block {
  2493.   BlockType   Constant
  2494.   Name   "Constant1"
  2495.   Position   [295, 149, 320, 171]
  2496.   Value   "stt"
  2497. }
  2498. Block {
  2499.   BlockType   Gain
  2500.   Name   "Gain"
  2501.   Position   [510, 102, 535, 128]
  2502.   ShowName   off
  2503.   Gain   "ht"
  2504. }
  2505. Block {
  2506.   BlockType   Logic
  2507.   Name   "LogicalnOperator"
  2508.   Ports   [2, 1]
  2509.   Position   [285, 38, 315, 62]
  2510.   Operator   "XOR"
  2511. }
  2512. Block {
  2513.   BlockType   Logic
  2514.   Name   "LogicalnOperator1"
  2515.   Ports   [1, 1]
  2516.   Position   [355, 38, 385, 62]
  2517.   Operator   "NOT"
  2518.   Inputs   "1"
  2519. }
  2520. Block {
  2521.   BlockType   Product
  2522.   Name   "Product"
  2523.   Ports   [2, 1]
  2524.   Position   [455, 105, 480, 125]
  2525.   ShowName   off
  2526. }
  2527. Block {
  2528.   BlockType   RelationalOperator
  2529.   Name   "Relationalnoperator"
  2530.   Position   [370, 102, 400, 133]
  2531.   ShowName   off
  2532. }
  2533. Block {
  2534.   BlockType   Sum
  2535.   Name   "Sum"
  2536.   Ports   [2, 1]
  2537.   Position   [135, 35, 155, 55]
  2538.   ShowName   off
  2539.   Inputs   "+-"
  2540. }
  2541. Block {
  2542.   BlockType   Sum
  2543.   Name   "Sum1"
  2544.   Ports   [2, 1]
  2545.   Position   [130, 120, 150, 140]
  2546.   ShowName   off
  2547.   Inputs   "+-"
  2548. }
  2549. Block {
  2550.   BlockType   UnitDelay
  2551.   Name   "Unit Delay"
  2552.   Position   [145, 75, 195, 95]
  2553.   Orientation   "left"
  2554.   SampleTime   "[Ts,st1]"
  2555. }
  2556. Block {
  2557.   BlockType   UnitDelay
  2558.   Name   "Unit Delay1"
  2559.   Position   [140, 165, 190, 185]
  2560.   Orientation   "left"
  2561.   X0   "ini"
  2562.   SampleTime   "[Ts,st2]"
  2563. }
  2564. Block {
  2565.   BlockType   Outport
  2566.   Name   "out_1"
  2567.   Position   [560, 105, 580, 125]
  2568.   ShowName   off
  2569. }
  2570. Line {
  2571.   SrcBlock   "Sum1"
  2572.   SrcPort   1
  2573.   Points   [0, 0]
  2574.   Branch {
  2575.     Points     [90, 0; 0, -75]
  2576.     DstBlock     "LogicalnOperator"
  2577.     DstPort     2
  2578.   }
  2579.   Branch {
  2580.     Points     [55, 0; 0, 45]
  2581.     DstBlock     "Unit Delay1"
  2582.     DstPort     1
  2583.   }
  2584. }
  2585. Line {
  2586.   SrcBlock   "Sum"
  2587.   SrcPort   1
  2588.   Points   [0, 0]
  2589.   Branch {
  2590.     DstBlock     "LogicalnOperator"
  2591.     DstPort     1
  2592.   }
  2593.   Branch {
  2594.     Points     [70, 0; 0, 40]
  2595.     DstBlock     "Unit Delay"
  2596.     DstPort     1
  2597.   }
  2598. }
  2599. Line {
  2600.   SrcBlock   "Constant"
  2601.   SrcPort   1
  2602.   Points   [0, 0]
  2603.   Branch {
  2604.     Points     [20, 0; 0, 85]
  2605.     DstBlock     "Sum1"
  2606.     DstPort     1
  2607.   }
  2608.   Branch {
  2609.     DstBlock     "Sum"
  2610.     DstPort     1
  2611.   }
  2612. }
  2613. Line {
  2614.   SrcBlock   "Unit Delay1"
  2615.   SrcPort   1
  2616.   Points   [-35, 0; 0, -40]
  2617.   DstBlock   "Sum1"
  2618.   DstPort   2
  2619. }
  2620. Line {
  2621.   SrcBlock   "Unit Delay"
  2622.   SrcPort   1
  2623.   Points   [-35, 0; 0, -35]
  2624.   DstBlock   "Sum"
  2625.   DstPort   2
  2626. }
  2627. Line {
  2628.   SrcBlock   "Clock1"
  2629.   SrcPort   1
  2630.   DstBlock   "Relationalnoperator"
  2631.   DstPort   1
  2632. }
  2633. Line {
  2634.   SrcBlock   "Relationalnoperator"
  2635.   SrcPort   1
  2636.   DstBlock   "Product"
  2637.   DstPort   2
  2638. }
  2639. Line {
  2640.   SrcBlock   "Product"
  2641.   SrcPort   1
  2642.   DstBlock   "Gain"
  2643.   DstPort   1
  2644. }
  2645. Line {
  2646.   SrcBlock   "Gain"
  2647.   SrcPort   1
  2648.   DstBlock   "out_1"
  2649.   DstPort   1
  2650. }
  2651. Line {
  2652.   SrcBlock   "Constant1"
  2653.   SrcPort   1
  2654.   Points   [20, 0; 0, -35]
  2655.   DstBlock   "Relationalnoperator"
  2656.   DstPort   2
  2657. }
  2658. Line {
  2659.   SrcBlock   "LogicalnOperator"
  2660.   SrcPort   1
  2661.   DstBlock   "LogicalnOperator1"
  2662.   DstPort   1
  2663. }
  2664. Line {
  2665.   SrcBlock   "LogicalnOperator1"
  2666.   SrcPort   1
  2667.   Points   [40, 0; 0, 60]
  2668.   DstBlock   "Product"
  2669.   DstPort   1
  2670. }
  2671.       }
  2672.     }
  2673.     Block {
  2674.       BlockType       SubSystem
  2675.       Name       "delay"
  2676.       Ports       [1, 1]
  2677.       Position       [260, 48, 340, 92]
  2678.       ShowPortLabels       off
  2679.       TreatAsAtomicUnit       off
  2680.       MaskType       "Multi-step delay"
  2681.       MaskDescription       "Output is K-step delay of the input sig"
  2682. "nal."
  2683.       MaskHelp       "This block holds the input signal for K"
  2684. " steps and then outputs the signal. The delay step cannot be changed during t"
  2685. "he simulation."
  2686.       MaskPromptString       "Delay steps (integer):|Sample time (sec"
  2687. "):|Initial output:"
  2688.       MaskStyleString       "edit,edit,edit"
  2689.       MaskTunableValueString  "on,on,on"
  2690.       MaskCallbackString      "||"
  2691.       MaskEnableString       "on,on,on"
  2692.       MaskVisibilityString    "on,on,on"
  2693.       MaskToolTipString       "on,on,on"
  2694.       MaskVarAliasString      ",,"
  2695.       MaskInitialization      "n=@1;ts=@2;if length(ts)<2, ts=[ts 0];e"
  2696. "nd;ini=@3;"
  2697.       MaskDisplay       "disp('-k\nz   ')"
  2698.       MaskIconFrame       on
  2699.       MaskIconOpaque       on
  2700.       MaskIconRotate       "none"
  2701.       MaskIconUnits       "autoscale"
  2702.       MaskValueString       "2|.5|0"
  2703.       System {
  2704. Name "delay"
  2705. Location [12, 432, 357, 702]
  2706. Open off
  2707. ModelBrowserVisibility off
  2708. ModelBrowserWidth 200
  2709. ScreenColor "white"
  2710. PaperOrientation "landscape"
  2711. PaperPositionMode "auto"
  2712. PaperType "A4"
  2713. PaperUnits "centimeters"
  2714. ZoomFactor "100"
  2715. Block {
  2716.   BlockType   Inport
  2717.   Name   "in_1"
  2718.   Position   [20, 80, 40, 100]
  2719. }
  2720. Block {
  2721.   BlockType   Constant
  2722.   Name   "Constant"
  2723.   Position   [120, 230, 140, 250]
  2724.   Value   "ini"
  2725. }
  2726. Block {
  2727.   BlockType   Constant
  2728.   Name   "Constant1"
  2729.   Position   [15, 194, 100, 216]
  2730.   Value   "n*ts(1)+ts(2)"
  2731. }
  2732. Block {
  2733.   BlockType   DigitalClock
  2734.   Name   "Digital Clock"
  2735.   Position   [60, 140, 95, 170]
  2736.   SampleTime   "ts"
  2737. }
  2738. Block {
  2739.   BlockType   DiscreteFilter
  2740.   Name   "K-stepndelay"
  2741.   Position   [60, 70, 185, 110]
  2742.   Numerator   "[zeros(1,n), 1]"
  2743.   Denominator   "1"
  2744.   SampleTime   "ts"
  2745. }
  2746. Block {
  2747.   BlockType   RelationalOperator
  2748.   Name   "RelationalnOperator"
  2749.   Position   [150, 168, 180, 192]
  2750. }
  2751. Block {
  2752.   BlockType   Switch
  2753.   Name   "Switch"
  2754.   Position   [270, 114, 295, 146]
  2755.   Threshold   ".1"
  2756. }
  2757. Block {
  2758.   BlockType   Outport
  2759.   Name   "out_1"
  2760.   Position   [325, 120, 345, 140]
  2761. }
  2762. Line {
  2763.   SrcBlock   "RelationalnOperator"
  2764.   SrcPort   1
  2765.   Points   [35, 0; 0, -50]
  2766.   DstBlock   "Switch"
  2767.   DstPort   2
  2768. }
  2769. Line {
  2770.   SrcBlock   "Constant1"
  2771.   SrcPort   1
  2772.   Points   [10, 0; 0, -20]
  2773.   DstBlock   "RelationalnOperator"
  2774.   DstPort   2
  2775. }
  2776. Line {
  2777.   SrcBlock   "Digital Clock"
  2778.   SrcPort   1
  2779.   Points   [15, 0; 0, 20]
  2780.   DstBlock   "RelationalnOperator"
  2781.   DstPort   1
  2782. }
  2783. Line {
  2784.   SrcBlock   "Constant"
  2785.   SrcPort   1
  2786.   Points   [95, 0; 0, -100]
  2787.   DstBlock   "Switch"
  2788.   DstPort   3
  2789. }
  2790. Line {
  2791.   SrcBlock   "K-stepndelay"
  2792.   SrcPort   1
  2793.   Points   [5, 0; 0, 30]
  2794.   DstBlock   "Switch"
  2795.   DstPort   1
  2796. }
  2797. Line {
  2798.   SrcBlock   "in_1"
  2799.   SrcPort   1
  2800.   DstBlock   "K-stepndelay"
  2801.   DstPort   1
  2802. }
  2803. Line {
  2804.   SrcBlock   "Switch"
  2805.   SrcPort   1
  2806.   DstBlock   "out_1"
  2807.   DstPort   1
  2808. }
  2809.       }
  2810.     }
  2811.     Block {
  2812.       BlockType       SubSystem
  2813.       Name       "hold"
  2814.       Ports       [3, 2]
  2815.       Position       [260, 138, 340, 182]
  2816.       ShowPortLabels       off
  2817.       TreatAsAtomicUnit       off
  2818.       MaskType       "Triggered buffer down"
  2819.       MaskDescription       "Rising edge of the 2nd port triggers 1s"
  2820. "t port vector signal in. Rising edge of the 3rd port triggers 1st outport sig"
  2821. "nal out."
  2822.       MaskHelp       "The block refreshes its registers with "
  2823. "the vector input from the 1st inport at the rising edge of the 2nd inport pul"
  2824. "se. The 1st outport outputs the elements of the registers starting with the g"
  2825. "iven initial index. The rising edge of the 3rd inport pulse triggers the 1st "
  2826. "output to output the register value with the index increasing the increment v"
  2827. "alue. The second outport outputs a spike pulse when the internal register is "
  2828. "refreshed."
  2829.       MaskPromptString       "Input signal vector size:|Initial index"
  2830. " (integer vector):|Increment for each index (integer vector):|Trigger thresho"
  2831. "ld:|When index exceed register size, 1: cyclic out, 0: zero out:"
  2832.       MaskStyleString       "edit,edit,edit,edit,edit"
  2833.       MaskTunableValueString  "on,on,on,on,on"
  2834.       MaskCallbackString      "||||"
  2835.       MaskEnableString       "on,on,on,on,on"
  2836.       MaskVisibilityString    "on,on,on,on,on"
  2837.       MaskToolTipString       "on,on,on,on,on"
  2838.       MaskVarAliasString      ",,,,"
  2839.       MaskInitialization      "in_size=@1;ini_idx=@2;idx_inc=@3;thrshl"
  2840. "d=@4;cycl_flag=@5;out_size=length(ini_idx);[v,w]=trigicon(0,25,get_param(gcb,"
  2841. "'orientation'),2);[x,y]=trigicon(1,75,get_param(gcb,'orientation'),2);[u,z]=t"
  2842. "rigicon(0,50,get_param(gcb,'orientation'),2);"
  2843.       MaskDisplay       "plot(0,0,100,100,x,y,v,w,u,z);disp('Buf"
  2844. "fer dwn')"
  2845.       MaskIconFrame       on
  2846.       MaskIconOpaque       on
  2847.       MaskIconRotate       "none"
  2848.       MaskIconUnits       "autoscale"
  2849.       MaskValueString       "2|[1 0]|[0 0]|1|0"
  2850.       System {
  2851. Name "hold"
  2852. Location [22, 58, 460, 228]
  2853. Open off
  2854. ModelBrowserVisibility off
  2855. ModelBrowserWidth 200
  2856. ScreenColor "white"
  2857. PaperOrientation "landscape"
  2858. PaperPositionMode "auto"
  2859. PaperType "A4"
  2860. PaperUnits "centimeters"
  2861. ZoomFactor "100"
  2862. Block {
  2863.   BlockType   Inport
  2864.   Name   "in_1"
  2865.   Position   [15, 55, 35, 75]
  2866. }
  2867. Block {
  2868.   BlockType   Inport
  2869.   Name   "in_2"
  2870.   Position   [40, 70, 60, 90]
  2871.   Port   "2"
  2872. }
  2873. Block {
  2874.   BlockType   Inport
  2875.   Name   "in_3"
  2876.   Position   [65, 85, 85, 105]
  2877.   Port   "3"
  2878. }
  2879. Block {
  2880.   BlockType   Demux
  2881.   Name   "Demux"
  2882.   Ports   [1, 2]
  2883.   Position   [290, 62, 330, 98]
  2884.   Outputs   "[out_size 1]"
  2885. }
  2886. Block {
  2887.   BlockType   Mux
  2888.   Name   "Mux"
  2889.   Ports   [3, 1]
  2890.   Position   [110, 59, 140, 101]
  2891.   Inputs   "[in_size 1 1]"
  2892. }
  2893. Block {
  2894.   BlockType   "S-Function"
  2895.   Name   "S-function"
  2896.   Ports   [1, 1]
  2897.   Position   [185, 70, 235, 90]
  2898.   FunctionName   "regdown"
  2899.   Parameters   "ini_idx, idx_inc, thrshld, cycl_fla"
  2900. "g"
  2901. }
  2902. Block {
  2903.   BlockType   Outport
  2904.   Name   "out_1"
  2905.   Position   [390, 60, 410, 80]
  2906. }
  2907. Block {
  2908.   BlockType   Outport
  2909.   Name   "out_2"
  2910.   Position   [355, 80, 375, 100]
  2911.   Port   "2"
  2912. }
  2913. Line {
  2914.   SrcBlock   "in_3"
  2915.   SrcPort   1
  2916.   DstBlock   "Mux"
  2917.   DstPort   3
  2918. }
  2919. Line {
  2920.   SrcBlock   "Demux"
  2921.   SrcPort   2
  2922.   DstBlock   "out_2"
  2923.   DstPort   1
  2924. }
  2925. Line {
  2926.   SrcBlock   "in_2"
  2927.   SrcPort   1
  2928.   DstBlock   "Mux"
  2929.   DstPort   2
  2930. }
  2931. Line {
  2932.   SrcBlock   "Demux"
  2933.   SrcPort   1
  2934.   DstBlock   "out_1"
  2935.   DstPort   1
  2936. }
  2937. Line {
  2938.   SrcBlock   "in_1"
  2939.   SrcPort   1
  2940.   DstBlock   "Mux"
  2941.   DstPort   1
  2942. }
  2943. Line {
  2944.   SrcBlock   "Mux"
  2945.   SrcPort   1
  2946.   DstBlock   "S-function"
  2947.   DstPort   1
  2948. }
  2949. Line {
  2950.   SrcBlock   "S-function"
  2951.   SrcPort   1
  2952.   DstBlock   "Demux"
  2953.   DstPort   1
  2954. }
  2955.       }
  2956.     }
  2957.     Block {
  2958.       BlockType       SubSystem
  2959.       Name       "shift register"
  2960.       Ports       [2, 2]
  2961.       Position       [120, 133, 200, 177]
  2962.       ShowPortLabels       off
  2963.       TreatAsAtomicUnit       off
  2964.       MaskType       "Register-shift"
  2965.       MaskDescription       "The rising edge of the 2nd port pulsen"
  2966. "triggers the block to input the 1st port data and to shift the register."
  2967.       MaskHelp       "This block stores the scalar input sign"
  2968. "al from the 1st input port at the rising edge of the pulse from the 2nd port."
  2969. " The 1st outport outputs a vector with its size the same as the "Delay steps"
  2970. "" entree of this block. The maximum delay is the register size of this block"
  2971. ". The second outport outputs a positive pulse when the register is\nrefreshe"
  2972. "d."
  2973.       MaskPromptString       "Delay steps (output length is same as t"
  2974. "his vector size):|Threshold in detecting the rising edge of the pulse:"
  2975.       MaskStyleString       "edit,edit"
  2976.       MaskTunableValueString  "on,on"
  2977.       MaskCallbackString      "|"
  2978.       MaskEnableString       "on,on"
  2979.       MaskVisibilityString    "on,on"
  2980.       MaskToolTipString       "on,on"
  2981.       MaskVarAliasString      ","
  2982.       MaskInitialization      "shft_out=@1;thrhld=@2;len_rg=length(@1)"
  2983. ";[v,w]=trigicon(0,25,get_param(gcb,'orientation'),2);[x,y]=trigicon(1,75,get_"
  2984. "param(gcb,'orientation'),2);"
  2985.       MaskDisplay       "plot(0,0,100,100,x,y,v,w);disp('Reg. sh"
  2986. "ift')"
  2987.       MaskIconFrame       on
  2988.       MaskIconOpaque       on
  2989.       MaskIconRotate       "none"
  2990.       MaskIconUnits       "autoscale"
  2991.       MaskValueString       "[2 1]|1"
  2992.       System {
  2993. Name "shift register"
  2994. Location [19, 610, 374, 740]
  2995. Open off
  2996. ModelBrowserVisibility off
  2997. ModelBrowserWidth 200
  2998. ScreenColor "white"
  2999. PaperOrientation "landscape"
  3000. PaperPositionMode "auto"
  3001. PaperType "A4"
  3002. PaperUnits "centimeters"
  3003. ZoomFactor "100"
  3004. Block {
  3005.   BlockType   Inport
  3006.   Name   "in_1"
  3007.   Position   [30, 55, 50, 75]
  3008. }
  3009. Block {
  3010.   BlockType   Inport
  3011.   Name   "in_2"
  3012.   Position   [30, 70, 50, 90]
  3013.   Port   "2"
  3014. }
  3015. Block {
  3016.   BlockType   Demux
  3017.   Name   "Demux"
  3018.   Ports   [1, 2]
  3019.   Position   [260, 55, 300, 90]
  3020.   Outputs   "[len_rg, 1]"
  3021. }
  3022. Block {
  3023.   BlockType   Mux
  3024.   Name   "Mux"
  3025.   Ports   [2, 1]
  3026.   Position   [80, 56, 115, 89]
  3027.   Inputs   "2"
  3028. }
  3029. Block {
  3030.   BlockType   "S-Function"
  3031.   Name   "S-function"
  3032.   Ports   [1, 1]
  3033.   Position   [150, 65, 200, 85]
  3034.   FunctionName   "regshift"
  3035.   Parameters   "shft_out, thrhld"
  3036. }
  3037. Block {
  3038.   BlockType   Outport
  3039.   Name   "out_1"
  3040.   Position   [330, 55, 350, 75]
  3041. }
  3042. Block {
  3043.   BlockType   Outport
  3044.   Name   "out_2"
  3045.   Position   [330, 70, 350, 90]
  3046.   Port   "2"
  3047. }
  3048. Line {
  3049.   SrcBlock   "Mux"
  3050.   SrcPort   1
  3051.   DstBlock   "S-function"
  3052.   DstPort   1
  3053. }
  3054. Line {
  3055.   SrcBlock   "S-function"
  3056.   SrcPort   1
  3057.   DstBlock   "Demux"
  3058.   DstPort   1
  3059. }
  3060. Line {
  3061.   SrcBlock   "Demux"
  3062.   SrcPort   1
  3063.   DstBlock   "out_1"
  3064.   DstPort   1
  3065. }
  3066. Line {
  3067.   SrcBlock   "Demux"
  3068.   SrcPort   2
  3069.   DstBlock   "out_2"
  3070.   DstPort   1
  3071. }
  3072. Line {
  3073.   SrcBlock   "in_1"
  3074.   SrcPort   1
  3075.   DstBlock   "Mux"
  3076.   DstPort   1
  3077. }
  3078. Line {
  3079.   SrcBlock   "in_2"
  3080.   SrcPort   1
  3081.   DstBlock   "Mux"
  3082.   DstPort   2
  3083. }
  3084.       }
  3085.     }
  3086.     Block {
  3087.       BlockType       Outport
  3088.       Name       "binary"
  3089.       Position       [480, 60, 500, 80]
  3090.     }
  3091.     Block {
  3092.       BlockType       Outport
  3093.       Name       "Symbol"
  3094.       Position       [480, 140, 500, 160]
  3095.       Port       "2"
  3096.     }
  3097.     Line {
  3098.       SrcBlock       "hold"
  3099.       SrcPort       2
  3100.       Points       [10, 0; 0, 35]
  3101.       DstBlock       "Terminator"
  3102.       DstPort       1
  3103.     }
  3104.     Line {
  3105.       SrcBlock       "D/A "
  3106.       SrcPort       1
  3107.       DstBlock       "Symbol"
  3108.       DstPort       1
  3109.     }
  3110.     Line {
  3111.       SrcBlock       "delay"
  3112.       SrcPort       1
  3113.       DstBlock       "binary"
  3114.       DstPort       1
  3115.     }
  3116.     Line {
  3117.       SrcBlock       "shift register"
  3118.       SrcPort       1
  3119.       DstBlock       "hold"
  3120.       DstPort       1
  3121.     }
  3122.     Line {
  3123.       SrcBlock       "hold"
  3124.       SrcPort       1
  3125.       DstBlock       "D/A "
  3126.       DstPort       1
  3127.     }
  3128.     Line {
  3129.       SrcBlock       "clock"
  3130.       SrcPort       1
  3131.       DstBlock       "shift register"
  3132.       DstPort       2
  3133.     }
  3134.     Line {
  3135.       SrcBlock       "shift register"
  3136.       SrcPort       2
  3137.       Points       [20, 0]
  3138.       Branch {
  3139. Points [0, -5]
  3140. DstBlock "hold"
  3141. DstPort 2
  3142.       }
  3143.       Branch {
  3144. Points [0, 10]
  3145. DstBlock "hold"
  3146. DstPort 3
  3147.       }
  3148.     }
  3149.     Line {
  3150.       SrcBlock       "Bits"
  3151.       SrcPort       1
  3152.       Points       [15, 0]
  3153.       Branch {
  3154. DstBlock "delay"
  3155. DstPort 1
  3156.       }
  3157.       Branch {
  3158. DstBlock "shift register"
  3159. DstPort 1
  3160.       }
  3161.     }
  3162.     Annotation {
  3163.       Name       "Two bits are mapped to a symbol. MSB fi"
  3164. "rst."
  3165.       Position       [267, 7]
  3166.       VerticalAlignment       "top"
  3167.     }
  3168.   }
  3169. }
  3170. Block {
  3171.   BlockType   Sum
  3172.   Name   "Sum"
  3173.   Ports   [2, 1]
  3174.   Position   [880, 155, 900, 175]
  3175.   ShowName   off
  3176.   Inputs   "+-"
  3177. }
  3178. Block {
  3179.   BlockType   TransportDelay
  3180.   Name   "TransportnDelay"
  3181.   Position   [180, 200, 220, 230]
  3182.   Orientation   "down"
  3183.   NamePlacement   "alternate"
  3184.   DelayTime   ".5"
  3185.   BufferSize   "200"
  3186. }
  3187. Block {
  3188.   BlockType   Scope
  3189.   Name   "a_c(t)"
  3190.   Ports   [1]
  3191.   Position   [230, 10, 260, 40]
  3192.   Orientation   "up"
  3193.   Location   [359, 340, 1280, 440]
  3194.   Open   off
  3195.   NumInputPorts   "1"
  3196.   List {
  3197.     ListType     AxesTitles
  3198.     axes1     "%<SignalLabel>"
  3199.   }
  3200.   TimeRange   "25.000000"
  3201.   YMin   "-1.500000"
  3202.   YMax   "1.500000"
  3203.   DataFormat   "Array"
  3204. }
  3205. Block {
  3206.   BlockType   Scope
  3207.   Name   "a_s(t)"
  3208.   Ports   [1]
  3209.   Position   [230, 165, 260, 195]
  3210.   Orientation   "up"
  3211.   Location   [359, 633, 1280, 733]
  3212.   Open   off
  3213.   NumInputPorts   "1"
  3214.   List {
  3215.     ListType     AxesTitles
  3216.     axes1     "%<SignalLabel>"
  3217.   }
  3218.   TimeRange   "25.000000"
  3219.   YMin   "-1.500000"
  3220.   YMax   "1.500000"
  3221.   DataFormat   "Array"
  3222. }
  3223. Block {
  3224.   BlockType   SubSystem
  3225.   Name   "closetransmitter"
  3226.   Ports   []
  3227.   Position   [775, 15, 910, 41]
  3228.   BackgroundColor   "lightBlue"
  3229.   ShowName   off
  3230.   OpenFcn   "closetra"
  3231.   FontAngle   "italic"
  3232.   ShowPortLabels   off
  3233.   TreatAsAtomicUnit   off
  3234.   MaskType   "close"
  3235.   MaskDisplay   "disp('Close transmitter')"
  3236.   MaskIconFrame   on
  3237.   MaskIconOpaque   on
  3238.   MaskIconRotate   "none"
  3239.   MaskIconUnits   "autoscale"
  3240.   System {
  3241.     Name     "closetransmitter"
  3242.     Location     [136, 230, 381, 439]
  3243.     Open     off
  3244.     ModelBrowserVisibility  off
  3245.     ModelBrowserWidth     200
  3246.     ScreenColor     "cyan"
  3247.     PaperOrientation     "landscape"
  3248.     PaperPositionMode     "auto"
  3249.     PaperType     "usletter"
  3250.     PaperUnits     "inches"
  3251.     ZoomFactor     "100"
  3252.   }
  3253. }
  3254. Block {
  3255.   BlockType   Scope
  3256.   Name   "s_c(t)"
  3257.   Ports   [1]
  3258.   Position   [440, 10, 470, 40]
  3259.   Orientation   "up"
  3260.   Location   [359, 438, 1280, 538]
  3261.   Open   off
  3262.   NumInputPorts   "1"
  3263.   List {
  3264.     ListType     AxesTitles
  3265.     axes1     "%<SignalLabel>"
  3266.   }
  3267.   TimeRange   "25.000000"
  3268.   YMin   "-1.500000"
  3269.   YMax   "1.500000"
  3270.   DataFormat   "Array"
  3271. }
  3272. Block {
  3273.   BlockType   Scope
  3274.   Name   "s_s(t)"
  3275.   Ports   [1]
  3276.   Position   [435, 165, 465, 195]
  3277.   Orientation   "up"
  3278.   Location   [359, 731, 1280, 831]
  3279.   Open   off
  3280.   NumInputPorts   "1"
  3281.   List {
  3282.     ListType     AxesTitles
  3283.     axes1     "%<SignalLabel>"
  3284.   }
  3285.   TimeRange   "25.000000"
  3286.   YMin   "-1.500000"
  3287.   YMax   "1.500000"
  3288.   DataFormat   "Array"
  3289. }
  3290. Block {
  3291.   BlockType   SubSystem
  3292.   Name   "transmitterndiagrams"
  3293.   Ports   [2]
  3294.   Position   [575, 15, 630, 55]
  3295.   ShowPortLabels   off
  3296.   TreatAsAtomicUnit   off
  3297.   MaskType   "2D-Diagrams"
  3298.   MaskDescription   "Eye pattern, signal space trajectory and sc"
  3299. "atter plot"
  3300.   MaskPromptString   "Plot start time:|Samples per time slot (2*T"
  3301. "):|Decision offset:"
  3302.   MaskStyleString   "edit,edit,edit"
  3303.   MaskTunableValueString  "on,on,on"
  3304.   MaskCallbackString   "||"
  3305.   MaskEnableString   "on,on,on"
  3306.   MaskVisibilityString   "on,on,on"
  3307.   MaskToolTipString   "on,on,on"
  3308.   MaskVarAliasString   ",,"
  3309.   MaskVariables   "starttime=@1;anzahl=@2;offset=@3;"
  3310.   MaskInitialization   " [x, y] = srcsicon(10);"
  3311.   MaskDisplay   "plot(0,0,100,100,x,y)"
  3312.   MaskIconFrame   on
  3313.   MaskIconOpaque   on
  3314.   MaskIconRotate   "none"
  3315.   MaskIconUnits   "autoscale"
  3316.   MaskValueString   "0|40|0"
  3317.   System {
  3318.     Name     "transmitterndiagrams"
  3319.     Location     [540, 268, 952, 561]
  3320.     Open     off
  3321.     ModelBrowserVisibility  off
  3322.     ModelBrowserWidth     200
  3323.     ScreenColor     "white"
  3324.     PaperOrientation     "landscape"
  3325.     PaperPositionMode     "auto"
  3326.     PaperType     "usletter"
  3327.     PaperUnits     "inches"
  3328.     ZoomFactor     "100"
  3329.     Block {
  3330.       BlockType       Inport
  3331.       Name       "Inphase"
  3332.       Position       [30, 20, 50, 40]
  3333.     }
  3334.     Block {
  3335.       BlockType       Inport
  3336.       Name       "Quadratur"
  3337.       Position       [30, 80, 50, 100]
  3338.       Port       "2"
  3339.     }
  3340.     Block {
  3341.       BlockType       Constant
  3342.       Name       "Constant"
  3343.       Position       [90, 125, 110, 145]
  3344.       Orientation       "up"
  3345.       ShowName       off
  3346.       Value       "Inf"
  3347.     }
  3348.     Block {
  3349.       BlockType       Constant
  3350.       Name       "Constant0"
  3351.       Position       [190, 125, 210, 145]
  3352.       Orientation       "up"
  3353.       ShowName       off
  3354.       Value       "0"
  3355.     }
  3356.     Block {
  3357.       BlockType       SubSystem
  3358.       Name       "Inphase eye patternntransmitter"
  3359.       Ports       [1]
  3360.       Position       [305, 17, 360, 53]
  3361.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  3362.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  3363.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  3364.       StartFcn       "eyesampl([],[],[],'Start')"
  3365.       StopFcn       "eyesampl([],[],[],'Stop')"
  3366.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  3367.       ShowPortLabels       off
  3368.       TreatAsAtomicUnit       off
  3369.       MaskType       "Eye-diagram/scatter plot"
  3370.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  3371. "ter plot."
  3372.       MaskHelp       "This plot opens one, or two plots by as"
  3373. "signing the line type parameters. The scatter plot point is selected by the d"
  3374. "ecision point in the first parameter entry. A decision line is drawn in the e"
  3375. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  3376.       MaskPromptString       "[Symbol interval, plot offset, decision"
  3377. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  3378. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  3379. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  3380.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  3381.       MaskTunableValueString  "on,on,on,on,on,on"
  3382.       MaskCallbackString      "|||||"
  3383.       MaskEnableString       "on,on,on,on,on,on"
  3384.       MaskVisibilityString    "on,on,on,on,on,on"
  3385.       MaskToolTipString       "on,on,on,on,on,on"
  3386.       MaskVarAliasString      ",,,,,"
  3387.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3388. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3389.       MaskDisplay       "plot(0,0,100,100,x,y);"
  3390.       MaskIconFrame       on
  3391.       MaskIconOpaque       on
  3392.       MaskIconRotate       "none"
  3393.       MaskIconUnits       "autoscale"
  3394.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  3395. "/anzahl"
  3396.       System {
  3397. Name "Inphase eye patternntransmitter"
  3398. Location [121, 409, 416, 595]
  3399. Open off
  3400. ModelBrowserVisibility off
  3401. ModelBrowserWidth 200
  3402. ScreenColor "white"
  3403. PaperOrientation "landscape"
  3404. PaperPositionMode "auto"
  3405. PaperType "usletter"
  3406. PaperUnits "inches"
  3407. ZoomFactor "100"
  3408. Block {
  3409.   BlockType   Inport
  3410.   Name   "in_1"
  3411.   Position   [75, 80, 95, 100]
  3412. }
  3413. Block {
  3414.   BlockType   "S-Function"
  3415.   Name   "Plot1"
  3416.   Ports   [1]
  3417.   Position   [130, 70, 200, 110]
  3418.   FunctionName   "eyesampl"
  3419.   Parameters   "time_range, boundary, kept_length, "
  3420. "eye_line, scatter_line, two_d_line"
  3421. }
  3422. Line {
  3423.   SrcBlock   "in_1"
  3424.   SrcPort   1
  3425.   DstBlock   "Plot1"
  3426.   DstPort   1
  3427. }
  3428.       }
  3429.     }
  3430.     Block {
  3431.       BlockType       Mux
  3432.       Name       "Mux"
  3433.       Ports       [2, 1]
  3434.       Position       [230, 16, 265, 49]
  3435.       Inputs       "2"
  3436.     }
  3437.     Block {
  3438.       BlockType       Mux
  3439.       Name       "Mux1"
  3440.       Ports       [2, 1]
  3441.       Position       [230, 76, 265, 109]
  3442.       Inputs       "2"
  3443.     }
  3444.     Block {
  3445.       BlockType       Mux
  3446.       Name       "Mux2"
  3447.       Ports       [2, 1]
  3448.       Position       [230, 146, 265, 179]
  3449.       Inputs       "2"
  3450.     }
  3451.     Block {
  3452.       BlockType       Mux
  3453.       Name       "Mux3"
  3454.       Ports       [2, 1]
  3455.       Position       [230, 211, 265, 244]
  3456.       Inputs       "2"
  3457.     }
  3458.     Block {
  3459.       BlockType       SubSystem
  3460.       Name       "Quadrature eye patternntransmitter"
  3461.       Ports       [1]
  3462.       Position       [305, 77, 360, 113]
  3463.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  3464.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  3465.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  3466.       StartFcn       "eyesampl([],[],[],'Start')"
  3467.       StopFcn       "eyesampl([],[],[],'Stop')"
  3468.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  3469.       ShowPortLabels       off
  3470.       TreatAsAtomicUnit       off
  3471.       MaskType       "Eye-diagram/scatter plot"
  3472.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  3473. "ter plot."
  3474.       MaskHelp       "This plot opens one, or two plots by as"
  3475. "signing the line type parameters. The scatter plot point is selected by the d"
  3476. "ecision point in the first parameter entry. A decision line is drawn in the e"
  3477. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  3478.       MaskPromptString       "[Symbol interval, plot offset, decision"
  3479. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  3480. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  3481. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  3482.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  3483.       MaskTunableValueString  "on,on,on,on,on,on"
  3484.       MaskCallbackString      "|||||"
  3485.       MaskEnableString       "on,on,on,on,on,on"
  3486.       MaskVisibilityString    "on,on,on,on,on,on"
  3487.       MaskToolTipString       "on,on,on,on,on,on"
  3488.       MaskVarAliasString      ",,,,,"
  3489.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3490. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3491.       MaskDisplay       "plot(0,0,100,100,x,y);"
  3492.       MaskIconFrame       on
  3493.       MaskIconOpaque       on
  3494.       MaskIconRotate       "none"
  3495.       MaskIconUnits       "autoscale"
  3496.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  3497. "/anzahl"
  3498.       System {
  3499. Name "Quadrature eye patternntransmitter"
  3500. Location [121, 409, 416, 595]
  3501. Open off
  3502. ModelBrowserVisibility off
  3503. ModelBrowserWidth 200
  3504. ScreenColor "white"
  3505. PaperOrientation "landscape"
  3506. PaperPositionMode "auto"
  3507. PaperType "usletter"
  3508. PaperUnits "inches"
  3509. ZoomFactor "100"
  3510. Block {
  3511.   BlockType   Inport
  3512.   Name   "in_1"
  3513.   Position   [75, 80, 95, 100]
  3514. }
  3515. Block {
  3516.   BlockType   "S-Function"
  3517.   Name   "Plot1"
  3518.   Ports   [1]
  3519.   Position   [130, 70, 200, 110]
  3520.   FunctionName   "eyesampl"
  3521.   Parameters   "time_range, boundary, kept_length, "
  3522. "eye_line, scatter_line, two_d_line"
  3523. }
  3524. Line {
  3525.   SrcBlock   "in_1"
  3526.   SrcPort   1
  3527.   DstBlock   "Plot1"
  3528.   DstPort   1
  3529. }
  3530.       }
  3531.     }
  3532.     Block {
  3533.       BlockType       SubSystem
  3534.       Name       "Scatter plotntransmitter"
  3535.       Ports       [1]
  3536.       Position       [305, 213, 360, 247]
  3537.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  3538.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  3539.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  3540.       StartFcn       "eyesampl([],[],[],'Start')"
  3541.       StopFcn       "eyesampl([],[],[],'Stop')"
  3542.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  3543.       ShowPortLabels       off
  3544.       TreatAsAtomicUnit       off
  3545.       MaskType       "Eye-diagram/scatter plot"
  3546.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  3547. "ter plot."
  3548.       MaskHelp       "This plot opens one, or two plots by as"
  3549. "signing the line type parameters. The scatter plot point is selected by the d"
  3550. "ecision point in the first parameter entry. A decision line is drawn in the e"
  3551. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  3552.       MaskPromptString       "[Symbol interval, plot offset, decision"
  3553. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  3554. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  3555. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  3556.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  3557.       MaskTunableValueString  "on,on,on,on,on,on"
  3558.       MaskCallbackString      "|||||"
  3559.       MaskEnableString       "on,on,on,on,on,on"
  3560.       MaskVisibilityString    "on,on,on,on,on,on"
  3561.       MaskToolTipString       "on,on,on,on,on,on"
  3562.       MaskVarAliasString      ",,,,,"
  3563.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3564. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3565.       MaskDisplay       "plot(0,0,100,100,x,y);"
  3566.       MaskIconFrame       on
  3567.       MaskIconOpaque       on
  3568.       MaskIconRotate       "none"
  3569.       MaskIconUnits       "autoscale"
  3570.       MaskValueString       "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 off"
  3571. "set]"
  3572.       System {
  3573. Name "Scatter plotntransmitter"
  3574. Location [165, 242, 460, 428]
  3575. Open off
  3576. ModelBrowserVisibility off
  3577. ModelBrowserWidth 200
  3578. ScreenColor "white"
  3579. PaperOrientation "landscape"
  3580. PaperPositionMode "auto"
  3581. PaperType "usletter"
  3582. PaperUnits "inches"
  3583. ZoomFactor "100"
  3584. Block {
  3585.   BlockType   Inport
  3586.   Name   "in_1"
  3587.   Position   [75, 80, 95, 100]
  3588. }
  3589. Block {
  3590.   BlockType   "S-Function"
  3591.   Name   "Plot1"
  3592.   Ports   [1]
  3593.   Position   [130, 70, 200, 110]
  3594.   FunctionName   "eyesampl"
  3595.   Parameters   "time_range, boundary, kept_length, "
  3596. "eye_line, scatter_line, two_d_line"
  3597. }
  3598. Line {
  3599.   SrcBlock   "in_1"
  3600.   SrcPort   1
  3601.   DstBlock   "Plot1"
  3602.   DstPort   1
  3603. }
  3604.       }
  3605.     }
  3606.     Block {
  3607.       BlockType       Step
  3608.       Name       "Step input"
  3609.       Position       [30, 125, 50, 145]
  3610.       Time       "starttime"
  3611.       SampleTime       "1"
  3612.     }
  3613.     Block {
  3614.       BlockType       Switch
  3615.       Name       "Switch"
  3616.       Position       [130, 24, 155, 56]
  3617.       Threshold       "1"
  3618.     }
  3619.     Block {
  3620.       BlockType       Switch
  3621.       Name       "Switch1"
  3622.       Position       [130, 84, 155, 116]
  3623.       Threshold       "1"
  3624.     }
  3625.     Block {
  3626.       BlockType       SubSystem
  3627.       Name       "Trajectoryntransmitter"
  3628.       Ports       [1]
  3629.       Position       [305, 157, 360, 193]
  3630.       CopyFcn       "eyediasi([],[],[],'CopyBlock')"
  3631.       DeleteFcn       "eyediasi([],[],[],'DeleteBlock')"
  3632.       LoadFcn       "eyediasi([],[],[],'LoadBlock')"
  3633.       StartFcn       "eyediasi([],[],[],'Start')"
  3634.       StopFcn       "eyediasi([],[],[],'Stop')"
  3635.       NameChangeFcn       "eyediasi([],[],[],'NameChange')"
  3636.       ShowPortLabels       off
  3637.       TreatAsAtomicUnit       off
  3638.       MaskType       "Eye-diagram/scatter plot"
  3639.       MaskDescription       "Produce eye-pattern diagram/scatternpl"
  3640. "ot/x-y plot with the rising edge of the second input as the decision line."
  3641.       MaskHelp       "This plot opens one, two, or three plot"
  3642. "s by assigning the line type parameters. The scatter plot point is selected b"
  3643. "y the rising edge of a trigger signal. A decision line is drawn at the rising"
  3644. " edge of the trigger signal."
  3645.       MaskPromptString       "Eye-pattern plot time frame:|Lower and "
  3646. "upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-ty"
  3647. "pe for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for"
  3648. " no plot):|Line-type for x-y plot (0 for no plot):"
  3649.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  3650.       MaskTunableValueString  "on,on,on,on,on,on"
  3651.       MaskCallbackString      "|||||"
  3652.       MaskEnableString       "on,on,on,on,on,on"
  3653.       MaskVisibilityString    "on,on,on,on,on,on"
  3654.       MaskToolTipString       "on,on,on,on,on,on"
  3655.       MaskVarAliasString      ",,,,,"
  3656.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3657. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon"
  3658. "(0,25,get_param(gcb,'orientation'),2);"
  3659.       MaskDisplay       "plot(0,0,100,100,x,y,v,w);"
  3660.       MaskIconFrame       on
  3661.       MaskIconOpaque       on
  3662.       MaskIconRotate       "none"
  3663.       MaskIconUnits       "autoscale"
  3664.       MaskValueString       "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  3665.       System {
  3666. Name "Trajectoryntransmitter"
  3667. Location [515, 142, 810, 328]
  3668. Open off
  3669. ModelBrowserVisibility off
  3670. ModelBrowserWidth 200
  3671. ScreenColor "white"
  3672. PaperOrientation "landscape"
  3673. PaperPositionMode "auto"
  3674. PaperType "usletter"
  3675. PaperUnits "inches"
  3676. ZoomFactor "100"
  3677. Block {
  3678.   BlockType   Inport
  3679.   Name   "in_1"
  3680.   Position   [15, 55, 35, 75]
  3681. }
  3682. Block {
  3683.   BlockType   Constant
  3684.   Name   "Constant"
  3685.   Position   [15, 110, 45, 140]
  3686.   Value   "0"
  3687. }
  3688. Block {
  3689.   BlockType   Mux
  3690.   Name   "Mux"
  3691.   Ports   [2, 1]
  3692.   Position   [65, 70, 100, 105]
  3693.   Inputs   "2"
  3694. }
  3695. Block {
  3696.   BlockType   "S-Function"
  3697.   Name   "Plot1"
  3698.   Ports   [1]
  3699.   Position   [130, 70, 200, 110]
  3700.   FunctionName   "eyediasi"
  3701.   Parameters   "time_range, boundary, kept_length, "
  3702. "eye_line, scatter_line, two_d_line"
  3703. }
  3704. Line {
  3705.   SrcBlock   "Mux"
  3706.   SrcPort   1
  3707.   DstBlock   "Plot1"
  3708.   DstPort   1
  3709. }
  3710. Line {
  3711.   SrcBlock   "Constant"
  3712.   SrcPort   1
  3713.   DstBlock   "Mux"
  3714.   DstPort   2
  3715. }
  3716. Line {
  3717.   SrcBlock   "in_1"
  3718.   SrcPort   1
  3719.   Points   [5, 0; 0, 15]
  3720.   DstBlock   "Mux"
  3721.   DstPort   1
  3722. }
  3723.       }
  3724.     }
  3725.     Line {
  3726.       SrcBlock       "Mux2"
  3727.       SrcPort       1
  3728.       Points       [20, 0]
  3729.       DstBlock       "Trajectoryntransmitter"
  3730.       DstPort       1
  3731.     }
  3732.     Line {
  3733.       SrcBlock       "Mux3"
  3734.       SrcPort       1
  3735.       DstBlock       "Scatter plotntransmitter"
  3736.       DstPort       1
  3737.     }
  3738.     Line {
  3739.       SrcBlock       "Mux"
  3740.       SrcPort       1
  3741.       DstBlock       "Inphase eye patternntransmitter"
  3742.       DstPort       1
  3743.     }
  3744.     Line {
  3745.       SrcBlock       "Mux1"
  3746.       SrcPort       1
  3747.       DstBlock       "Quadrature eye patternntransmitter"
  3748.       DstPort       1
  3749.     }
  3750.     Line {
  3751.       SrcBlock       "Constant"
  3752.       SrcPort       1
  3753.       Points       [0, -10]
  3754.       Branch {
  3755. Points [0, -60]
  3756. DstBlock "Switch"
  3757. DstPort 3
  3758.       }
  3759.       Branch {
  3760. DstBlock "Switch1"
  3761. DstPort 3
  3762.       }
  3763.     }
  3764.     Line {
  3765.       SrcBlock       "Step input"
  3766.       SrcPort       1
  3767.       Points       [20, 0; 0, -35]
  3768.       Branch {
  3769. Points [0, -60]
  3770. DstBlock "Switch"
  3771. DstPort 2
  3772.       }
  3773.       Branch {
  3774. DstBlock "Switch1"
  3775. DstPort 2
  3776.       }
  3777.     }
  3778.     Line {
  3779.       SrcBlock       "Inphase"
  3780.       SrcPort       1
  3781.       DstBlock       "Switch"
  3782.       DstPort       1
  3783.     }
  3784.     Line {
  3785.       SrcBlock       "Quadratur"
  3786.       SrcPort       1
  3787.       DstBlock       "Switch1"
  3788.       DstPort       1
  3789.     }
  3790.     Line {
  3791.       SrcBlock       "Switch"
  3792.       SrcPort       1
  3793.       Points       [10, 0; 0, 5]
  3794.       Branch {
  3795. Points [0, 110]
  3796. Branch {
  3797.   Points   [0, 65]
  3798.   DstBlock   "Mux3"
  3799.   DstPort   1
  3800. }
  3801. Branch {
  3802.   DstBlock   "Mux2"
  3803.   DstPort   1
  3804. }
  3805.       }
  3806.       Branch {
  3807. Points [0, -5]
  3808. DstBlock "Mux"
  3809. DstPort 2
  3810.       }
  3811.     }
  3812.     Line {
  3813.       SrcBlock       "Switch1"
  3814.       SrcPort       1
  3815.       Points       [20, 0]
  3816.       Branch {
  3817. Points [0, 70]
  3818. Branch {
  3819.   Points   [0, 65]
  3820.   DstBlock   "Mux3"
  3821.   DstPort   2
  3822. }
  3823. Branch {
  3824.   DstBlock   "Mux2"
  3825.   DstPort   2
  3826. }
  3827.       }
  3828.       Branch {
  3829. DstBlock "Mux1"
  3830. DstPort 2
  3831.       }
  3832.     }
  3833.     Line {
  3834.       SrcBlock       "Constant0"
  3835.       SrcPort       1
  3836.       Points       [0, -35]
  3837.       Branch {
  3838. DstBlock "Mux1"
  3839. DstPort 1
  3840.       }
  3841.       Branch {
  3842. Points [0, -60]
  3843. DstBlock "Mux"
  3844. DstPort 1
  3845.       }
  3846.     }
  3847.   }
  3848. }
  3849. Block {
  3850.   BlockType   Scope
  3851.   Name   "u(t)"
  3852.   Ports   [1]
  3853.   Position   [920, 80, 950, 110]
  3854.   Orientation   "up"
  3855.   Location   [359, 924, 1280, 1024]
  3856.   Open   off
  3857.   NumInputPorts   "1"
  3858.   List {
  3859.     ListType     AxesTitles
  3860.     axes1     "%<SignalLabel>"
  3861.   }
  3862.   TimeRange   "25.000000"
  3863.   YMin   "-1.500000"
  3864.   YMax   "1.500000"
  3865.   DataFormat   "Array"
  3866. }
  3867. Block {
  3868.   BlockType   Scope
  3869.   Name   "u_c(t)"
  3870.   Ports   [1]
  3871.   Position   [865, 80, 895, 110]
  3872.   Location   [359, 536, 1280, 636]
  3873.   Open   off
  3874.   NumInputPorts   "1"
  3875.   List {
  3876.     ListType     AxesTitles
  3877.     axes1     "%<SignalLabel>"
  3878.   }
  3879.   TimeRange   "25.000000"
  3880.   YMin   "-1.500000"
  3881.   YMax   "1.500000"
  3882.   DataFormat   "Array"
  3883. }
  3884. Block {
  3885.   BlockType   Scope
  3886.   Name   "u_s(t)"
  3887.   Ports   [1]
  3888.   Position   [865, 230, 895, 260]
  3889.   Location   [359, 827, 1280, 927]
  3890.   Open   off
  3891.   NumInputPorts   "1"
  3892.   List {
  3893.     ListType     AxesTitles
  3894.     axes1     "%<SignalLabel>"
  3895.   }
  3896.   TimeRange   "25.000000"
  3897.   YMin   "-1.500000"
  3898.   YMax   "1.500000"
  3899.   DataFormat   "Array"
  3900. }
  3901. Block {
  3902.   BlockType   Outport
  3903.   Name   "Bits"
  3904.   Position   [110, 15, 130, 35]
  3905. }
  3906. Block {
  3907.   BlockType   Outport
  3908.   Name   "OQPSK-nSignal"
  3909.   Position   [965, 155, 985, 175]
  3910.   Port   "2"
  3911. }
  3912. Block {
  3913.   BlockType   Outport
  3914.   Name   "Symbols"
  3915.   Position   [110, 60, 130, 80]
  3916.   Port   "3"
  3917. }
  3918. Line {
  3919.   SrcBlock   "QPSK"
  3920.   SrcPort   1
  3921.   Points   [10, 0; 0, -35; 45, 0]
  3922.   Branch {
  3923.     Points     [210, 0]
  3924.     Branch {
  3925.       DstBlock       "s_c(t)"
  3926.       DstPort       1
  3927.     }
  3928.     Branch {
  3929.       Points       [55, 0]
  3930.       Branch {
  3931. DstBlock "Product"
  3932. DstPort 1
  3933.       }
  3934.       Branch {
  3935. Points [0, -65]
  3936. DstBlock "transmitterndiagrams"
  3937. DstPort 1
  3938.       }
  3939.     }
  3940.   }
  3941.   Branch {
  3942.     DstBlock     "a_c(t)"
  3943.     DstPort     1
  3944.   }
  3945. }
  3946. Line {
  3947.   SrcBlock   "Source1"
  3948.   SrcPort   2
  3949.   Points   [20, 0]
  3950.   Branch {
  3951.     DstBlock     "QPSK"
  3952.     DstPort     1
  3953.   }
  3954.   Branch {
  3955.     Points     [0, -65]
  3956.     DstBlock     "Symbols"
  3957.     DstPort     1
  3958.   }
  3959. }
  3960. Line {
  3961.   SrcBlock   "Product1"
  3962.   SrcPort   1
  3963.   Points   [30, 0]
  3964.   Branch {
  3965.     DstBlock     "u_s(t)"
  3966.     DstPort     1
  3967.   }
  3968.   Branch {
  3969.     Points     [0, -75]
  3970.     DstBlock     "Sum"
  3971.     DstPort     2
  3972.   }
  3973. }
  3974. Line {
  3975.   SrcBlock   "Product"
  3976.   SrcPort   1
  3977.   Points   [30, 0]
  3978.   Branch {
  3979.     DstBlock     "u_c(t)"
  3980.     DstPort     1
  3981.   }
  3982.   Branch {
  3983.     Points     [0, 65]
  3984.     DstBlock     "Sum"
  3985.     DstPort     1
  3986.   }
  3987. }
  3988. Line {
  3989.   SrcBlock   "TransportnDelay"
  3990.   SrcPort   1
  3991.   Points   [0, 15; 45, 0]
  3992.   Branch {
  3993.     Points     [205, 0]
  3994.     Branch {
  3995.       DstBlock       "s_s(t)"
  3996.       DstPort       1
  3997.     }
  3998.     Branch {
  3999.       Points       [85, 0]
  4000.       Branch {
  4001. DstBlock "Product1"
  4002. DstPort 2
  4003.       }
  4004.       Branch {
  4005. Points [0, -205]
  4006. DstBlock "transmitterndiagrams"
  4007. DstPort 2
  4008.       }
  4009.     }
  4010.   }
  4011.   Branch {
  4012.     DstBlock     "a_s(t)"
  4013.     DstPort     1
  4014.   }
  4015. }
  4016. Line {
  4017.   SrcBlock   "Clock"
  4018.   SrcPort   1
  4019.   Points   [0, 0]
  4020.   Branch {
  4021.     Points     [10, 0; 0, 25]
  4022.     DstBlock     "Fcn2"
  4023.     DstPort     1
  4024.   }
  4025.   Branch {
  4026.     Points     [10, 0; 0, -20]
  4027.     DstBlock     "Fcn1"
  4028.     DstPort     1
  4029.   }
  4030. }
  4031. Line {
  4032.   SrcBlock   "Fcn1"
  4033.   SrcPort   1
  4034.   Points   [20, 0; 0, -45]
  4035.   DstBlock   "Product"
  4036.   DstPort   2
  4037. }
  4038. Line {
  4039.   SrcBlock   "Fcn2"
  4040.   SrcPort   1
  4041.   Points   [20, 0; 0, 50]
  4042.   DstBlock   "Product1"
  4043.   DstPort   1
  4044. }
  4045. Line {
  4046.   SrcBlock   "Sum"
  4047.   SrcPort   1
  4048.   Points   [30, 0]
  4049.   Branch {
  4050.     DstBlock     "u(t)"
  4051.     DstPort     1
  4052.   }
  4053.   Branch {
  4054.     DstBlock     "OQPSK-nSignal"
  4055.     DstPort     1
  4056.   }
  4057. }
  4058. Line {
  4059.   SrcBlock   "Source1"
  4060.   SrcPort   1
  4061.   Points   [5, 0; 0, -85]
  4062.   DstBlock   "Bits"
  4063.   DstPort   1
  4064. }
  4065. Line {
  4066.   SrcBlock   "QPSK"
  4067.   SrcPort   2
  4068.   Points   [10, 0]
  4069.   DstBlock   "TransportnDelay"
  4070.   DstPort   1
  4071. }
  4072.       }
  4073.     }
  4074.     Block {
  4075.       BlockType       Scope
  4076.       Name       "binary data"
  4077.       Ports       [1]
  4078.       Position       [320, 25, 350, 55]
  4079.       Orientation       "up"
  4080.       NamePlacement       "alternate"
  4081.       Location       [227, 341, 1147, 441]
  4082.       Open       off
  4083.       NumInputPorts       "1"
  4084.       List {
  4085. ListType AxesTitles
  4086. axes1 "%<SignalLabel>"
  4087.       }
  4088.       TimeRange       "25.000000"
  4089.       YMin       "-3"
  4090.       YMax       "3"
  4091.       DataFormat       "Array"
  4092.     }
  4093.     Block {
  4094.       BlockType       SubSystem
  4095.       Name       "constellation"
  4096.       Ports       []
  4097.       Position       [35, 24, 120, 61]
  4098.       BackgroundColor       "lightBlue"
  4099.       ShowName       off
  4100.       OpenFcn       "cplotpsk(4)"
  4101.       ShowPortLabels       off
  4102.       TreatAsAtomicUnit       off
  4103.       MaskType       "constellation"
  4104.       MaskDisplay       "disp('Signal Space \n Constellation')"
  4105.       MaskIconFrame       on
  4106.       MaskIconOpaque       on
  4107.       MaskIconRotate       "none"
  4108.       MaskIconUnits       "autoscale"
  4109.       System {
  4110. Name "constellation"
  4111. Location [74, 73, 1338, 1015]
  4112. Open off
  4113. ModelBrowserVisibility off
  4114. ModelBrowserWidth 200
  4115. ScreenColor "cyan"
  4116. PaperOrientation "landscape"
  4117. PaperPositionMode "auto"
  4118. PaperType "usletter"
  4119. PaperUnits "inches"
  4120. ZoomFactor "100"
  4121.       }
  4122.     }
  4123.     Block {
  4124.       BlockType       Scope
  4125.       Name       "detectednsymbols"
  4126.       Ports       [1]
  4127.       Position       [745, 220, 775, 250]
  4128.       Orientation       "down"
  4129.       NamePlacement       "alternate"
  4130.       Location       [227, 738, 1147, 838]
  4131.       Open       off
  4132.       NumInputPorts       "1"
  4133.       List {
  4134. ListType AxesTitles
  4135. axes1 "%<SignalLabel>"
  4136.       }
  4137.       TimeRange       "25.000000"
  4138.       YMin       "-3"
  4139.       YMax       "3"
  4140.       DataFormat       "Array"
  4141.     }
  4142.     Block {
  4143.       BlockType       SubSystem
  4144.       Name       "noise variance"
  4145.       Ports       []
  4146.       Position       [454, 45, 560, 69]
  4147.       BackgroundColor       "lightBlue"
  4148.       ShowName       off
  4149.       OpenFcn       "setnoise"
  4150.       FontSize       12
  4151.       FontAngle       "italic"
  4152.       ShowPortLabels       off
  4153.       TreatAsAtomicUnit       off
  4154.       MaskType       "noise"
  4155.       MaskDisplay       "disp('Noise variance')"
  4156.       MaskIconFrame       on
  4157.       MaskIconOpaque       on
  4158.       MaskIconRotate       "none"
  4159.       MaskIconUnits       "autoscale"
  4160.       System {
  4161. Name "noise variance"
  4162. Location [136, 230, 381, 439]
  4163. Open off
  4164. ModelBrowserVisibility off
  4165. ModelBrowserWidth 200
  4166. ScreenColor "cyan"
  4167. PaperOrientation "landscape"
  4168. PaperPositionMode "auto"
  4169. PaperType "usletter"
  4170. PaperUnits "inches"
  4171. ZoomFactor "100"
  4172.       }
  4173.     }
  4174.     Block {
  4175.       BlockType       Scope
  4176.       Name       "r(t)"
  4177.       Ports       [1]
  4178.       Position       [585, 25, 615, 55]
  4179.       Orientation       "up"
  4180.       Location       [227, 638, 1147, 738]
  4181.       Open       off
  4182.       NumInputPorts       "1"
  4183.       List {
  4184. ListType AxesTitles
  4185. axes1 "%<SignalLabel>"
  4186.       }
  4187.       TimeRange       "25.000000"
  4188.       YMin       "-1.5"
  4189.       YMax       "1.5"
  4190.       DataFormat       "Array"
  4191.     }
  4192.     Block {
  4193.       BlockType       SubSystem
  4194.       Name       "show receiver"
  4195.       Ports       []
  4196.       Position       [780, 110, 915, 136]
  4197.       BackgroundColor       "lightBlue"
  4198.       ShowName       off
  4199.       OpenFcn       "showrec"
  4200.       FontSize       12
  4201.       FontAngle       "italic"
  4202.       ShowPortLabels       off
  4203.       TreatAsAtomicUnit       off
  4204.       MaskType       "open"
  4205.       MaskDisplay       "disp('Receiver')"
  4206.       MaskIconFrame       on
  4207.       MaskIconOpaque       on
  4208.       MaskIconRotate       "none"
  4209.       MaskIconUnits       "autoscale"
  4210.       System {
  4211. Name "show receiver"
  4212. Location [136, 230, 381, 439]
  4213. Open off
  4214. ModelBrowserVisibility off
  4215. ModelBrowserWidth 200
  4216. ScreenColor "cyan"
  4217. PaperOrientation "landscape"
  4218. PaperPositionMode "auto"
  4219. PaperType "usletter"
  4220. PaperUnits "inches"
  4221. ZoomFactor "100"
  4222.       }
  4223.     }
  4224.     Block {
  4225.       BlockType       SubSystem
  4226.       Name       "show transmitter"
  4227.       Ports       []
  4228.       Position       [40, 100, 175, 126]
  4229.       BackgroundColor       "lightBlue"
  4230.       ShowName       off
  4231.       OpenFcn       "showtra"
  4232.       FontSize       12
  4233.       FontAngle       "italic"
  4234.       ShowPortLabels       off
  4235.       TreatAsAtomicUnit       off
  4236.       MaskType       "open"
  4237.       MaskDisplay       "disp('Transmitter')"
  4238.       MaskIconFrame       on
  4239.       MaskIconOpaque       on
  4240.       MaskIconRotate       "none"
  4241.       MaskIconUnits       "autoscale"
  4242.       System {
  4243. Name "show transmitter"
  4244. Location [136, 230, 381, 439]
  4245. Open off
  4246. ModelBrowserVisibility off
  4247. ModelBrowserWidth 200
  4248. ScreenColor "cyan"
  4249. PaperOrientation "landscape"
  4250. PaperPositionMode "auto"
  4251. PaperType "usletter"
  4252. PaperUnits "inches"
  4253. ZoomFactor "100"
  4254.       }
  4255.     }
  4256.     Block {
  4257.       BlockType       Scope
  4258.       Name       "transmittednsymbols"
  4259.       Ports       [1]
  4260.       Position       [320, 220, 350, 250]
  4261.       Orientation       "down"
  4262.       NamePlacement       "alternate"
  4263.       Location       [227, 440, 1147, 540]
  4264.       Open       off
  4265.       NumInputPorts       "1"
  4266.       List {
  4267. ListType AxesTitles
  4268. axes1 "%<SignalLabel>"
  4269.       }
  4270.       TimeRange       "25.000000"
  4271.       YMin       "-3"
  4272.       YMax       "3"
  4273.       DataFormat       "Array"
  4274.     }
  4275.     Block {
  4276.       BlockType       Scope
  4277.       Name       "u(t)"
  4278.       Ports       [1]
  4279.       Position       [390, 25, 420, 55]
  4280.       Orientation       "up"
  4281.       Location       [227, 538, 1147, 638]
  4282.       Open       off
  4283.       NumInputPorts       "1"
  4284.       List {
  4285. ListType AxesTitles
  4286. axes1 "%<SignalLabel>"
  4287.       }
  4288.       TimeRange       "25.000000"
  4289.       YMin       "-1.5"
  4290.       YMax       "1.5"
  4291.       DataFormat       "Array"
  4292.     }
  4293.     Line {
  4294.       SrcBlock       "Transmitter"
  4295.       SrcPort       2
  4296.       Points       [0, -10; 125, 0]
  4297.       Branch {
  4298. DstBlock "u(t)"
  4299. DstPort 1
  4300.       }
  4301.       Branch {
  4302. DstBlock "Channel"
  4303. DstPort 1
  4304.       }
  4305.     }
  4306.     Line {
  4307.       SrcBlock       "Transmitter"
  4308.       SrcPort       3
  4309.       Points       [55, 0; 0, 40]
  4310.       Branch {
  4311. DstBlock "transmittednsymbols"
  4312. DstPort 1
  4313.       }
  4314.       Branch {
  4315. Points [150, 0]
  4316. DstBlock "Error rate"
  4317. DstPort 1
  4318.       }
  4319.     }
  4320.     Line {
  4321.       SrcBlock       "Transmitter"
  4322.       SrcPort       1
  4323.       Points       [55, 0]
  4324.       DstBlock       "binary data"
  4325.       DstPort       1
  4326.     }
  4327.     Line {
  4328.       SrcBlock       "Channel"
  4329.       SrcPort       1
  4330.       Points       [50, 0]
  4331.       Branch {
  4332. DstBlock "Receiver"
  4333. DstPort 1
  4334.       }
  4335.       Branch {
  4336. DstBlock "r(t)"
  4337. DstPort 1
  4338.       }
  4339.     }
  4340.     Line {
  4341.       SrcBlock       "Receiver"
  4342.       SrcPort       1
  4343.       Points       [30, 0; 0, 80]
  4344.       Branch {
  4345. DstBlock "detectednsymbols"
  4346. DstPort 1
  4347.       }
  4348.       Branch {
  4349. Points [-235, 0]
  4350. DstBlock "Error rate"
  4351. DstPort 2
  4352.       }
  4353.     }
  4354.   }
  4355. }