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

通讯编程文档

开发平台:

Matlab

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