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

通讯编程文档

开发平台:

Matlab

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