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

通讯编程文档

开发平台:

Matlab

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