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

通讯编程文档

开发平台:

Matlab

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