oqpwnymf.mdl
Upload User: loeagle
Upload Date: 2013-03-02
Package Size: 1236k
Code Size: 167k
Development Platform:

Matlab

  1. Model {
  2.   Name   "oqpwnymf"
  3.   Version   5.0
  4.   SaveDefaultBlockParams  on
  5.   SampleTimeColors   off
  6.   LibraryLinkDisplay   "none"
  7.   WideLines   off
  8.   ShowLineDimensions   off
  9.   ShowPortDataTypes   off
  10.   ShowLoopsOnError   on
  11.   IgnoreBidirectionalLines off
  12.   ShowStorageClass   off
  13.   ExecutionOrder   off
  14.   RecordCoverage   off
  15.   CovPath   "/"
  16.   CovSaveName   "covdata"
  17.   CovMetricSettings   "dw"
  18.   CovNameIncrementing   off
  19.   CovHtmlReporting   on
  20.   covSaveCumulativeToWorkspaceVar on
  21.   CovSaveSingleToWorkspaceVar on
  22.   CovCumulativeVarName   "covCumulativeData"
  23.   CovCumulativeReport   off
  24.   DataTypeOverride   "UseLocalSettings"
  25.   MinMaxOverflowLogging   "UseLocalSettings"
  26.   MinMaxOverflowArchiveMode "Overwrite"
  27.   BlockNameDataTip   off
  28.   BlockParametersDataTip  off
  29.   BlockDescriptionStringDataTip off
  30.   ToolBar   on
  31.   StatusBar   on
  32.   BrowserShowLibraryLinks off
  33.   BrowserLookUnderMasks   off
  34.   CloseFcn   "closemodcross"
  35.   Created   "Wed Jul 25 13:06:16 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:44:53 2003"
  42.   ModelVersionFormat   "1.%<AutoIncrement:35>"
  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   ".010"
  81.   MinStep   "0.000001"
  82.   MaxNumMinSteps   "-1"
  83.   InitialStep   "auto"
  84.   FixedStep   "auto"
  85.   RelTol   "1e-6"
  86.   AbsTol   "1e-6"
  87.   OutputOption   "RefineOutputTimes"
  88.   OutputTimes   "[]"
  89.   Refine   "1"
  90.   LoadExternalInput   off
  91.   ExternalInput   "[t, u]"
  92.   LoadInitialState   off
  93.   InitialState   "xInitial"
  94.   SaveTime   off
  95.   TimeSaveName   "tout"
  96.   SaveState   off
  97.   StateSaveName   "xout"
  98.   SaveOutput   off
  99.   OutputSaveName   "yout"
  100.   SaveFinalState   off
  101.   FinalStateName   "xFinal"
  102.   SaveFormat   "Array"
  103.   Decimation   "1"
  104.   LimitDataPoints   on
  105.   MaxDataPoints   "1000"
  106.   SignalLoggingName   "sigsOut"
  107.   ConsistencyChecking   "none"
  108.   ArrayBoundsChecking   "none"
  109.   AlgebraicLoopMsg   "warning"
  110.   BlockPriorityViolationMsg "warning"
  111.   MinStepSizeMsg   "warning"
  112.   InheritedTsInSrcMsg   "warning"
  113.   DiscreteInheritContinuousMsg "warning"
  114.   MultiTaskRateTransMsg   "error"
  115.   SingleTaskRateTransMsg  "none"
  116.   CheckForMatrixSingularity "none"
  117.   IntegerOverflowMsg   "warning"
  118.   Int32ToFloatConvMsg   "warning"
  119.   ParameterDowncastMsg   "error"
  120.   ParameterOverflowMsg   "error"
  121.   ParameterPrecisionLossMsg "warning"
  122.   UnderSpecifiedDataTypeMsg "none"
  123.   UnnecessaryDatatypeConvMsg "none"
  124.   VectorMatrixConversionMsg "none"
  125.   InvalidFcnCallConnMsg   "error"
  126.   SignalLabelMismatchMsg  "none"
  127.   UnconnectedInputMsg   "warning"
  128.   UnconnectedOutputMsg   "warning"
  129.   UnconnectedLineMsg   "warning"
  130.   SfunCompatibilityCheckMsg "none"
  131.   RTWInlineParameters   off
  132.   BlockReductionOpt   off
  133.   BooleanDataType   off
  134.   ConditionallyExecuteInputs on
  135.   ParameterPooling   on
  136.   OptimizeBlockIOStorage  on
  137.   ZeroCross   on
  138.   AssertionControl   "UseLocalSettings"
  139.   ProdHWDeviceType   "Microprocessor"
  140.   ProdHWWordLengths   "8,16,32,32"
  141.   RTWSystemTargetFile   "grt.tlc"
  142.   RTWTemplateMakefile   "grt_default_tmf"
  143.   RTWMakeCommand   "make_rtw"
  144.   RTWGenerateCodeOnly   off
  145.   RTWRetainRTWFile   off
  146.   TLCProfiler   off
  147.   TLCDebug   off
  148.   TLCCoverage   off
  149.   TLCAssertion   off
  150.   BlockDefaults {
  151.     Orientation     "right"
  152.     ForegroundColor     "black"
  153.     BackgroundColor     "white"
  154.     DropShadow     off
  155.     NamePlacement     "normal"
  156.     FontName     "Helvetica"
  157.     FontSize     10
  158.     FontWeight     "normal"
  159.     FontAngle     "normal"
  160.     ShowName     on
  161.   }
  162.   BlockParameterDefaults {
  163.     Block {
  164.       BlockType       Clock
  165.       DisplayTime       off
  166.     }
  167.     Block {
  168.       BlockType       Constant
  169.       Value       "1"
  170.       VectorParams1D       on
  171.       ShowAdditionalParam     off
  172.       OutDataTypeMode       "Inherit from 'Constant value'"
  173.       OutDataType       "sfix(16)"
  174.       ConRadixGroup       "Use specified scaling"
  175.       OutScaling       "2^0"
  176.     }
  177.     Block {
  178.       BlockType       Demux
  179.       Outputs       "4"
  180.       DisplayOption       "none"
  181.       BusSelectionMode       off
  182.     }
  183.     Block {
  184.       BlockType       DigitalClock
  185.       SampleTime       "1"
  186.     }
  187.     Block {
  188.       BlockType       DiscreteFilter
  189.       Numerator       "[1]"
  190.       Denominator       "[1 2]"
  191.       SampleTime       "1"
  192.       Realization       "auto"
  193.       RTWStateStorageClass    "Auto"
  194.     }
  195.     Block {
  196.       BlockType       Fcn
  197.       Expr       "sin(u[1])"
  198.     }
  199.     Block {
  200.       BlockType       Gain
  201.       Gain       "1"
  202.       Multiplication       "Element-wise(K.*u)"
  203.       ShowAdditionalParam     off
  204.       ParameterDataTypeMode   "Same as input"
  205.       ParameterDataType       "sfix(16)"
  206.       ParameterScalingMode    "Best Precision: Matrix-wise"
  207.       ParameterScaling       "2^0"
  208.       OutDataTypeMode       "Same as input"
  209.       OutDataType       "sfix(16)"
  210.       OutScaling       "2^0"
  211.       LockScale       off
  212.       RndMeth       "Floor"
  213.       SaturateOnIntegerOverflow on
  214.     }
  215.     Block {
  216.       BlockType       Inport
  217.       Port       "1"
  218.       PortDimensions       "-1"
  219.       SampleTime       "-1"
  220.       ShowAdditionalParam     off
  221.       LatchInput       off
  222.       DataType       "auto"
  223.       OutDataType       "sfix(16)"
  224.       OutScaling       "2^0"
  225.       SignalType       "auto"
  226.       SamplingMode       "auto"
  227.       Interpolate       on
  228.     }
  229.     Block {
  230.       BlockType       Logic
  231.       Operator       "AND"
  232.       Inputs       "2"
  233.       ShowAdditionalParam     off
  234.       AllPortsSameDT       on
  235.       OutDataTypeMode       "Logical (see Advanced Sim. Parameters)"
  236.       LogicDataType       "uint(8)"
  237.     }
  238.     Block {
  239.       BlockType       Lookup
  240.       InputValues       "[-4:5]"
  241.       OutputValues       " rand(1,10)-0.5"
  242.       ShowAdditionalParam     off
  243.       LookUpMeth       "Interpolation-Extrapolation"
  244.       OutDataTypeMode       "Same as input"
  245.       OutDataType       "sfix(16)"
  246.       OutScaling       "2^0"
  247.       LockScale       off
  248.       RndMeth       "Floor"
  249.       SaturateOnIntegerOverflow on
  250.     }
  251.     Block {
  252.       BlockType       Mux
  253.       Inputs       "4"
  254.       DisplayOption       "none"
  255.     }
  256.     Block {
  257.       BlockType       Outport
  258.       Port       "1"
  259.       OutputWhenDisabled      "held"
  260.       InitialOutput       "[]"
  261.     }
  262.     Block {
  263.       BlockType       Product
  264.       Inputs       "2"
  265.       Multiplication       "Element-wise(.*)"
  266.       ShowAdditionalParam     off
  267.       InputSameDT       on
  268.       OutDataTypeMode       "Same as first input"
  269.       OutDataType       "sfix(16)"
  270.       OutScaling       "2^0"
  271.       LockScale       off
  272.       RndMeth       "Floor"
  273.       SaturateOnIntegerOverflow on
  274.     }
  275.     Block {
  276.       BlockType       RandomNumber
  277.       Mean       "0"
  278.       Variance       "1"
  279.       Seed       "0"
  280.       SampleTime       "-1"
  281.       VectorParams1D       on
  282.     }
  283.     Block {
  284.       BlockType       RelationalOperator
  285.       Operator       ">="
  286.       ShowAdditionalParam     off
  287.       InputSameDT       on
  288.       LogicOutDataTypeMode    "Logical (see Advanced Sim. Parameters)"
  289.       LogicDataType       "uint(8)"
  290.       ZeroCross       on
  291.     }
  292.     Block {
  293.       BlockType       Scope
  294.       Floating       off
  295.       ModelBased       off
  296.       TickLabels       "OneTimeTick"
  297.       ZoomMode       "on"
  298.       Grid       "on"
  299.       TimeRange       "auto"
  300.       YMin       "-5"
  301.       YMax       "5"
  302.       SaveToWorkspace       off
  303.       SaveName       "ScopeData"
  304.       LimitDataPoints       on
  305.       MaxDataPoints       "5000"
  306.       Decimation       "1"
  307.       SampleInput       off
  308.       SampleTime       "0"
  309.     }
  310.     Block {
  311.       BlockType       "S-Function"
  312.       FunctionName       "system"
  313.       PortCounts       "[]"
  314.       SFunctionModules       "''"
  315.     }
  316.     Block {
  317.       BlockType       StateSpace
  318.       A       "1"
  319.       B       "1"
  320.       C       "1"
  321.       D       "1"
  322.       X0       "0"
  323.       AbsoluteTolerance       "auto"
  324.       Realization       "auto"
  325.     }
  326.     Block {
  327.       BlockType       Step
  328.       Time       "1"
  329.       Before       "0"
  330.       After       "1"
  331.       SampleTime       "-1"
  332.       VectorParams1D       on
  333.       ZeroCross       on
  334.     }
  335.     Block {
  336.       BlockType       SubSystem
  337.       ShowPortLabels       on
  338.       Permissions       "ReadWrite"
  339.       RTWSystemCode       "Auto"
  340.       RTWFcnNameOpts       "Auto"
  341.       RTWFileNameOpts       "Auto"
  342.       SimViewingDevice       off
  343.       DataTypeOverride       "UseLocalSettings"
  344.       MinMaxOverflowLogging   "UseLocalSettings"
  345.     }
  346.     Block {
  347.       BlockType       Sum
  348.       IconShape       "rectangular"
  349.       Inputs       "++"
  350.       ShowAdditionalParam     off
  351.       InputSameDT       on
  352.       OutDataTypeMode       "Same as first input"
  353.       OutDataType       "sfix(16)"
  354.       OutScaling       "2^0"
  355.       LockScale       off
  356.       RndMeth       "Floor"
  357.       SaturateOnIntegerOverflow on
  358.     }
  359.     Block {
  360.       BlockType       Switch
  361.       Criteria       "u2 >= Threshold"
  362.       Threshold       "0"
  363.       ShowAdditionalParam     off
  364.       InputSameDT       on
  365.       OutDataTypeMode       "Inherit via internal rule"
  366.       RndMeth       "Floor"
  367.       SaturateOnIntegerOverflow on
  368.       ZeroCross       on
  369.     }
  370.     Block {
  371.       BlockType       Terminator
  372.     }
  373.     Block {
  374.       BlockType       TransportDelay
  375.       DelayTime       "1"
  376.       InitialInput       "0"
  377.       BufferSize       "1024"
  378.       PadeOrder       "0"
  379.       TransDelayFeedthrough   off
  380.     }
  381.     Block {
  382.       BlockType       UnitDelay
  383.       X0       "0"
  384.       SampleTime       "1"
  385.       RTWStateStorageClass    "Auto"
  386.     }
  387.     Block {
  388.       BlockType       ZeroOrderHold
  389.       SampleTime       "1"
  390.     }
  391.   }
  392.   AnnotationDefaults {
  393.     HorizontalAlignment     "center"
  394.     VerticalAlignment     "middle"
  395.     ForegroundColor     "black"
  396.     BackgroundColor     "white"
  397.     DropShadow     off
  398.     FontName     "Helvetica"
  399.     FontSize     10
  400.     FontWeight     "normal"
  401.     FontAngle     "normal"
  402.   }
  403.   LineDefaults {
  404.     FontName     "Helvetica"
  405.     FontSize     9
  406.     FontWeight     "normal"
  407.     FontAngle     "normal"
  408.   }
  409.   System {
  410.     Name     "oqpwnymf"
  411.     Location     [22, 144, 1031, 422]
  412.     Open     on
  413.     ModelBrowserVisibility  off
  414.     ModelBrowserWidth     200
  415.     ScreenColor     "white"
  416.     PaperOrientation     "landscape"
  417.     PaperPositionMode     "auto"
  418.     PaperType     "usletter"
  419.     PaperUnits     "inches"
  420.     ZoomFactor     "100"
  421.     ReportName     "simulink-default.rpt"
  422.     Block {
  423.       BlockType       Reference
  424.       Name       "Channel"
  425.       Ports       [1, 1]
  426.       Position       [465, 83, 545, 127]
  427.       SourceBlock       "librnew/Channel"
  428.       SourceType       "AWGN channel, fixed parameter"
  429.       m       "0"
  430.       variance       "0.00010"
  431.       s       "12345"
  432.     }
  433.     Block {
  434.       BlockType       SubSystem
  435.       Name       "Error rate"
  436.       Ports       [2]
  437.       Position       [465, 215, 545, 255]
  438.       Orientation       "down"
  439.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  440.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  441.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  442.       StartFcn       "sbiterr([],[],[],'Start')"
  443.       StopFcn       "sbiterr([],[],[],'Stop')"
  444.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  445.       ShowPortLabels       off
  446.       TreatAsAtomicUnit       off
  447.       MaskType       "Symbol/bit error counter"
  448.       MaskDescription       "Use the input data from the 1st port as the ref"
  449. "erence signal to detect the number of errors and error rate of the 2nd signal"
  450. "."
  451.       MaskHelp       "The signal from the first port must be a scalar"
  452. ". The second input port can be a vector with a delay to the first port signal"
  453. ". The comparison happens only at the sampling point."
  454.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  455. "lay between 1st port and 2nd port:|Sample time (sec):"
  456.       MaskStyleString       "edit,edit,edit,edit"
  457.       MaskTunableValueString  "on,on,on,on"
  458.       MaskCallbackString      "|||"
  459.       MaskEnableString       "on,on,on,on"
  460.       MaskVisibilityString    "on,on,on,on"
  461.       MaskToolTipString       "on,on,on,on"
  462.       MaskVarAliasString      ",,,"
  463.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  464.       MaskDisplay       "disp('Error\nmeter')"
  465.       MaskIconFrame       on
  466.       MaskIconOpaque       on
  467.       MaskIconRotate       "none"
  468.       MaskIconUnits       "autoscale"
  469.       MaskValueString       "2|10|12.5|1"
  470.       System {
  471. Name "Error rate"
  472. Location [255, 368, 509, 510]
  473. Open off
  474. ModelBrowserVisibility off
  475. ModelBrowserWidth 200
  476. ScreenColor "white"
  477. PaperOrientation "landscape"
  478. PaperPositionMode "auto"
  479. PaperType "usletter"
  480. PaperUnits "inches"
  481. ZoomFactor "100"
  482. Block {
  483.   BlockType   Inport
  484.   Name   "in_1"
  485.   Position   [15, 45, 35, 65]
  486. }
  487. Block {
  488.   BlockType   Inport
  489.   Name   "in_2"
  490.   Position   [15, 60, 35, 80]
  491.   Port   "2"
  492. }
  493. Block {
  494.   BlockType   Mux
  495.   Name   "Mux"
  496.   Ports   [2, 1]
  497.   Position   [65, 46, 100, 79]
  498.   Inputs   "2"
  499. }
  500. Block {
  501.   BlockType   "S-Function"
  502.   Name   "S-function"
  503.   Ports   [1]
  504.   Position   [130, 52, 195, 78]
  505.   FunctionName   "sbiterr"
  506.   Parameters   "num_lin, K, TDelay, Sample"
  507. }
  508. Line {
  509.   SrcBlock   "Mux"
  510.   SrcPort   1
  511.   DstBlock   "S-function"
  512.   DstPort   1
  513. }
  514. Line {
  515.   SrcBlock   "in_1"
  516.   SrcPort   1
  517.   DstBlock   "Mux"
  518.   DstPort   1
  519. }
  520. Line {
  521.   SrcBlock   "in_2"
  522.   SrcPort   1
  523.   DstBlock   "Mux"
  524.   DstPort   2
  525. }
  526.       }
  527.     }
  528.     Block {
  529.       BlockType       SubSystem
  530.       Name       "Receiver"
  531.       Ports       [1, 1]
  532.       Position       [650, 62, 725, 148]
  533.       ShowPortLabels       off
  534.       TreatAsAtomicUnit       off
  535.       System {
  536. Name "Receiver"
  537. Location [10, 195, 1018, 473]
  538. Open off
  539. ModelBrowserVisibility off
  540. ModelBrowserWidth 200
  541. ScreenColor "white"
  542. PaperOrientation "landscape"
  543. PaperPositionMode "auto"
  544. PaperType "usletter"
  545. PaperUnits "inches"
  546. ZoomFactor "100"
  547. Block {
  548.   BlockType   Inport
  549.   Name   "noisynOQPSK-nSignal"
  550.   Position   [25, 145, 45, 165]
  551. }
  552. Block {
  553.   BlockType   Clock
  554.   Name   "Clock"
  555.   Position   [145, 140, 165, 160]
  556.   ShowName   off
  557.   Decimation   "10"
  558. }
  559. Block {
  560.   BlockType   Fcn
  561.   Name   "Fcn"
  562.   Position   [185, 119, 265, 141]
  563.   ShowName   off
  564.   Expr   "2*cos(4*pi*u)"
  565. }
  566. Block {
  567.   BlockType   Fcn
  568.   Name   "Fcn1"
  569.   Position   [185, 159, 265, 181]
  570.   ShowName   off
  571.   Expr   "-2*sin(4*pi*u)"
  572. }
  573. Block {
  574.   BlockType   Gain
  575.   Name   "Gain1"
  576.   Position   [575, 212, 600, 238]
  577.   ShowName   off
  578.   Gain   "1/4"
  579. }
  580. Block {
  581.   BlockType   Gain
  582.   Name   "Gain2"
  583.   Position   [575, 77, 600, 103]
  584.   ShowName   off
  585.   Gain   "1/4"
  586. }
  587. Block {
  588.   BlockType   Product
  589.   Name   "Product"
  590.   Ports   [2, 1]
  591.   Position   [300, 74, 330, 101]
  592.   ShowName   off
  593. }
  594. Block {
  595.   BlockType   Product
  596.   Name   "Product1"
  597.   Ports   [2, 1]
  598.   Position   [295, 213, 325, 237]
  599.   ShowName   off
  600. }
  601. Block {
  602.   BlockType   SubSystem
  603.   Name   "QPSK demap"
  604.   Ports   [2, 1]
  605.   Position   [805, 124, 880, 171]
  606.   TreatAsAtomicUnit   off
  607.   MaskType   "MPSK demapping"
  608.   MaskDescription   "Reverse the QASK map. Input in-phasenand q"
  609. "uadrature components from thentwo inputs. Output demapped signal."
  610.   MaskHelp   "This block demaps a QASK mapped signal usin"
  611. "g circle constellation. You can place this block after a QAM demodulation blo"
  612. "ck. The circle constellation is defined in NIC, RIC, and PIC. The symbol inte"
  613. "rval can be a two elements vector with the first element being offset. The de"
  614. "fault offset is zero. Use function MODMAP to view the constellation."
  615.   MaskPromptString   "Number of symbols on each circle NIC::|Radi"
  616. "i for each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval "
  617. "and offset (sec):"
  618.   MaskStyleString   "edit,edit,edit,edit"
  619.   MaskTunableValueString  "on,on,on,on"
  620.   MaskCallbackString   "|||"
  621.   MaskEnableString   "on,on,on,on"
  622.   MaskVisibilityString   "on,on,on,on"
  623.   MaskToolTipString   "on,on,on,on"
  624.   MaskVarAliasString   ",,,"
  625.   MaskVariables   "N=@1;A=@2;P=@3;td=@4;"
  626.   MaskInitialization   "y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);"
  627.   MaskDisplay   "disp('MPSK\ndemapping')"
  628.   MaskIconFrame   on
  629.   MaskIconOpaque   on
  630.   MaskIconRotate   "none"
  631.   MaskIconUnits   "autoscale"
  632.   MaskValueString   "[4]|[sqrt(2)]|[pi/4]|[1 0.5]"
  633.   System {
  634.     Name     "QPSK demap"
  635.     Location     [104, 488, 602, 788]
  636.     Open     off
  637.     ModelBrowserVisibility  off
  638.     ModelBrowserWidth     200
  639.     ScreenColor     "white"
  640.     PaperOrientation     "landscape"
  641.     PaperPositionMode     "auto"
  642.     PaperType     "usletter"
  643.     PaperUnits     "inches"
  644.     ZoomFactor     "100"
  645.     Block {
  646.       BlockType       Inport
  647.       Name       "real"
  648.       Position       [20, 45, 40, 65]
  649.     }
  650.     Block {
  651.       BlockType       Inport
  652.       Name       "imag"
  653.       Position       [20, 130, 40, 150]
  654.       Port       "2"
  655.     }
  656.     Block {
  657.       BlockType       "S-Function"
  658.       Name       "Minimum1"
  659.       Ports       [1, 1]
  660.       Position       [390, 95, 450, 115]
  661.       FunctionName       "arymimai"
  662.       Parameters       "'min'"
  663.     }
  664.     Block {
  665.       BlockType       Product
  666.       Name       "Product"
  667.       Ports       [2, 1]
  668.       Position       [275, 55, 300, 75]
  669.     }
  670.     Block {
  671.       BlockType       Product
  672.       Name       "Product1"
  673.       Ports       [2, 1]
  674.       Position       [275, 140, 300, 160]
  675.     }
  676.     Block {
  677.       BlockType       Sum
  678.       Name       "Sum1"
  679.       Ports       [2, 1]
  680.       Position       [205, 48, 225, 77]
  681.       ForegroundColor       "red"
  682.       Inputs       "+-"
  683.     }
  684.     Block {
  685.       BlockType       Sum
  686.       Name       "Sum2"
  687.       Ports       [2, 1]
  688.       Position       [345, 88, 365, 117]
  689.     }
  690.     Block {
  691.       BlockType       Sum
  692.       Name       "Sum6"
  693.       Ports       [2, 1]
  694.       Position       [205, 133, 225, 162]
  695.       ForegroundColor       "blue"
  696.       Inputs       "+-"
  697.     }
  698.     Block {
  699.       BlockType       ZeroOrderHold
  700.       Name       "Zero-OrdernHold"
  701.       Position       [95, 39, 130, 71]
  702.       ForegroundColor       "red"
  703.       SampleTime       "td"
  704.     }
  705.     Block {
  706.       BlockType       ZeroOrderHold
  707.       Name       "Zero-OrdernHold1"
  708.       Position       [95, 124, 130, 156]
  709.       ForegroundColor       "blue"
  710.       SampleTime       "td"
  711.     }
  712.     Block {
  713.       BlockType       Constant
  714.       Name       "imag_pt"
  715.       Position       [140, 179, 165, 201]
  716.       BackgroundColor       "yellow"
  717.       Value       "y2"
  718.     }
  719.     Block {
  720.       BlockType       Constant
  721.       Name       "real_pt"
  722.       Position       [145, 94, 170, 116]
  723.       BackgroundColor       "green"
  724.       Value       "y1"
  725.     }
  726.     Block {
  727.       BlockType       Outport
  728.       Name       "out_1"
  729.       Position       [470, 95, 490, 115]
  730.     }
  731.     Line {
  732.       SrcBlock       "Minimum1"
  733.       SrcPort       1
  734.       DstBlock       "out_1"
  735.       DstPort       1
  736.     }
  737.     Line {
  738.       SrcBlock       "Sum2"
  739.       SrcPort       1
  740.       DstBlock       "Minimum1"
  741.       DstPort       1
  742.     }
  743.     Line {
  744.       SrcBlock       "Product1"
  745.       SrcPort       1
  746.       Points       [10, 0; 0, -40]
  747.       DstBlock       "Sum2"
  748.       DstPort       2
  749.     }
  750.     Line {
  751.       SrcBlock       "Product"
  752.       SrcPort       1
  753.       Points       [10, 0; 0, 30]
  754.       DstBlock       "Sum2"
  755.       DstPort       1
  756.     }
  757.     Line {
  758.       SrcBlock       "Sum6"
  759.       SrcPort       1
  760.       Points       [0, 0; 15, 0]
  761.       Branch {
  762. Points [0, 5]
  763. DstBlock "Product1"
  764. DstPort 2
  765.       }
  766.       Branch {
  767. Points [0, -5]
  768. DstBlock "Product1"
  769. DstPort 1
  770.       }
  771.     }
  772.     Line {
  773.       SrcBlock       "Sum1"
  774.       SrcPort       1
  775.       Points       [0, 0; 15, 0]
  776.       Branch {
  777. Points [0, 5]
  778. DstBlock "Product"
  779. DstPort 2
  780.       }
  781.       Branch {
  782. Points [0, -5]
  783. DstBlock "Product"
  784. DstPort 1
  785.       }
  786.     }
  787.     Line {
  788.       SrcBlock       "imag_pt"
  789.       SrcPort       1
  790.       Points       [10, 0; 0, -35]
  791.       DstBlock       "Sum6"
  792.       DstPort       2
  793.     }
  794.     Line {
  795.       SrcBlock       "Zero-OrdernHold1"
  796.       SrcPort       1
  797.       DstBlock       "Sum6"
  798.       DstPort       1
  799.     }
  800.     Line {
  801.       SrcBlock       "Zero-OrdernHold"
  802.       SrcPort       1
  803.       DstBlock       "Sum1"
  804.       DstPort       1
  805.     }
  806.     Line {
  807.       SrcBlock       "real_pt"
  808.       SrcPort       1
  809.       Points       [5, 0; 0, -35]
  810.       DstBlock       "Sum1"
  811.       DstPort       2
  812.     }
  813.     Line {
  814.       SrcBlock       "imag"
  815.       SrcPort       1
  816.       DstBlock       "Zero-OrdernHold1"
  817.       DstPort       1
  818.     }
  819.     Line {
  820.       SrcBlock       "real"
  821.       SrcPort       1
  822.       DstBlock       "Zero-OrdernHold"
  823.       DstPort       1
  824.     }
  825.   }
  826. }
  827. Block {
  828.   BlockType   SubSystem
  829.   Name   "Rolloff"
  830.   Ports   []
  831.   Position   [475, 33, 575, 56]
  832.   BackgroundColor   "lightBlue"
  833.   ShowName   off
  834.   OpenFcn   "setrloff"
  835.   FontSize   12
  836.   FontAngle   "italic"
  837.   ShowPortLabels   off
  838.   TreatAsAtomicUnit   off
  839.   MaskType   "rolloff"
  840.   MaskDisplay   "disp('Rolloff-Factor')"
  841.   MaskIconFrame   on
  842.   MaskIconOpaque   on
  843.   MaskIconRotate   "none"
  844.   MaskIconUnits   "autoscale"
  845.   System {
  846.     Name     "Rolloff"
  847.     Location     [136, 230, 381, 439]
  848.     Open     off
  849.     ModelBrowserVisibility  off
  850.     ModelBrowserWidth     200
  851.     ScreenColor     "cyan"
  852.     PaperOrientation     "landscape"
  853.     PaperPositionMode     "auto"
  854.     PaperType     "A4"
  855.     PaperUnits     "centimeters"
  856.     ZoomFactor     "100"
  857.   }
  858. }
  859. Block {
  860.   BlockType   SubSystem
  861.   Name   "Root-RCnreceive filter"
  862.   Ports   [1, 1]
  863.   Position   [475, 68, 555, 112]
  864.   ShowPortLabels   off
  865.   TreatAsAtomicUnit   off
  866.   MaskType   "R-C filter"
  867.   MaskDescription   "Design a raised cosine filter and use it to"
  868. " filter the input signal."
  869.   MaskHelp   "This block designs a raised cosine filter u"
  870. "sing the specified parameter. The filter is used to filter the input signal. "
  871. "You can optionally use the sinc filter in the filtering computation."
  872.   MaskPromptString   "Symbol interval (sec):|Computation sampling"
  873. " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
  874. "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
  875. "lter (1 or 0, suggest 1):"
  876.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  877.   MaskTunableValueString  "on,on,on,on,on,on"
  878.   MaskCallbackString   "|||||"
  879.   MaskEnableString   "on,on,on,on,on,on"
  880.   MaskVisibilityString   "on,on,on,on,on,on"
  881.   MaskToolTipString   "on,on,on,on,on,on"
  882.   MaskVarAliasString   ",,,,,"
  883.   MaskInitialization   "td=@1;if length(td)>1,off=td(2);td=td(1);el"
  884. "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
  885. ",R,delay);x=@6/2;"
  886.   MaskDisplay   "disp('R-C\nfilter')"
  887.   MaskIconFrame   on
  888.   MaskIconOpaque   on
  889.   MaskIconRotate   "none"
  890.   MaskIconUnits   "autoscale"
  891.   MaskValueString   "[1 .4999]|.05|.5|6|'FIR/Sqrt'|0"
  892.   System {
  893.     Name     "Root-RCnreceive filter"
  894.     Location     [131, 545, 589, 761]
  895.     Open     off
  896.     ModelBrowserVisibility  off
  897.     ModelBrowserWidth     200
  898.     ScreenColor     "white"
  899.     PaperOrientation     "landscape"
  900.     PaperPositionMode     "auto"
  901.     PaperType     "usletter"
  902.     PaperUnits     "inches"
  903.     ZoomFactor     "100"
  904.     Block {
  905.       BlockType       Inport
  906.       Name       "in_1"
  907.       Position       [35, 30, 55, 50]
  908.     }
  909.     Block {
  910.       BlockType       DiscreteFilter
  911.       Name       "Filter"
  912.       Position       [255, 31, 310, 69]
  913.       Numerator       "num"
  914.       Denominator       "den"
  915.       SampleTime       "ts"
  916.     }
  917.     Block {
  918.       BlockType       SubSystem
  919.       Name       "Memory Impulse"
  920.       Ports       [2, 1]
  921.       Position       [155, 30, 225, 70]
  922.       ShowPortLabels       off
  923.       TreatAsAtomicUnit       off
  924.       MaskType       "Impulse"
  925.       MaskDescription       "1/sinc filter:"
  926.       MaskHelp       "When the threshold is greater than zero"
  927. ", this block outputs an impulse signal, which begins at the raising edge of t"
  928. "he second input and lasts the holding time. The impulse holds a constant ampl"
  929. "itude, which equals the amplitude of the first input at the begining of the i"
  930. "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
  931. " less or equal to zero, this block faithfully outputs the first input."
  932.       MaskPromptString       "Holding time:|Threshold for clock pulse"
  933. ": "
  934.       MaskStyleString       "edit,edit"
  935.       MaskTunableValueString  "on,on"
  936.       MaskCallbackString      "|"
  937.       MaskEnableString       "on,on"
  938.       MaskVisibilityString    "on,on"
  939.       MaskToolTipString       "on,on"
  940.       MaskVarAliasString      ","
  941.       MaskInitialization      "ts=@1;thr=@2;x=thr>0;"
  942.       MaskDisplay       "disp('1/sinc')"
  943.       MaskIconFrame       on
  944.       MaskIconOpaque       on
  945.       MaskIconRotate       "none"
  946.       MaskIconUnits       "autoscale"
  947.       MaskValueString       "ts|x"
  948.       System {
  949. Name "Memory Impulse"
  950. Location [541, 520, 939, 745]
  951. Open off
  952. ModelBrowserVisibility off
  953. ModelBrowserWidth 200
  954. ScreenColor "white"
  955. PaperOrientation "landscape"
  956. PaperPositionMode "auto"
  957. PaperType "usletter"
  958. PaperUnits "inches"
  959. ZoomFactor "100"
  960. Block {
  961.   BlockType   Inport
  962.   Name   "in_1"
  963.   Position   [35, 185, 55, 205]
  964. }
  965. Block {
  966.   BlockType   Inport
  967.   Name   "in_2"
  968.   Position   [25, 30, 45, 50]
  969.   Port   "2"
  970. }
  971. Block {
  972.   BlockType   Constant
  973.   Name   "Constant"
  974.   Position   [210, 155, 230, 175]
  975.   Value   "x"
  976. }
  977. Block {
  978.   BlockType   Product
  979.   Name   "Product"
  980.   Ports   [2, 1]
  981.   Position   [155, 90, 180, 110]
  982. }
  983. Block {
  984.   BlockType   Switch
  985.   Name   "Switch"
  986.   Position   [295, 124, 320, 156]
  987.   Threshold   ".5"
  988. }
  989. Block {
  990.   BlockType   ZeroOrderHold
  991.   Name   "Zero-OrdernHold"
  992.   Position   [205, 84, 240, 116]
  993.   SampleTime   "ts"
  994. }
  995. Block {
  996.   BlockType   SubSystem
  997.   Name   "discretenRising edgendetector"
  998.   Ports   [1, 1]
  999.   Position   [65, 26, 120, 54]
  1000.   ShowPortLabels   off
  1001.   TreatAsAtomicUnit   off
  1002.   MaskType   "Edge Detection"
  1003.   MaskDescription   "Rising edge detection:"
  1004.   MaskHelp   "When the input signal rising edge p"
  1005. "assed the given shreshold, this block outputs one, otherwise outputs zero."
  1006.   MaskPromptString   "Threshold:|Sampling time:"
  1007.   MaskStyleString   "edit,edit"
  1008.   MaskTunableValueString  "on,on"
  1009.   MaskCallbackString   "|"
  1010.   MaskEnableString   "on,on"
  1011.   MaskVisibilityString   "on,on"
  1012.   MaskToolTipString   "on,on"
  1013.   MaskVarAliasString   ","
  1014.   MaskInitialization   "thld=@1;ts=@2;"
  1015.   MaskDisplay   "disp('Edge\nDetector')"
  1016.   MaskIconFrame   on
  1017.   MaskIconOpaque   on
  1018.   MaskIconRotate   "none"
  1019.   MaskIconUnits   "autoscale"
  1020.   MaskValueString   "thr|ts"
  1021.   System {
  1022.     Name     "discretenRising edgendetector"
  1023.     Location     [419, 521, 808, 713]
  1024.     Open     off
  1025.     ModelBrowserVisibility  off
  1026.     ModelBrowserWidth     200
  1027.     ScreenColor     "white"
  1028.     PaperOrientation     "landscape"
  1029.     PaperPositionMode     "auto"
  1030.     PaperType     "usletter"
  1031.     PaperUnits     "inches"
  1032.     ZoomFactor     "100"
  1033.     Block {
  1034.     BlockType     Inport
  1035.     Name     "in_1"
  1036.     Position     [10, 15, 30, 35]
  1037.     }
  1038.     Block {
  1039.     BlockType     RelationalOperator
  1040.     Name     "RelationalnOperator"
  1041.     Position     [135, 18, 165, 42]
  1042.     }
  1043.     Block {
  1044.     BlockType     RelationalOperator
  1045.     Name     "RelationalnOperator1"
  1046.     Position     [200, 88, 230, 112]
  1047.     }
  1048.     Block {
  1049.     BlockType     RelationalOperator
  1050.     Name     "RelationalnOperator2"
  1051.     Position     [265, 23, 295, 47]
  1052.     Operator     ">"
  1053.     }
  1054.     Block {
  1055.     BlockType     UnitDelay
  1056.     Name     "Unit Delay"
  1057.     Position     [120, 87, 170, 103]
  1058.     SampleTime     "ts"
  1059.     }
  1060.     Block {
  1061.     BlockType     Constant
  1062.     Name     "one1"
  1063.     Position     [30, 135, 60, 155]
  1064.     Value     "thld"
  1065.     }
  1066.     Block {
  1067.     BlockType     Outport
  1068.     Name     "out_1"
  1069.     Position     [340, 25, 360, 45]
  1070.     }
  1071.     Line {
  1072.     SrcBlock     "RelationalnOperator2"
  1073.     SrcPort     1
  1074.     DstBlock     "out_1"
  1075.     DstPort     1
  1076.     }
  1077.     Line {
  1078.     SrcBlock     "RelationalnOperator1"
  1079.     SrcPort     1
  1080.     Points     [5, 0; 0, -60]
  1081.     DstBlock     "RelationalnOperator2"
  1082.     DstPort     2
  1083.     }
  1084.     Line {
  1085.     SrcBlock     "RelationalnOperator"
  1086.     SrcPort     1
  1087.     DstBlock     "RelationalnOperator2"
  1088.     DstPort     1
  1089.     }
  1090.     Line {
  1091.     SrcBlock     "one1"
  1092.     SrcPort     1
  1093.     Points     [35, 0]
  1094.     Branch {
  1095.     Points     [0, -110]
  1096.     DstBlock     "RelationalnOperator"
  1097.     DstPort     2
  1098.     }
  1099.     Branch {
  1100.     Points     [80, 0; 0, -40]
  1101.     DstBlock     "RelationalnOperator1"
  1102.     DstPort     2
  1103.     }
  1104.     }
  1105.     Line {
  1106.     SrcBlock     "Unit Delay"
  1107.     SrcPort     1
  1108.     DstBlock     "RelationalnOperator1"
  1109.     DstPort     1
  1110.     }
  1111.     Line {
  1112.     SrcBlock     "in_1"
  1113.     SrcPort     1
  1114.     Points     [10, 0]
  1115.     Branch {
  1116.     DstBlock     "RelationalnOperator"
  1117.     DstPort     1
  1118.     }
  1119.     Branch {
  1120.     Points     [0, 70]
  1121.     DstBlock     "Unit Delay"
  1122.     DstPort     1
  1123.     }
  1124.     }
  1125.   }
  1126. }
  1127. Block {
  1128.   BlockType   Outport
  1129.   Name   "out_1"
  1130.   Position   [355, 130, 375, 150]
  1131. }
  1132. Line {
  1133.   SrcBlock   "Zero-OrdernHold"
  1134.   SrcPort   1
  1135.   Points   [15, 0; 0, 30]
  1136.   DstBlock   "Switch"
  1137.   DstPort   1
  1138. }
  1139. Line {
  1140.   SrcBlock   "Product"
  1141.   SrcPort   1
  1142.   DstBlock   "Zero-OrdernHold"
  1143.   DstPort   1
  1144. }
  1145. Line {
  1146.   SrcBlock   "in_1"
  1147.   SrcPort   1
  1148.   Points   [35, 0]
  1149.   Branch {
  1150.     Points     [185, 0]
  1151.     DstBlock     "Switch"
  1152.     DstPort     3
  1153.   }
  1154.   Branch {
  1155.     Points     [0, -90]
  1156.     DstBlock     "Product"
  1157.     DstPort     2
  1158.   }
  1159. }
  1160. Line {
  1161.   SrcBlock   "Switch"
  1162.   SrcPort   1
  1163.   DstBlock   "out_1"
  1164.   DstPort   1
  1165. }
  1166. Line {
  1167.   SrcBlock   "Constant"
  1168.   SrcPort   1
  1169.   Points   [15, 0; 0, -25]
  1170.   DstBlock   "Switch"
  1171.   DstPort   2
  1172. }
  1173. Line {
  1174.   SrcBlock   "discretenRising edgendetector"
  1175.   SrcPort   1
  1176.   Points   [5, 0; 0, 55]
  1177.   DstBlock   "Product"
  1178.   DstPort   1
  1179. }
  1180. Line {
  1181.   SrcBlock   "in_2"
  1182.   SrcPort   1
  1183.   DstBlock   "discretenRising edgendetector"
  1184.   DstPort   1
  1185. }
  1186.       }
  1187.     }
  1188.     Block {
  1189.       BlockType       SubSystem
  1190.       Name       "Pulses deividensame sample time1"
  1191.       Ports       [0, 1]
  1192.       Position       [35, 71, 95, 109]
  1193.       ShowPortLabels       off
  1194.       TreatAsAtomicUnit       off
  1195.       MaskType       "Pulse generator"
  1196.       MaskDescription       "Vector pulses with sample rate of each "
  1197. "pulse as Sample_time ./Divider. "
  1198.       MaskHelp       "This block generator a vector pulses. T"
  1199. "he output length is the same as the vector defined in "Divider". The ith el"
  1200. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  1201. "in "Divider" must be integers."
  1202.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  1203. "eger vector):|Offset (have same dimension as Divider:"
  1204.       MaskStyleString       "edit,edit,edit"
  1205.       MaskTunableValueString  "on,on,on"
  1206.       MaskCallbackString      "||"
  1207.       MaskEnableString       "on,on,on"
  1208.       MaskVisibilityString    "on,on,on"
  1209.       MaskToolTipString       "on,on,on"
  1210.       MaskVarAliasString      ",,"
  1211.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  1212.       MaskDisplay       "disp('Vector\nPulse')"
  1213.       MaskIconFrame       on
  1214.       MaskIconOpaque       on
  1215.       MaskIconRotate       "none"
  1216.       MaskIconUnits       "autoscale"
  1217.       MaskValueString       "td|1|off"
  1218.       System {
  1219. Name "Pulses deividensame sample time1"
  1220. Location [55, 192, 283, 286]
  1221. Open off
  1222. ModelBrowserVisibility off
  1223. ModelBrowserWidth 200
  1224. ScreenColor "white"
  1225. PaperOrientation "landscape"
  1226. PaperPositionMode "auto"
  1227. PaperType "usletter"
  1228. PaperUnits "inches"
  1229. ZoomFactor "100"
  1230. Block {
  1231.   BlockType   "S-Function"
  1232.   Name   "S-function1"
  1233.   Ports   [0, 1]
  1234.   Position   [40, 31, 105, 59]
  1235.   FunctionName   "homopuls"
  1236.   Parameters   "samp_time, out_divid, offset"
  1237. }
  1238. Block {
  1239.   BlockType   Outport
  1240.   Name   "Outport"
  1241.   Position   [160, 35, 180, 55]
  1242. }
  1243. Line {
  1244.   SrcBlock   "S-function1"
  1245.   SrcPort   1
  1246.   DstBlock   "Outport"
  1247.   DstPort   1
  1248. }
  1249.       }
  1250.     }
  1251.     Block {
  1252.       BlockType       Outport
  1253.       Name       "out_1"
  1254.       Position       [330, 40, 350, 60]
  1255.     }
  1256.     Line {
  1257.       SrcBlock       "Pulses deividensame sample time1"
  1258.       SrcPort       1
  1259.       Points       [15, 0; 0, -30]
  1260.       DstBlock       "Memory Impulse"
  1261.       DstPort       2
  1262.     }
  1263.     Line {
  1264.       SrcBlock       "Memory Impulse"
  1265.       SrcPort       1
  1266.       DstBlock       "Filter"
  1267.       DstPort       1
  1268.     }
  1269.     Line {
  1270.       SrcBlock       "in_1"
  1271.       SrcPort       1
  1272.       DstBlock       "Memory Impulse"
  1273.       DstPort       1
  1274.     }
  1275.     Line {
  1276.       SrcBlock       "Filter"
  1277.       SrcPort       1
  1278.       DstBlock       "out_1"
  1279.       DstPort       1
  1280.     }
  1281.   }
  1282. }
  1283. Block {
  1284.   BlockType   SubSystem
  1285.   Name   "Root-RCnreceive filter_"
  1286.   Ports   [1, 1]
  1287.   Position   [475, 203, 555, 247]
  1288.   ShowPortLabels   off
  1289.   TreatAsAtomicUnit   off
  1290.   MaskType   "R-C filter"
  1291.   MaskDescription   "Design a raised cosine filter and use it to"
  1292. " filter the input signal."
  1293.   MaskHelp   "This block designs a raised cosine filter u"
  1294. "sing the specified parameter. The filter is used to filter the input signal. "
  1295. "You can optionally use the sinc filter in the filtering computation."
  1296.   MaskPromptString   "Symbol interval (sec):|Computation sampling"
  1297. " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
  1298. "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
  1299. "lter (1 or 0, suggest 1):"
  1300.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1301.   MaskTunableValueString  "on,on,on,on,on,on"
  1302.   MaskCallbackString   "|||||"
  1303.   MaskEnableString   "on,on,on,on,on,on"
  1304.   MaskVisibilityString   "on,on,on,on,on,on"
  1305.   MaskToolTipString   "on,on,on,on,on,on"
  1306.   MaskVarAliasString   ",,,,,"
  1307.   MaskInitialization   "td=@1;if length(td)>1,off=td(2);td=td(1);el"
  1308. "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
  1309. ",R,delay);x=@6/2;"
  1310.   MaskDisplay   "disp('R-C\nfilter')"
  1311.   MaskIconFrame   on
  1312.   MaskIconOpaque   on
  1313.   MaskIconRotate   "none"
  1314.   MaskIconUnits   "autoscale"
  1315.   MaskValueString   "1|.05|.5|6|'FIR/Sqrt'|0"
  1316.   System {
  1317.     Name     "Root-RCnreceive filter_"
  1318.     Location     [131, 545, 589, 761]
  1319.     Open     off
  1320.     ModelBrowserVisibility  off
  1321.     ModelBrowserWidth     200
  1322.     ScreenColor     "white"
  1323.     PaperOrientation     "landscape"
  1324.     PaperPositionMode     "auto"
  1325.     PaperType     "usletter"
  1326.     PaperUnits     "inches"
  1327.     ZoomFactor     "100"
  1328.     Block {
  1329.       BlockType       Inport
  1330.       Name       "in_1"
  1331.       Position       [35, 30, 55, 50]
  1332.     }
  1333.     Block {
  1334.       BlockType       DiscreteFilter
  1335.       Name       "Filter"
  1336.       Position       [255, 31, 310, 69]
  1337.       Numerator       "num"
  1338.       Denominator       "den"
  1339.       SampleTime       "ts"
  1340.     }
  1341.     Block {
  1342.       BlockType       SubSystem
  1343.       Name       "Memory Impulse"
  1344.       Ports       [2, 1]
  1345.       Position       [155, 30, 225, 70]
  1346.       ShowPortLabels       off
  1347.       TreatAsAtomicUnit       off
  1348.       MaskType       "Impulse"
  1349.       MaskDescription       "1/sinc filter:"
  1350.       MaskHelp       "When the threshold is greater than zero"
  1351. ", this block outputs an impulse signal, which begins at the raising edge of t"
  1352. "he second input and lasts the holding time. The impulse holds a constant ampl"
  1353. "itude, which equals the amplitude of the first input at the begining of the i"
  1354. "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
  1355. " less or equal to zero, this block faithfully outputs the first input."
  1356.       MaskPromptString       "Holding time:|Threshold for clock pulse"
  1357. ": "
  1358.       MaskStyleString       "edit,edit"
  1359.       MaskTunableValueString  "on,on"
  1360.       MaskCallbackString      "|"
  1361.       MaskEnableString       "on,on"
  1362.       MaskVisibilityString    "on,on"
  1363.       MaskToolTipString       "on,on"
  1364.       MaskVarAliasString      ","
  1365.       MaskInitialization      "ts=@1;thr=@2;x=thr>0;"
  1366.       MaskDisplay       "disp('1/sinc')"
  1367.       MaskIconFrame       on
  1368.       MaskIconOpaque       on
  1369.       MaskIconRotate       "none"
  1370.       MaskIconUnits       "autoscale"
  1371.       MaskValueString       "ts|x"
  1372.       System {
  1373. Name "Memory Impulse"
  1374. Location [541, 520, 939, 745]
  1375. Open off
  1376. ModelBrowserVisibility off
  1377. ModelBrowserWidth 200
  1378. ScreenColor "white"
  1379. PaperOrientation "landscape"
  1380. PaperPositionMode "auto"
  1381. PaperType "usletter"
  1382. PaperUnits "inches"
  1383. ZoomFactor "100"
  1384. Block {
  1385.   BlockType   Inport
  1386.   Name   "in_1"
  1387.   Position   [35, 185, 55, 205]
  1388. }
  1389. Block {
  1390.   BlockType   Inport
  1391.   Name   "in_2"
  1392.   Position   [25, 30, 45, 50]
  1393.   Port   "2"
  1394. }
  1395. Block {
  1396.   BlockType   Constant
  1397.   Name   "Constant"
  1398.   Position   [210, 155, 230, 175]
  1399.   Value   "x"
  1400. }
  1401. Block {
  1402.   BlockType   Product
  1403.   Name   "Product"
  1404.   Ports   [2, 1]
  1405.   Position   [155, 90, 180, 110]
  1406. }
  1407. Block {
  1408.   BlockType   Switch
  1409.   Name   "Switch"
  1410.   Position   [295, 124, 320, 156]
  1411.   Threshold   ".5"
  1412. }
  1413. Block {
  1414.   BlockType   ZeroOrderHold
  1415.   Name   "Zero-OrdernHold"
  1416.   Position   [205, 84, 240, 116]
  1417.   SampleTime   "ts"
  1418. }
  1419. Block {
  1420.   BlockType   SubSystem
  1421.   Name   "discretenRising edgendetector"
  1422.   Ports   [1, 1]
  1423.   Position   [65, 26, 120, 54]
  1424.   ShowPortLabels   off
  1425.   TreatAsAtomicUnit   off
  1426.   MaskType   "Edge Detection"
  1427.   MaskDescription   "Rising edge detection:"
  1428.   MaskHelp   "When the input signal rising edge p"
  1429. "assed the given shreshold, this block outputs one, otherwise outputs zero."
  1430.   MaskPromptString   "Threshold:|Sampling time:"
  1431.   MaskStyleString   "edit,edit"
  1432.   MaskTunableValueString  "on,on"
  1433.   MaskCallbackString   "|"
  1434.   MaskEnableString   "on,on"
  1435.   MaskVisibilityString   "on,on"
  1436.   MaskToolTipString   "on,on"
  1437.   MaskVarAliasString   ","
  1438.   MaskInitialization   "thld=@1;ts=@2;"
  1439.   MaskDisplay   "disp('Edge\nDetector')"
  1440.   MaskIconFrame   on
  1441.   MaskIconOpaque   on
  1442.   MaskIconRotate   "none"
  1443.   MaskIconUnits   "autoscale"
  1444.   MaskValueString   "thr|ts"
  1445.   System {
  1446.     Name     "discretenRising edgendetector"
  1447.     Location     [419, 521, 808, 713]
  1448.     Open     off
  1449.     ModelBrowserVisibility  off
  1450.     ModelBrowserWidth     200
  1451.     ScreenColor     "white"
  1452.     PaperOrientation     "landscape"
  1453.     PaperPositionMode     "auto"
  1454.     PaperType     "usletter"
  1455.     PaperUnits     "inches"
  1456.     ZoomFactor     "100"
  1457.     Block {
  1458.     BlockType     Inport
  1459.     Name     "in_1"
  1460.     Position     [10, 15, 30, 35]
  1461.     }
  1462.     Block {
  1463.     BlockType     RelationalOperator
  1464.     Name     "RelationalnOperator"
  1465.     Position     [135, 18, 165, 42]
  1466.     }
  1467.     Block {
  1468.     BlockType     RelationalOperator
  1469.     Name     "RelationalnOperator1"
  1470.     Position     [200, 88, 230, 112]
  1471.     }
  1472.     Block {
  1473.     BlockType     RelationalOperator
  1474.     Name     "RelationalnOperator2"
  1475.     Position     [265, 23, 295, 47]
  1476.     Operator     ">"
  1477.     }
  1478.     Block {
  1479.     BlockType     UnitDelay
  1480.     Name     "Unit Delay"
  1481.     Position     [120, 87, 170, 103]
  1482.     SampleTime     "ts"
  1483.     }
  1484.     Block {
  1485.     BlockType     Constant
  1486.     Name     "one1"
  1487.     Position     [30, 135, 60, 155]
  1488.     Value     "thld"
  1489.     }
  1490.     Block {
  1491.     BlockType     Outport
  1492.     Name     "out_1"
  1493.     Position     [340, 25, 360, 45]
  1494.     }
  1495.     Line {
  1496.     SrcBlock     "in_1"
  1497.     SrcPort     1
  1498.     Points     [10, 0]
  1499.     Branch {
  1500.     DstBlock     "RelationalnOperator"
  1501.     DstPort     1
  1502.     }
  1503.     Branch {
  1504.     Points     [0, 70]
  1505.     DstBlock     "Unit Delay"
  1506.     DstPort     1
  1507.     }
  1508.     }
  1509.     Line {
  1510.     SrcBlock     "Unit Delay"
  1511.     SrcPort     1
  1512.     DstBlock     "RelationalnOperator1"
  1513.     DstPort     1
  1514.     }
  1515.     Line {
  1516.     SrcBlock     "one1"
  1517.     SrcPort     1
  1518.     Points     [35, 0]
  1519.     Branch {
  1520.     Points     [0, -110]
  1521.     DstBlock     "RelationalnOperator"
  1522.     DstPort     2
  1523.     }
  1524.     Branch {
  1525.     Points     [80, 0; 0, -40]
  1526.     DstBlock     "RelationalnOperator1"
  1527.     DstPort     2
  1528.     }
  1529.     }
  1530.     Line {
  1531.     SrcBlock     "RelationalnOperator"
  1532.     SrcPort     1
  1533.     DstBlock     "RelationalnOperator2"
  1534.     DstPort     1
  1535.     }
  1536.     Line {
  1537.     SrcBlock     "RelationalnOperator1"
  1538.     SrcPort     1
  1539.     Points     [5, 0; 0, -60]
  1540.     DstBlock     "RelationalnOperator2"
  1541.     DstPort     2
  1542.     }
  1543.     Line {
  1544.     SrcBlock     "RelationalnOperator2"
  1545.     SrcPort     1
  1546.     DstBlock     "out_1"
  1547.     DstPort     1
  1548.     }
  1549.   }
  1550. }
  1551. Block {
  1552.   BlockType   Outport
  1553.   Name   "out_1"
  1554.   Position   [355, 130, 375, 150]
  1555. }
  1556. Line {
  1557.   SrcBlock   "in_2"
  1558.   SrcPort   1
  1559.   DstBlock   "discretenRising edgendetector"
  1560.   DstPort   1
  1561. }
  1562. Line {
  1563.   SrcBlock   "discretenRising edgendetector"
  1564.   SrcPort   1
  1565.   Points   [5, 0; 0, 55]
  1566.   DstBlock   "Product"
  1567.   DstPort   1
  1568. }
  1569. Line {
  1570.   SrcBlock   "Constant"
  1571.   SrcPort   1
  1572.   Points   [15, 0; 0, -25]
  1573.   DstBlock   "Switch"
  1574.   DstPort   2
  1575. }
  1576. Line {
  1577.   SrcBlock   "Switch"
  1578.   SrcPort   1
  1579.   DstBlock   "out_1"
  1580.   DstPort   1
  1581. }
  1582. Line {
  1583.   SrcBlock   "in_1"
  1584.   SrcPort   1
  1585.   Points   [35, 0]
  1586.   Branch {
  1587.     Points     [185, 0]
  1588.     DstBlock     "Switch"
  1589.     DstPort     3
  1590.   }
  1591.   Branch {
  1592.     Points     [0, -90]
  1593.     DstBlock     "Product"
  1594.     DstPort     2
  1595.   }
  1596. }
  1597. Line {
  1598.   SrcBlock   "Product"
  1599.   SrcPort   1
  1600.   DstBlock   "Zero-OrdernHold"
  1601.   DstPort   1
  1602. }
  1603. Line {
  1604.   SrcBlock   "Zero-OrdernHold"
  1605.   SrcPort   1
  1606.   Points   [15, 0; 0, 30]
  1607.   DstBlock   "Switch"
  1608.   DstPort   1
  1609. }
  1610.       }
  1611.     }
  1612.     Block {
  1613.       BlockType       SubSystem
  1614.       Name       "Pulses deividensame sample time1"
  1615.       Ports       [0, 1]
  1616.       Position       [35, 71, 95, 109]
  1617.       ShowPortLabels       off
  1618.       TreatAsAtomicUnit       off
  1619.       MaskType       "Pulse generator"
  1620.       MaskDescription       "Vector pulses with sample rate of each "
  1621. "pulse as Sample_time ./Divider. "
  1622.       MaskHelp       "This block generator a vector pulses. T"
  1623. "he output length is the same as the vector defined in "Divider". The ith el"
  1624. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  1625. "in "Divider" must be integers."
  1626.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  1627. "eger vector):|Offset (have same dimension as Divider:"
  1628.       MaskStyleString       "edit,edit,edit"
  1629.       MaskTunableValueString  "on,on,on"
  1630.       MaskCallbackString      "||"
  1631.       MaskEnableString       "on,on,on"
  1632.       MaskVisibilityString    "on,on,on"
  1633.       MaskToolTipString       "on,on,on"
  1634.       MaskVarAliasString      ",,"
  1635.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  1636.       MaskDisplay       "disp('Vector\nPulse')"
  1637.       MaskIconFrame       on
  1638.       MaskIconOpaque       on
  1639.       MaskIconRotate       "none"
  1640.       MaskIconUnits       "autoscale"
  1641.       MaskValueString       "td|1|off"
  1642.       System {
  1643. Name "Pulses deividensame sample time1"
  1644. Location [55, 192, 283, 286]
  1645. Open off
  1646. ModelBrowserVisibility off
  1647. ModelBrowserWidth 200
  1648. ScreenColor "white"
  1649. PaperOrientation "landscape"
  1650. PaperPositionMode "auto"
  1651. PaperType "usletter"
  1652. PaperUnits "inches"
  1653. ZoomFactor "100"
  1654. Block {
  1655.   BlockType   "S-Function"
  1656.   Name   "S-function1"
  1657.   Ports   [0, 1]
  1658.   Position   [40, 31, 105, 59]
  1659.   FunctionName   "homopuls"
  1660.   Parameters   "samp_time, out_divid, offset"
  1661. }
  1662. Block {
  1663.   BlockType   Outport
  1664.   Name   "Outport"
  1665.   Position   [160, 35, 180, 55]
  1666. }
  1667. Line {
  1668.   SrcBlock   "S-function1"
  1669.   SrcPort   1
  1670.   DstBlock   "Outport"
  1671.   DstPort   1
  1672. }
  1673.       }
  1674.     }
  1675.     Block {
  1676.       BlockType       Outport
  1677.       Name       "out_1"
  1678.       Position       [330, 40, 350, 60]
  1679.     }
  1680.     Line {
  1681.       SrcBlock       "Filter"
  1682.       SrcPort       1
  1683.       DstBlock       "out_1"
  1684.       DstPort       1
  1685.     }
  1686.     Line {
  1687.       SrcBlock       "in_1"
  1688.       SrcPort       1
  1689.       DstBlock       "Memory Impulse"
  1690.       DstPort       1
  1691.     }
  1692.     Line {
  1693.       SrcBlock       "Memory Impulse"
  1694.       SrcPort       1
  1695.       DstBlock       "Filter"
  1696.       DstPort       1
  1697.     }
  1698.     Line {
  1699.       SrcBlock       "Pulses deividensame sample time1"
  1700.       SrcPort       1
  1701.       Points       [15, 0; 0, -30]
  1702.       DstBlock       "Memory Impulse"
  1703.       DstPort       2
  1704.     }
  1705.   }
  1706. }
  1707. Block {
  1708.   BlockType   TransportDelay
  1709.   Name   "TransportnDelay"
  1710.   Position   [365, 75, 405, 105]
  1711.   DelayTime   ".4999"
  1712.   BufferSize   "200"
  1713. }
  1714. Block {
  1715.   BlockType   SubSystem
  1716.   Name   "close receiver"
  1717.   Ports   []
  1718.   Position   [805, 15, 940, 41]
  1719.   BackgroundColor   "lightBlue"
  1720.   ShowName   off
  1721.   OpenFcn   "closerec"
  1722.   FontSize   12
  1723.   FontAngle   "italic"
  1724.   ShowPortLabels   off
  1725.   TreatAsAtomicUnit   off
  1726.   MaskType   "close"
  1727.   MaskDisplay   "disp('close receiver')"
  1728.   MaskIconFrame   on
  1729.   MaskIconOpaque   on
  1730.   MaskIconRotate   "none"
  1731.   MaskIconUnits   "autoscale"
  1732.   System {
  1733.     Name     "close receiver"
  1734.     Location     [136, 230, 381, 439]
  1735.     Open     off
  1736.     ModelBrowserVisibility  off
  1737.     ModelBrowserWidth     200
  1738.     ScreenColor     "cyan"
  1739.     PaperOrientation     "landscape"
  1740.     PaperPositionMode     "auto"
  1741.     PaperType     "usletter"
  1742.     PaperUnits     "inches"
  1743.     ZoomFactor     "100"
  1744.   }
  1745. }
  1746. Block {
  1747.   BlockType   SubSystem
  1748.   Name   "noise variance"
  1749.   Ports   []
  1750.   Position   [29, 240, 135, 264]
  1751.   BackgroundColor   "lightBlue"
  1752.   ShowName   off
  1753.   OpenFcn   "setnoise"
  1754.   FontSize   12
  1755.   FontAngle   "italic"
  1756.   ShowPortLabels   off
  1757.   TreatAsAtomicUnit   off
  1758.   MaskType   "noise"
  1759.   MaskDisplay   "disp('Noise variance')"
  1760.   MaskIconFrame   on
  1761.   MaskIconOpaque   on
  1762.   MaskIconRotate   "none"
  1763.   MaskIconUnits   "autoscale"
  1764.   System {
  1765.     Name     "noise variance"
  1766.     Location     [136, 230, 381, 439]
  1767.     Open     off
  1768.     ModelBrowserVisibility  off
  1769.     ModelBrowserWidth     200
  1770.     ScreenColor     "cyan"
  1771.     PaperOrientation     "landscape"
  1772.     PaperPositionMode     "auto"
  1773.     PaperType     "usletter"
  1774.     PaperUnits     "inches"
  1775.     ZoomFactor     "100"
  1776.   }
  1777. }
  1778. Block {
  1779.   BlockType   Scope
  1780.   Name   "r(t)"
  1781.   Ports   [1]
  1782.   Position   [60, 70, 90, 100]
  1783.   Orientation   "up"
  1784.   Location   [320, 340, 960, 440]
  1785.   Open   off
  1786.   NumInputPorts   "1"
  1787.   List {
  1788.     ListType     AxesTitles
  1789.     axes1     "%<SignalLabel>"
  1790.   }
  1791.   TimeRange   "25.000000"
  1792.   YMin   "-1.500000"
  1793.   YMax   "1.500000"
  1794.   DataFormat   "Array"
  1795. }
  1796. Block {
  1797.   BlockType   SubSystem
  1798.   Name   "receiver diagrams"
  1799.   Ports   [2]
  1800.   Position   [725, 15, 780, 55]
  1801.   ShowPortLabels   off
  1802.   TreatAsAtomicUnit   off
  1803.   MaskType   "2D-Diagrams"
  1804.   MaskDescription   "Eye pattern, signal space trajectory and sc"
  1805. "atter plot"
  1806.   MaskPromptString   "Plot start time:|Samples per time slot (2*T"
  1807. "):|Decision offset:"
  1808.   MaskStyleString   "edit,edit,edit"
  1809.   MaskTunableValueString  "on,on,on"
  1810.   MaskCallbackString   "||"
  1811.   MaskEnableString   "on,on,on"
  1812.   MaskVisibilityString   "on,on,on"
  1813.   MaskToolTipString   "on,on,on"
  1814.   MaskVarAliasString   ",,"
  1815.   MaskVariables   "starttime=@1;anzahl=@2;offset=@3;"
  1816.   MaskInitialization   " [x, y] = srcsicon(10);"
  1817.   MaskDisplay   "plot(0,0,100,100,x,y)"
  1818.   MaskIconFrame   on
  1819.   MaskIconOpaque   on
  1820.   MaskIconRotate   "none"
  1821.   MaskIconUnits   "autoscale"
  1822.   MaskValueString   "12.5001|40|0"
  1823.   System {
  1824.     Name     "receiver diagrams"
  1825.     Location     [454, 400, 866, 693]
  1826.     Open     off
  1827.     ModelBrowserVisibility  off
  1828.     ModelBrowserWidth     200
  1829.     ScreenColor     "white"
  1830.     PaperOrientation     "landscape"
  1831.     PaperPositionMode     "auto"
  1832.     PaperType     "usletter"
  1833.     PaperUnits     "inches"
  1834.     ZoomFactor     "100"
  1835.     Block {
  1836.       BlockType       Inport
  1837.       Name       "Inphase"
  1838.       Position       [30, 25, 50, 45]
  1839.     }
  1840.     Block {
  1841.       BlockType       Inport
  1842.       Name       "Quadratur"
  1843.       Position       [30, 80, 50, 100]
  1844.       Port       "2"
  1845.     }
  1846.     Block {
  1847.       BlockType       Constant
  1848.       Name       "Constant"
  1849.       Position       [90, 125, 110, 145]
  1850.       Orientation       "up"
  1851.       ShowName       off
  1852.       Value       "Inf"
  1853.     }
  1854.     Block {
  1855.       BlockType       Constant
  1856.       Name       "Constant0"
  1857.       Position       [190, 125, 210, 145]
  1858.       Orientation       "up"
  1859.       ShowName       off
  1860.       Value       "0"
  1861.     }
  1862.     Block {
  1863.       BlockType       SubSystem
  1864.       Name       "Inphase eye patternnreceiver"
  1865.       Ports       [1]
  1866.       Position       [305, 12, 360, 48]
  1867.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1868.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1869.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1870.       StartFcn       "eyesampl([],[],[],'Start')"
  1871.       StopFcn       "eyesampl([],[],[],'Stop')"
  1872.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1873.       ShowPortLabels       off
  1874.       TreatAsAtomicUnit       off
  1875.       MaskType       "Eye-diagram/scatter plot"
  1876.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1877. "ter plot."
  1878.       MaskHelp       "This plot opens one, or two plots by as"
  1879. "signing the line type parameters. The scatter plot point is selected by the d"
  1880. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1881. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1882.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1883. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1884. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1885. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1886.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1887.       MaskTunableValueString  "on,on,on,on,on,on"
  1888.       MaskCallbackString      "|||||"
  1889.       MaskEnableString       "on,on,on,on,on,on"
  1890.       MaskVisibilityString    "on,on,on,on,on,on"
  1891.       MaskToolTipString       "on,on,on,on,on,on"
  1892.       MaskVarAliasString      ",,,,,"
  1893.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1894. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1895.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1896.       MaskIconFrame       on
  1897.       MaskIconOpaque       on
  1898.       MaskIconRotate       "none"
  1899.       MaskIconUnits       "autoscale"
  1900.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  1901. "/anzahl"
  1902.       System {
  1903. Name "Inphase eye patternnreceiver"
  1904. Location [121, 409, 416, 595]
  1905. Open off
  1906. ModelBrowserVisibility off
  1907. ModelBrowserWidth 200
  1908. ScreenColor "white"
  1909. PaperOrientation "landscape"
  1910. PaperPositionMode "auto"
  1911. PaperType "usletter"
  1912. PaperUnits "inches"
  1913. ZoomFactor "100"
  1914. Block {
  1915.   BlockType   Inport
  1916.   Name   "in_1"
  1917.   Position   [75, 80, 95, 100]
  1918. }
  1919. Block {
  1920.   BlockType   "S-Function"
  1921.   Name   "Plot1"
  1922.   Ports   [1]
  1923.   Position   [130, 70, 200, 110]
  1924.   FunctionName   "eyesampl"
  1925.   Parameters   "time_range, boundary, kept_length, "
  1926. "eye_line, scatter_line, two_d_line"
  1927. }
  1928. Line {
  1929.   SrcBlock   "in_1"
  1930.   SrcPort   1
  1931.   DstBlock   "Plot1"
  1932.   DstPort   1
  1933. }
  1934.       }
  1935.     }
  1936.     Block {
  1937.       BlockType       Mux
  1938.       Name       "Mux"
  1939.       Ports       [2, 1]
  1940.       Position       [230, 21, 265, 54]
  1941.       Inputs       "2"
  1942.     }
  1943.     Block {
  1944.       BlockType       Mux
  1945.       Name       "Mux1"
  1946.       Ports       [2, 1]
  1947.       Position       [230, 76, 265, 109]
  1948.       Inputs       "2"
  1949.     }
  1950.     Block {
  1951.       BlockType       Mux
  1952.       Name       "Mux2"
  1953.       Ports       [2, 1]
  1954.       Position       [230, 146, 265, 179]
  1955.       Inputs       "2"
  1956.     }
  1957.     Block {
  1958.       BlockType       Mux
  1959.       Name       "Mux3"
  1960.       Ports       [2, 1]
  1961.       Position       [230, 211, 265, 244]
  1962.       Inputs       "2"
  1963.     }
  1964.     Block {
  1965.       BlockType       SubSystem
  1966.       Name       "Quadrature eye patternnreceiver"
  1967.       Ports       [1]
  1968.       Position       [305, 77, 360, 113]
  1969.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1970.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1971.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1972.       StartFcn       "eyesampl([],[],[],'Start')"
  1973.       StopFcn       "eyesampl([],[],[],'Stop')"
  1974.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1975.       ShowPortLabels       off
  1976.       TreatAsAtomicUnit       off
  1977.       MaskType       "Eye-diagram/scatter plot"
  1978.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1979. "ter plot."
  1980.       MaskHelp       "This plot opens one, or two plots by as"
  1981. "signing the line type parameters. The scatter plot point is selected by the d"
  1982. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1983. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1984.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1985. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1986. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1987. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1988.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1989.       MaskTunableValueString  "on,on,on,on,on,on"
  1990.       MaskCallbackString      "|||||"
  1991.       MaskEnableString       "on,on,on,on,on,on"
  1992.       MaskVisibilityString    "on,on,on,on,on,on"
  1993.       MaskToolTipString       "on,on,on,on,on,on"
  1994.       MaskVarAliasString      ",,,,,"
  1995.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1996. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1997.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1998.       MaskIconFrame       on
  1999.       MaskIconOpaque       on
  2000.       MaskIconRotate       "none"
  2001.       MaskIconUnits       "autoscale"
  2002.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  2003. "/anzahl"
  2004.       System {
  2005. Name "Quadrature eye patternnreceiver"
  2006. Location [121, 409, 416, 595]
  2007. Open off
  2008. ModelBrowserVisibility off
  2009. ModelBrowserWidth 200
  2010. ScreenColor "white"
  2011. PaperOrientation "landscape"
  2012. PaperPositionMode "auto"
  2013. PaperType "usletter"
  2014. PaperUnits "inches"
  2015. ZoomFactor "100"
  2016. Block {
  2017.   BlockType   Inport
  2018.   Name   "in_1"
  2019.   Position   [75, 80, 95, 100]
  2020. }
  2021. Block {
  2022.   BlockType   "S-Function"
  2023.   Name   "Plot1"
  2024.   Ports   [1]
  2025.   Position   [130, 70, 200, 110]
  2026.   FunctionName   "eyesampl"
  2027.   Parameters   "time_range, boundary, kept_length, "
  2028. "eye_line, scatter_line, two_d_line"
  2029. }
  2030. Line {
  2031.   SrcBlock   "in_1"
  2032.   SrcPort   1
  2033.   DstBlock   "Plot1"
  2034.   DstPort   1
  2035. }
  2036.       }
  2037.     }
  2038.     Block {
  2039.       BlockType       SubSystem
  2040.       Name       "Scatter plotnreceiver"
  2041.       Ports       [1]
  2042.       Position       [305, 213, 360, 247]
  2043.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  2044.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  2045.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  2046.       StartFcn       "eyesampl([],[],[],'Start')"
  2047.       StopFcn       "eyesampl([],[],[],'Stop')"
  2048.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  2049.       ShowPortLabels       off
  2050.       TreatAsAtomicUnit       off
  2051.       MaskType       "Eye-diagram/scatter plot"
  2052.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  2053. "ter plot."
  2054.       MaskHelp       "This plot opens one, or two plots by as"
  2055. "signing the line type parameters. The scatter plot point is selected by the d"
  2056. "ecision point in the first parameter entry. A decision line is drawn in the e"
  2057. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  2058.       MaskPromptString       "[Symbol interval, plot offset, decision"
  2059. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  2060. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  2061. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  2062.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  2063.       MaskTunableValueString  "on,on,on,on,on,on"
  2064.       MaskCallbackString      "|||||"
  2065.       MaskEnableString       "on,on,on,on,on,on"
  2066.       MaskVisibilityString    "on,on,on,on,on,on"
  2067.       MaskToolTipString       "on,on,on,on,on,on"
  2068.       MaskVarAliasString      ",,,,,"
  2069.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  2070. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2071.       MaskDisplay       "plot(0,0,100,100,x,y);"
  2072.       MaskIconFrame       on
  2073.       MaskIconOpaque       on
  2074.       MaskIconRotate       "none"
  2075.       MaskIconUnits       "autoscale"
  2076.       MaskValueString       "[1 .0 .5]|[-1.5 1.5]|0|0|'b.'|[.5 offse"
  2077. "t]"
  2078.       System {
  2079. Name "Scatter plotnreceiver"
  2080. Location [165, 242, 460, 428]
  2081. Open off
  2082. ModelBrowserVisibility off
  2083. ModelBrowserWidth 200
  2084. ScreenColor "white"
  2085. PaperOrientation "landscape"
  2086. PaperPositionMode "auto"
  2087. PaperType "usletter"
  2088. PaperUnits "inches"
  2089. ZoomFactor "100"
  2090. Block {
  2091.   BlockType   Inport
  2092.   Name   "in_1"
  2093.   Position   [75, 80, 95, 100]
  2094. }
  2095. Block {
  2096.   BlockType   "S-Function"
  2097.   Name   "Plot1"
  2098.   Ports   [1]
  2099.   Position   [130, 70, 200, 110]
  2100.   FunctionName   "eyesampl"
  2101.   Parameters   "time_range, boundary, kept_length, "
  2102. "eye_line, scatter_line, two_d_line"
  2103. }
  2104. Line {
  2105.   SrcBlock   "in_1"
  2106.   SrcPort   1
  2107.   DstBlock   "Plot1"
  2108.   DstPort   1
  2109. }
  2110.       }
  2111.     }
  2112.     Block {
  2113.       BlockType       Step
  2114.       Name       "Step input"
  2115.       Position       [30, 125, 50, 145]
  2116.       Time       "starttime"
  2117.       SampleTime       "1"
  2118.     }
  2119.     Block {
  2120.       BlockType       Switch
  2121.       Name       "Switch"
  2122.       Position       [130, 29, 155, 61]
  2123.       Threshold       "1"
  2124.     }
  2125.     Block {
  2126.       BlockType       Switch
  2127.       Name       "Switch1"
  2128.       Position       [130, 84, 155, 116]
  2129.       Threshold       "1"
  2130.     }
  2131.     Block {
  2132.       BlockType       SubSystem
  2133.       Name       "Trajectory nreceiver"
  2134.       Ports       [1]
  2135.       Position       [305, 157, 360, 193]
  2136.       CopyFcn       "eyediasi([],[],[],'CopyBlock')"
  2137.       DeleteFcn       "eyediasi([],[],[],'DeleteBlock')"
  2138.       LoadFcn       "eyediasi([],[],[],'LoadBlock')"
  2139.       StartFcn       "eyediasi([],[],[],'Start')"
  2140.       StopFcn       "eyediasi([],[],[],'Stop')"
  2141.       NameChangeFcn       "eyediasi([],[],[],'NameChange')"
  2142.       ShowPortLabels       off
  2143.       TreatAsAtomicUnit       off
  2144.       MaskType       "Eye-diagram/scatter plot"
  2145.       MaskDescription       "Produce eye-pattern diagram/scatternpl"
  2146. "ot/x-y plot with the rising edge of the second input as the decision line."
  2147.       MaskHelp       "This plot opens one, two, or three plot"
  2148. "s by assigning the line type parameters. The scatter plot point is selected b"
  2149. "y the rising edge of a trigger signal. A decision line is drawn at the rising"
  2150. " edge of the trigger signal."
  2151.       MaskPromptString       "Eye-pattern plot time frame:|Lower and "
  2152. "upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-ty"
  2153. "pe for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for"
  2154. " no plot):|Line-type for x-y plot (0 for no plot):"
  2155.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  2156.       MaskTunableValueString  "on,on,on,on,on,on"
  2157.       MaskCallbackString      "|||||"
  2158.       MaskEnableString       "on,on,on,on,on,on"
  2159.       MaskVisibilityString    "on,on,on,on,on,on"
  2160.       MaskToolTipString       "on,on,on,on,on,on"
  2161.       MaskVarAliasString      ",,,,,"
  2162.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  2163. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon"
  2164. "(0,25,get_param(gcb,'orientation'),2);"
  2165.       MaskDisplay       "plot(0,0,100,100,x,y,v,w);"
  2166.       MaskIconFrame       on
  2167.       MaskIconOpaque       on
  2168.       MaskIconRotate       "none"
  2169.       MaskIconUnits       "autoscale"
  2170.       MaskValueString       "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  2171.       System {
  2172. Name "Trajectory nreceiver"
  2173. Location [165, 242, 460, 428]
  2174. Open off
  2175. ModelBrowserVisibility off
  2176. ModelBrowserWidth 200
  2177. ScreenColor "white"
  2178. PaperOrientation "landscape"
  2179. PaperPositionMode "auto"
  2180. PaperType "usletter"
  2181. PaperUnits "inches"
  2182. ZoomFactor "100"
  2183. Block {
  2184.   BlockType   Inport
  2185.   Name   "in_1"
  2186.   Position   [15, 55, 35, 75]
  2187. }
  2188. Block {
  2189.   BlockType   Constant
  2190.   Name   "Constant"
  2191.   Position   [15, 110, 45, 140]
  2192.   Value   "0"
  2193. }
  2194. Block {
  2195.   BlockType   Mux
  2196.   Name   "Mux"
  2197.   Ports   [2, 1]
  2198.   Position   [65, 70, 100, 105]
  2199.   Inputs   "2"
  2200. }
  2201. Block {
  2202.   BlockType   "S-Function"
  2203.   Name   "Plot1"
  2204.   Ports   [1]
  2205.   Position   [130, 70, 200, 110]
  2206.   FunctionName   "eyediasi"
  2207.   Parameters   "time_range, boundary, kept_length, "
  2208. "eye_line, scatter_line, two_d_line"
  2209. }
  2210. Line {
  2211.   SrcBlock   "in_1"
  2212.   SrcPort   1
  2213.   Points   [5, 0; 0, 15]
  2214.   DstBlock   "Mux"
  2215.   DstPort   1
  2216. }
  2217. Line {
  2218.   SrcBlock   "Constant"
  2219.   SrcPort   1
  2220.   DstBlock   "Mux"
  2221.   DstPort   2
  2222. }
  2223. Line {
  2224.   SrcBlock   "Mux"
  2225.   SrcPort   1
  2226.   DstBlock   "Plot1"
  2227.   DstPort   1
  2228. }
  2229.       }
  2230.     }
  2231.     Line {
  2232.       SrcBlock       "Switch"
  2233.       SrcPort       1
  2234.       Points       [10, 0]
  2235.       Branch {
  2236. DstBlock "Mux"
  2237. DstPort 2
  2238.       }
  2239.       Branch {
  2240. Points [0, 110]
  2241. Branch {
  2242.   Points   [0, 65]
  2243.   DstBlock   "Mux3"
  2244.   DstPort   1
  2245. }
  2246. Branch {
  2247.   DstBlock   "Mux2"
  2248.   DstPort   1
  2249. }
  2250.       }
  2251.     }
  2252.     Line {
  2253.       SrcBlock       "Switch1"
  2254.       SrcPort       1
  2255.       Points       [20, 0]
  2256.       Branch {
  2257. DstBlock "Mux1"
  2258. DstPort 2
  2259.       }
  2260.       Branch {
  2261. Points [0, 70]
  2262. Branch {
  2263.   Points   [0, 65]
  2264.   DstBlock   "Mux3"
  2265.   DstPort   2
  2266. }
  2267. Branch {
  2268.   DstBlock   "Mux2"
  2269.   DstPort   2
  2270. }
  2271.       }
  2272.     }
  2273.     Line {
  2274.       SrcBlock       "Constant0"
  2275.       SrcPort       1
  2276.       Points       [0, -35]
  2277.       Branch {
  2278. DstBlock "Mux1"
  2279. DstPort 1
  2280.       }
  2281.       Branch {
  2282. Points [0, -55]
  2283. DstBlock "Mux"
  2284. DstPort 1
  2285.       }
  2286.     }
  2287.     Line {
  2288.       SrcBlock       "Quadratur"
  2289.       SrcPort       1
  2290.       DstBlock       "Switch1"
  2291.       DstPort       1
  2292.     }
  2293.     Line {
  2294.       SrcBlock       "Inphase"
  2295.       SrcPort       1
  2296.       DstBlock       "Switch"
  2297.       DstPort       1
  2298.     }
  2299.     Line {
  2300.       SrcBlock       "Step input"
  2301.       SrcPort       1
  2302.       Points       [20, 0; 0, -35]
  2303.       Branch {
  2304. Points [0, -55]
  2305. DstBlock "Switch"
  2306. DstPort 2
  2307.       }
  2308.       Branch {
  2309. DstBlock "Switch1"
  2310. DstPort 2
  2311.       }
  2312.     }
  2313.     Line {
  2314.       SrcBlock       "Constant"
  2315.       SrcPort       1
  2316.       Points       [0, -10]
  2317.       Branch {
  2318. Points [0, -55]
  2319. DstBlock "Switch"
  2320. DstPort 3
  2321.       }
  2322.       Branch {
  2323. DstBlock "Switch1"
  2324. DstPort 3
  2325.       }
  2326.     }
  2327.     Line {
  2328.       SrcBlock       "Mux1"
  2329.       SrcPort       1
  2330.       DstBlock       "Quadrature eye patternnreceiver"
  2331.       DstPort       1
  2332.     }
  2333.     Line {
  2334.       SrcBlock       "Mux"
  2335.       SrcPort       1
  2336.       Points       [20, 0]
  2337.       DstBlock       "Inphase eye patternnreceiver"
  2338.       DstPort       1
  2339.     }
  2340.     Line {
  2341.       SrcBlock       "Mux3"
  2342.       SrcPort       1
  2343.       DstBlock       "Scatter plotnreceiver"
  2344.       DstPort       1
  2345.     }
  2346.     Line {
  2347.       SrcBlock       "Mux2"
  2348.       SrcPort       1
  2349.       Points       [20, 0]
  2350.       DstBlock       "Trajectory nreceiver"
  2351.       DstPort       1
  2352.     }
  2353.   }
  2354. }
  2355. Block {
  2356.   BlockType   Scope
  2357.   Name   "s_rc(t)"
  2358.   Ports   [1]
  2359.   Position   [615, 20, 645, 50]
  2360.   Orientation   "up"
  2361.   NamePlacement   "alternate"
  2362.   Location   [0, 540, 640, 640]
  2363.   Open   off
  2364.   NumInputPorts   "1"
  2365.   List {
  2366.     ListType     AxesTitles
  2367.     axes1     "%<SignalLabel>"
  2368.   }
  2369.   TimeRange   "25.000000"
  2370.   YMin   "-1.500000"
  2371.   YMax   "1.500000"
  2372.   DataFormat   "Array"
  2373. }
  2374. Block {
  2375.   BlockType   Scope
  2376.   Name   "s_rs(t)"
  2377.   Ports   [1]
  2378.   Position   [615, 155, 645, 185]
  2379.   Orientation   "up"
  2380.   NamePlacement   "alternate"
  2381.   Location   [640, 540, 1280, 640]
  2382.   Open   off
  2383.   NumInputPorts   "1"
  2384.   List {
  2385.     ListType     AxesTitles
  2386.     axes1     "%<SignalLabel>"
  2387.   }
  2388.   TimeRange   "25.000000"
  2389.   YMin   "-1.500000"
  2390.   YMax   "1.500000"
  2391.   DataFormat   "Array"
  2392. }
  2393. Block {
  2394.   BlockType   SubSystem
  2395.   Name   "thresholdndetector"
  2396.   Ports   [1, 1]
  2397.   Position   [725, 77, 755, 103]
  2398.   ShowPortLabels   off
  2399.   TreatAsAtomicUnit   off
  2400.   MaskType   "Sign"
  2401.   MaskDescription   "y = sign(x)"
  2402.   MaskHelp   "Sign Function:\n\t\t\ty = 1 if x > 0\n"
  2403. "\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
  2404.   MaskDisplay   "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-5"
  2405. "0,50],[-40,0],[-30,-30],[0,40],[30,30])"
  2406.   MaskIconFrame   on
  2407.   MaskIconOpaque   on
  2408.   MaskIconRotate   "none"
  2409.   MaskIconUnits   "autoscale"
  2410.   System {
  2411.     Name     "thresholdndetector"
  2412.     Location     [159, 417, 467, 586]
  2413.     Open     off
  2414.     ModelBrowserVisibility  off
  2415.     ModelBrowserWidth     200
  2416.     ScreenColor     "white"
  2417.     PaperOrientation     "landscape"
  2418.     PaperPositionMode     "auto"
  2419.     PaperType     "usletter"
  2420.     PaperUnits     "inches"
  2421.     ZoomFactor     "100"
  2422.     Block {
  2423.       BlockType       Inport
  2424.       Name       "in_1"
  2425.       Position       [35, 30, 55, 50]
  2426.     }
  2427.     Block {
  2428.       BlockType       Constant
  2429.       Name       "Constant"
  2430.       Position       [65, 105, 85, 125]
  2431.       Value       "0"
  2432.     }
  2433.     Block {
  2434.       BlockType       RelationalOperator
  2435.       Name       "RelationalnOperator"
  2436.       Position       [140, 32, 170, 63]
  2437.       Operator       ">"
  2438.     }
  2439.     Block {
  2440.       BlockType       RelationalOperator
  2441.       Name       "RelationalnOperator1"
  2442.       Position       [140, 92, 170, 123]
  2443.       Operator       "<"
  2444.     }
  2445.     Block {
  2446.       BlockType       Sum
  2447.       Name       "Sum"
  2448.       Ports       [2, 1]
  2449.       Position       [215, 64, 235, 91]
  2450.       Inputs       "+-"
  2451.     }
  2452.     Block {
  2453.       BlockType       Outport
  2454.       Name       "out_1"
  2455.       Position       [265, 70, 285, 90]
  2456.     }
  2457.     Line {
  2458.       SrcBlock       "in_1"
  2459.       SrcPort       1
  2460.       Points       [35, 0]
  2461.       Branch {
  2462. DstBlock "RelationalnOperator"
  2463. DstPort 1
  2464.       }
  2465.       Branch {
  2466. Points [0, 60]
  2467. DstBlock "RelationalnOperator1"
  2468. DstPort 1
  2469.       }
  2470.     }
  2471.     Line {
  2472.       SrcBlock       "Constant"
  2473.       SrcPort       1
  2474.       Points       [20, 0]
  2475.       Branch {
  2476. DstBlock "RelationalnOperator1"
  2477. DstPort 2
  2478.       }
  2479.       Branch {
  2480. Points [0, -60]
  2481. DstBlock "RelationalnOperator"
  2482. DstPort 2
  2483.       }
  2484.     }
  2485.     Line {
  2486.       SrcBlock       "RelationalnOperator1"
  2487.       SrcPort       1
  2488.       Points       [10, 0; 0, -25]
  2489.       DstBlock       "Sum"
  2490.       DstPort       2
  2491.     }
  2492.     Line {
  2493.       SrcBlock       "RelationalnOperator"
  2494.       SrcPort       1
  2495.       Points       [10, 0; 0, 20]
  2496.       DstBlock       "Sum"
  2497.       DstPort       1
  2498.     }
  2499.     Line {
  2500.       SrcBlock       "Sum"
  2501.       SrcPort       1
  2502.       DstBlock       "out_1"
  2503.       DstPort       1
  2504.     }
  2505.   }
  2506. }
  2507. Block {
  2508.   BlockType   SubSystem
  2509.   Name   "thresholdndetector_"
  2510.   Ports   [1, 1]
  2511.   Position   [725, 212, 755, 238]
  2512.   ShowPortLabels   off
  2513.   TreatAsAtomicUnit   off
  2514.   MaskType   "Sign"
  2515.   MaskDescription   "y = sign(x)"
  2516.   MaskHelp   "Sign Function:\n\t\t\ty = 1 if x > 0\n"
  2517. "\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
  2518.   MaskDisplay   "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-5"
  2519. "0,50],[-40,0],[-30,-30],[0,40],[30,30])"
  2520.   MaskIconFrame   on
  2521.   MaskIconOpaque   on
  2522.   MaskIconRotate   "none"
  2523.   MaskIconUnits   "autoscale"
  2524.   System {
  2525.     Name     "thresholdndetector_"
  2526.     Location     [159, 417, 467, 586]
  2527.     Open     off
  2528.     ModelBrowserVisibility  off
  2529.     ModelBrowserWidth     200
  2530.     ScreenColor     "white"
  2531.     PaperOrientation     "landscape"
  2532.     PaperPositionMode     "auto"
  2533.     PaperType     "usletter"
  2534.     PaperUnits     "inches"
  2535.     ZoomFactor     "100"
  2536.     Block {
  2537.       BlockType       Inport
  2538.       Name       "in_1"
  2539.       Position       [35, 30, 55, 50]
  2540.     }
  2541.     Block {
  2542.       BlockType       Constant
  2543.       Name       "Constant"
  2544.       Position       [65, 105, 85, 125]
  2545.       Value       "0"
  2546.     }
  2547.     Block {
  2548.       BlockType       RelationalOperator
  2549.       Name       "RelationalnOperator"
  2550.       Position       [140, 32, 170, 63]
  2551.       Operator       ">"
  2552.     }
  2553.     Block {
  2554.       BlockType       RelationalOperator
  2555.       Name       "RelationalnOperator1"
  2556.       Position       [140, 92, 170, 123]
  2557.       Operator       "<"
  2558.     }
  2559.     Block {
  2560.       BlockType       Sum
  2561.       Name       "Sum"
  2562.       Ports       [2, 1]
  2563.       Position       [215, 64, 235, 91]
  2564.       Inputs       "+-"
  2565.     }
  2566.     Block {
  2567.       BlockType       Outport
  2568.       Name       "out_1"
  2569.       Position       [265, 70, 285, 90]
  2570.     }
  2571.     Line {
  2572.       SrcBlock       "Sum"
  2573.       SrcPort       1
  2574.       DstBlock       "out_1"
  2575.       DstPort       1
  2576.     }
  2577.     Line {
  2578.       SrcBlock       "RelationalnOperator"
  2579.       SrcPort       1
  2580.       Points       [10, 0; 0, 20]
  2581.       DstBlock       "Sum"
  2582.       DstPort       1
  2583.     }
  2584.     Line {
  2585.       SrcBlock       "RelationalnOperator1"
  2586.       SrcPort       1
  2587.       Points       [10, 0; 0, -25]
  2588.       DstBlock       "Sum"
  2589.       DstPort       2
  2590.     }
  2591.     Line {
  2592.       SrcBlock       "Constant"
  2593.       SrcPort       1
  2594.       Points       [20, 0]
  2595.       Branch {
  2596. DstBlock "RelationalnOperator1"
  2597. DstPort 2
  2598.       }
  2599.       Branch {
  2600. Points [0, -60]
  2601. DstBlock "RelationalnOperator"
  2602. DstPort 2
  2603.       }
  2604.     }
  2605.     Line {
  2606.       SrcBlock       "in_1"
  2607.       SrcPort       1
  2608.       Points       [35, 0]
  2609.       Branch {
  2610. DstBlock "RelationalnOperator"
  2611. DstPort 1
  2612.       }
  2613.       Branch {
  2614. Points [0, 60]
  2615. DstBlock "RelationalnOperator1"
  2616. DstPort 1
  2617.       }
  2618.     }
  2619.   }
  2620. }
  2621. Block {
  2622.   BlockType   Scope
  2623.   Name   "v(t)"
  2624.   Ports   [1]
  2625.   Position   [895, 70, 925, 100]
  2626.   Orientation   "up"
  2627.   Location   [320, 740, 960, 840]
  2628.   Open   off
  2629.   NumInputPorts   "1"
  2630.   List {
  2631.     ListType     AxesTitles
  2632.     axes1     "%<SignalLabel>"
  2633.   }
  2634.   TimeRange   "25.000000"
  2635.   YMin   "-3.000000"
  2636.   YMax   "3.000000"
  2637.   DataFormat   "Array"
  2638. }
  2639. Block {
  2640.   BlockType   Scope
  2641.   Name   "v_c(t)"
  2642.   Ports   [1]
  2643.   Position   [820, 75, 850, 105]
  2644.   Location   [0, 640, 640, 740]
  2645.   Open   off
  2646.   NumInputPorts   "1"
  2647.   List {
  2648.     ListType     AxesTitles
  2649.     axes1     "%<SignalLabel>"
  2650.   }
  2651.   TimeRange   "25.000000"
  2652.   YMin   "-1.500000"
  2653.   YMax   "1.500000"
  2654.   DataFormat   "Array"
  2655. }
  2656. Block {
  2657.   BlockType   Scope
  2658.   Name   "v_s(t)"
  2659.   Ports   [1]
  2660.   Position   [820, 220, 850, 250]
  2661.   Location   [640, 640, 1280, 740]
  2662.   Open   off
  2663.   NumInputPorts   "1"
  2664.   List {
  2665.     ListType     AxesTitles
  2666.     axes1     "%<SignalLabel>"
  2667.   }
  2668.   TimeRange   "25.000000"
  2669.   YMin   "-1.500000"
  2670.   YMax   "1.500000"
  2671.   DataFormat   "Array"
  2672. }
  2673. Block {
  2674.   BlockType   Scope
  2675.   Name   "x_c(t)"
  2676.   Ports   [1]
  2677.   Position   [415, 20, 445, 50]
  2678.   Orientation   "up"
  2679.   Location   [0, 440, 640, 540]
  2680.   Open   off
  2681.   NumInputPorts   "1"
  2682.   List {
  2683.     ListType     AxesTitles
  2684.     axes1     "%<SignalLabel>"
  2685.   }
  2686.   TimeRange   "25.000000"
  2687.   YMin   "-1.500000"
  2688.   YMax   "1.500000"
  2689.   DataFormat   "Array"
  2690. }
  2691. Block {
  2692.   BlockType   Scope
  2693.   Name   "x_s(t)"
  2694.   Ports   [1]
  2695.   Position   [415, 155, 445, 185]
  2696.   Orientation   "up"
  2697.   Location   [640, 440, 1280, 540]
  2698.   Open   off
  2699.   NumInputPorts   "1"
  2700.   List {
  2701.     ListType     AxesTitles
  2702.     axes1     "%<SignalLabel>"
  2703.   }
  2704.   TimeRange   "25.000000"
  2705.   YMin   "-1.500000"
  2706.   YMax   "1.500000"
  2707.   DataFormat   "Array"
  2708. }
  2709. Block {
  2710.   BlockType   Outport
  2711.   Name   "detectednbits"
  2712.   Position   [950, 140, 970, 160]
  2713. }
  2714. Line {
  2715.   SrcBlock   "Clock"
  2716.   SrcPort   1
  2717.   Points   [0, 0]
  2718.   Branch {
  2719.     DstBlock     "Fcn"
  2720.     DstPort     1
  2721.   }
  2722.   Branch {
  2723.     DstBlock     "Fcn1"
  2724.     DstPort     1
  2725.   }
  2726. }
  2727. Line {
  2728.   SrcBlock   "Product1"
  2729.   SrcPort   1
  2730.   Points   [100, 0]
  2731.   Branch {
  2732.     DstBlock     "Root-RCnreceive filter_"
  2733.     DstPort     1
  2734.   }
  2735.   Branch {
  2736.     DstBlock     "x_s(t)"
  2737.     DstPort     1
  2738.   }
  2739. }
  2740. Line {
  2741.   SrcBlock   "noisynOQPSK-nSignal"
  2742.   SrcPort   1
  2743.   Points   [25, 0]
  2744.   Branch {
  2745.     DstBlock     "r(t)"
  2746.     DstPort     1
  2747.   }
  2748.   Branch {
  2749.     Points     [45, 0]
  2750.     Branch {
  2751.       Points       [0, -75]
  2752.       DstBlock       "Product"
  2753.       DstPort       1
  2754.     }
  2755.     Branch {
  2756.       Points       [0, 75]
  2757.       DstBlock       "Product1"
  2758.       DstPort       2
  2759.     }
  2760.   }
  2761. }
  2762. Line {
  2763.   SrcBlock   "Fcn1"
  2764.   SrcPort   1
  2765.   Points   [10, 0]
  2766.   DstBlock   "Product1"
  2767.   DstPort   1
  2768. }
  2769. Line {
  2770.   SrcBlock   "Fcn"
  2771.   SrcPort   1
  2772.   Points   [10, 0; 0, -35]
  2773.   DstBlock   "Product"
  2774.   DstPort   2
  2775. }
  2776. Line {
  2777.   SrcBlock   "Root-RCnreceive filter"
  2778.   SrcPort   1
  2779.   DstBlock   "Gain2"
  2780.   DstPort   1
  2781. }
  2782. Line {
  2783.   SrcBlock   "Root-RCnreceive filter_"
  2784.   SrcPort   1
  2785.   DstBlock   "Gain1"
  2786.   DstPort   1
  2787. }
  2788. Line {
  2789.   SrcBlock   "QPSK demap"
  2790.   SrcPort   1
  2791.   Points   [25, 0]
  2792.   Branch {
  2793.     DstBlock     "detectednbits"
  2794.     DstPort     1
  2795.   }
  2796.   Branch {
  2797.     DstBlock     "v(t)"
  2798.     DstPort     1
  2799.   }
  2800. }
  2801. Line {
  2802.   SrcBlock   "Gain1"
  2803.   SrcPort   1
  2804.   Points   [0, 0]
  2805.   Branch {
  2806.     Points     [25, 0]
  2807.     DstBlock     "s_rs(t)"
  2808.     DstPort     1
  2809.   }
  2810.   Branch {
  2811.     Points     [90, 0]
  2812.     Branch {
  2813.       Points       [0, -180]
  2814.       DstBlock       "receiver diagrams"
  2815.       DstPort       2
  2816.     }
  2817.     Branch {
  2818.       DstBlock       "thresholdndetector_"
  2819.       DstPort       1
  2820.     }
  2821.   }
  2822. }
  2823. Line {
  2824.   SrcBlock   "Product"
  2825.   SrcPort   1
  2826.   DstBlock   "TransportnDelay"
  2827.   DstPort   1
  2828. }
  2829. Line {
  2830.   SrcBlock   "TransportnDelay"
  2831.   SrcPort   1
  2832.   Points   [20, 0]
  2833.   Branch {
  2834.     DstBlock     "Root-RCnreceive filter"
  2835.     DstPort     1
  2836.   }
  2837.   Branch {
  2838.     DstBlock     "x_c(t)"
  2839.     DstPort     1
  2840.   }
  2841. }
  2842. Line {
  2843.   SrcBlock   "Gain2"
  2844.   SrcPort   1
  2845.   Points   [0, 0]
  2846.   Branch {
  2847.     Points     [25, 0]
  2848.     DstBlock     "s_rc(t)"
  2849.     DstPort     1
  2850.   }
  2851.   Branch {
  2852.     Points     [65, 0]
  2853.     Branch {
  2854.       Points       [0, -65]
  2855.       DstBlock       "receiver diagrams"
  2856.       DstPort       1
  2857.     }
  2858.     Branch {
  2859.       DstBlock       "thresholdndetector"
  2860.       DstPort       1
  2861.     }
  2862.   }
  2863. }
  2864. Line {
  2865.   SrcBlock   "thresholdndetector"
  2866.   SrcPort   1
  2867.   Points   [20, 0]
  2868.   Branch {
  2869.     Points     [0, 45]
  2870.     DstBlock     "QPSK demap"
  2871.     DstPort     1
  2872.   }
  2873.   Branch {
  2874.     DstBlock     "v_c(t)"
  2875.     DstPort     1
  2876.   }
  2877. }
  2878. Line {
  2879.   SrcBlock   "thresholdndetector_"
  2880.   SrcPort   1
  2881.   Points   [20, 0]
  2882.   Branch {
  2883.     Points     [0, -65]
  2884.     DstBlock     "QPSK demap"
  2885.     DstPort     2
  2886.   }
  2887.   Branch {
  2888.     Points     [0, 10]
  2889.     DstBlock     "v_s(t)"
  2890.     DstPort     1
  2891.   }
  2892. }
  2893.       }
  2894.     }
  2895.     Block {
  2896.       BlockType       SubSystem
  2897.       Name       "Rolloff1"
  2898.       Ports       []
  2899.       Position       [450, 144, 562, 166]
  2900.       BackgroundColor       "lightBlue"
  2901.       ShowName       off
  2902.       OpenFcn       "setrloff"
  2903.       FontSize       12
  2904.       FontAngle       "italic"
  2905.       ShowPortLabels       off
  2906.       TreatAsAtomicUnit       off
  2907.       MaskType       "rolloff"
  2908.       MaskDisplay       "disp('Rolloff-Factor')"
  2909.       MaskIconFrame       on
  2910.       MaskIconOpaque       on
  2911.       MaskIconRotate       "none"
  2912.       MaskIconUnits       "autoscale"
  2913.       System {
  2914. Name "Rolloff1"
  2915. Location [136, 230, 381, 439]
  2916. Open off
  2917. ModelBrowserVisibility off
  2918. ModelBrowserWidth 200
  2919. ScreenColor "cyan"
  2920. PaperOrientation "landscape"
  2921. PaperPositionMode "auto"
  2922. PaperType "A4"
  2923. PaperUnits "centimeters"
  2924. ZoomFactor "100"
  2925.       }
  2926.     }
  2927.     Block {
  2928.       BlockType       SubSystem
  2929.       Name       "Transmitter"
  2930.       Ports       [0, 3]
  2931.       Position       [200, 72, 275, 158]
  2932.       ShowPortLabels       off
  2933.       TreatAsAtomicUnit       off
  2934.       System {
  2935. Name "Transmitter"
  2936. Location [2, 254, 998, 533]
  2937. Open off
  2938. ModelBrowserVisibility off
  2939. ModelBrowserWidth 200
  2940. ScreenColor "white"
  2941. PaperOrientation "landscape"
  2942. PaperPositionMode "auto"
  2943. PaperType "usletter"
  2944. PaperUnits "inches"
  2945. ZoomFactor "100"
  2946. Block {
  2947.   BlockType   Clock
  2948.   Name   "Clock"
  2949.   Position   [555, 155, 575, 175]
  2950.   Decimation   "10"
  2951. }
  2952. Block {
  2953.   BlockType   TransportDelay
  2954.   Name   "Delay nT/2"
  2955.   Position   [180, 200, 220, 230]
  2956.   Orientation   "down"
  2957.   NamePlacement   "alternate"
  2958.   DelayTime   ".4999"
  2959.   BufferSize   "200"
  2960. }
  2961. Block {
  2962.   BlockType   Fcn
  2963.   Name   "Fcn1"
  2964.   Position   [615, 130, 710, 160]
  2965.   ShowName   off
  2966.   Expr   "cos(4*pi*u)"
  2967. }
  2968. Block {
  2969.   BlockType   Fcn
  2970.   Name   "Fcn2"
  2971.   Position   [615, 175, 710, 205]
  2972.   ShowName   off
  2973.   Expr   "sin(4*pi*u)"
  2974. }
  2975. Block {
  2976.   BlockType   Gain
  2977.   Name   "Gain"
  2978.   Position   [395, 77, 420, 103]
  2979.   ShowName   off
  2980.   Gain   "4"
  2981. }
  2982. Block {
  2983.   BlockType   Gain
  2984.   Name   "Gain1"
  2985.   Position   [395, 237, 420, 263]
  2986.   ShowName   off
  2987.   Gain   "4"
  2988. }
  2989. Block {
  2990.   BlockType   Product
  2991.   Name   "Product"
  2992.   Ports   [2, 1]
  2993.   Position   [770, 83, 800, 107]
  2994.   ShowName   off
  2995. }
  2996. Block {
  2997.   BlockType   Product
  2998.   Name   "Product1"
  2999.   Ports   [2, 1]
  3000.   Position   [770, 233, 800, 257]
  3001.   ShowName   off
  3002. }
  3003. Block {
  3004.   BlockType   SubSystem
  3005.   Name   "QPSK"
  3006.   Ports   [1, 2]
  3007.   Position   [110, 115, 185, 155]
  3008.   TreatAsAtomicUnit   off
  3009.   MaskType   "MPSK"
  3010.   MaskDescription   "QASK mapping with circle constellation. The"
  3011. " constellation is defined in NIC, RIC and PIC."
  3012.   MaskHelp   "This block maps a digital signal onto in-ph"
  3013. "ase and quadratic components, which are outputs in the first and second outpu"
  3014. "t port respectively. The circle constellation is defined in NIC, RIC, and PIC"
  3015. ". The input symbol interval can be a two-element vector with the second eleme"
  3016. "nt being offset. The default value offset is 0. Use the MODMAP function to se"
  3017. "e the constellation."
  3018.   MaskPromptString   "Number of symbols in each circle NIC:|Radii"
  3019. " in each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval an"
  3020. "d offset (sec):"
  3021.   MaskStyleString   "edit,edit,edit,edit"
  3022.   MaskTunableValueString  "on,on,on,on"
  3023.   MaskCallbackString   "|||"
  3024.   MaskEnableString   "on,on,on,on"
  3025.   MaskVisibilityString   "on,on,on,on"
  3026.   MaskToolTipString   "on,on,on,on"
  3027.   MaskVarAliasString   ",,,"
  3028.   MaskVariables   "N=@1;A=@2;P=@3;td=@4;"
  3029.   MaskInitialization   "y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=i"
  3030. "mag(y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);"
  3031.   MaskDisplay   "disp('MPSK\nmapping')"
  3032.   MaskIconFrame   on
  3033.   MaskIconOpaque   on
  3034.   MaskIconRotate   "none"
  3035.   MaskIconUnits   "autoscale"
  3036.   MaskValueString   "[4]|[sqrt(2)]|[pi/4]|1"
  3037.   System {
  3038.     Name     "QPSK"
  3039.     Location     [572, 160, 1070, 460]
  3040.     Open     off
  3041.     ModelBrowserVisibility  off
  3042.     ModelBrowserWidth     200
  3043.     ScreenColor     "white"
  3044.     PaperOrientation     "landscape"
  3045.     PaperPositionMode     "auto"
  3046.     PaperType     "usletter"
  3047.     PaperUnits     "inches"
  3048.     ZoomFactor     "100"
  3049.     Block {
  3050.       BlockType       Inport
  3051.       Name       "in_1"
  3052.       Position       [40, 35, 60, 55]
  3053.     }
  3054.     Block {
  3055.       BlockType       ZeroOrderHold
  3056.       Name       "Zero-OrdernHold1"
  3057.       Position       [95, 29, 130, 61]
  3058.       SampleTime       "td"
  3059.     }
  3060.     Block {
  3061.       BlockType       Lookup
  3062.       Name       "imag part1"
  3063.       Position       [190, 112, 225, 138]
  3064.       InputValues       "x"
  3065.       OutputValues       "y2"
  3066.     }
  3067.     Block {
  3068.       BlockType       Lookup
  3069.       Name       "real part"
  3070.       Position       [195, 32, 230, 58]
  3071.       InputValues       "x"
  3072.       OutputValues       "y1"
  3073.     }
  3074.     Block {