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

通讯编程文档

开发平台:

Matlab

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