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

通讯编程文档

开发平台:

Matlab

  1. Model {
  2.   Name   "qamnyqmf"
  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 15:10:53 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:46:56 2003"
  42.   ModelVersionFormat   "1.%<AutoIncrement:37>"
  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.00001"
  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     "qamnyqmf"
  376.     Location     [6, 248, 1015, 526]
  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 [4, 186, 1016, 498]
  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       "Sum2"
  620.       SrcPort       1
  621.       DstBlock       "Abs"
  622.       DstPort       1
  623.     }
  624.     Line {
  625.       SrcBlock       "Shift key"
  626.       SrcPort       1
  627.       Points       [15, 0; 0, -45]
  628.       DstBlock       "Sum2"
  629.       DstPort       2
  630.     }
  631.     Line {
  632.       SrcBlock       "Minimum"
  633.       SrcPort       1
  634.       DstBlock       "out_1"
  635.       DstPort       1
  636.     }
  637.     Line {
  638.       SrcBlock       "Zero-OrdernHold"
  639.       SrcPort       1
  640.       DstBlock       "Sum2"
  641.       DstPort       1
  642.     }
  643.     Line {
  644.       SrcBlock       "Abs"
  645.       SrcPort       1
  646.       DstBlock       "Minimum"
  647.       DstPort       1
  648.     }
  649.     Line {
  650.       SrcBlock       "in_1"
  651.       SrcPort       1
  652.       DstBlock       "Zero-OrdernHold"
  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       "Sum2"
  745.       SrcPort       1
  746.       DstBlock       "Abs"
  747.       DstPort       1
  748.     }
  749.     Line {
  750.       SrcBlock       "Shift key"
  751.       SrcPort       1
  752.       Points       [15, 0; 0, -45]
  753.       DstBlock       "Sum2"
  754.       DstPort       2
  755.     }
  756.     Line {
  757.       SrcBlock       "Minimum"
  758.       SrcPort       1
  759.       DstBlock       "out_1"
  760.       DstPort       1
  761.     }
  762.     Line {
  763.       SrcBlock       "Zero-OrdernHold"
  764.       SrcPort       1
  765.       DstBlock       "Sum2"
  766.       DstPort       1
  767.     }
  768.     Line {
  769.       SrcBlock       "Abs"
  770.       SrcPort       1
  771.       DstBlock       "Minimum"
  772.       DstPort       1
  773.     }
  774.     Line {
  775.       SrcBlock       "in_1"
  776.       SrcPort       1
  777.       DstBlock       "Zero-OrdernHold"
  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/20"
  809. }
  810. Block {
  811.   BlockType   Gain
  812.   Name   "Gain2"
  813.   Position   [510, 77, 535, 103]
  814.   ShowName   off
  815.   Gain   "1/20"
  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   "Raised-Cosinenreceive filter"
  834.   Ports   [1, 1]
  835.   Position   [410, 68, 490, 112]
  836.   ShowPortLabels   off
  837.   TreatAsAtomicUnit   off
  838.   MaskType   "R-C filter"
  839.   MaskDescription   "Design a raised cosine filter and use it to"
  840. " filter the input signal."
  841.   MaskHelp   "This block designs a raised cosine filter u"
  842. "sing the specified parameter. The filter is used to filter the input signal. "
  843. "You can optionally use the sinc filter in the filtering computation."
  844.   MaskPromptString   "Symbol interval (sec):|Computation sampling"
  845. " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
  846. "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
  847. "lter (1 or 0, suggest 1):"
  848.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  849.   MaskTunableValueString  "on,on,on,on,on,on"
  850.   MaskCallbackString   "|||||"
  851.   MaskEnableString   "on,on,on,on,on,on"
  852.   MaskVisibilityString   "on,on,on,on,on,on"
  853.   MaskToolTipString   "on,on,on,on,on,on"
  854.   MaskVarAliasString   ",,,,,"
  855.   MaskInitialization   "td=@1;if length(td)>1,off=td(2);td=td(1);el"
  856. "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
  857. ",R,delay);x=@6/2;"
  858.   MaskDisplay   "disp('R-C\nfilter')"
  859.   MaskIconFrame   on
  860.   MaskIconOpaque   on
  861.   MaskIconRotate   "none"
  862.   MaskIconUnits   "autoscale"
  863.   MaskValueString   "1|.05|0.5|6|'FIR'|0"
  864.   System {
  865.     Name     "Raised-Cosinenreceive filter"
  866.     Location     [131, 545, 589, 761]
  867.     Open     off
  868.     ModelBrowserVisibility  off
  869.     ModelBrowserWidth     200
  870.     ScreenColor     "white"
  871.     PaperOrientation     "landscape"
  872.     PaperPositionMode     "auto"
  873.     PaperType     "usletter"
  874.     PaperUnits     "inches"
  875.     ZoomFactor     "100"
  876.     Block {
  877.       BlockType       Inport
  878.       Name       "in_1"
  879.       Position       [35, 30, 55, 50]
  880.     }
  881.     Block {
  882.       BlockType       DiscreteFilter
  883.       Name       "Filter"
  884.       Position       [255, 31, 310, 69]
  885.       Numerator       "num"
  886.       Denominator       "den"
  887.       SampleTime       "ts"
  888.     }
  889.     Block {
  890.       BlockType       SubSystem
  891.       Name       "Memory Impulse"
  892.       Ports       [2, 1]
  893.       Position       [155, 30, 225, 70]
  894.       ShowPortLabels       off
  895.       TreatAsAtomicUnit       off
  896.       MaskType       "Impulse"
  897.       MaskDescription       "1/sinc filter:"
  898.       MaskHelp       "When the threshold is greater than zero"
  899. ", this block outputs an impulse signal, which begins at the raising edge of t"
  900. "he second input and lasts the holding time. The impulse holds a constant ampl"
  901. "itude, which equals the amplitude of the first input at the begining of the i"
  902. "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
  903. " less or equal to zero, this block faithfully outputs the first input."
  904.       MaskPromptString       "Holding time:|Threshold for clock pulse"
  905. ": "
  906.       MaskStyleString       "edit,edit"
  907.       MaskTunableValueString  "on,on"
  908.       MaskCallbackString      "|"
  909.       MaskEnableString       "on,on"
  910.       MaskVisibilityString    "on,on"
  911.       MaskToolTipString       "on,on"
  912.       MaskVarAliasString      ","
  913.       MaskInitialization      "ts=@1;thr=@2;x=thr>0;"
  914.       MaskDisplay       "disp('1/sinc')"
  915.       MaskIconFrame       on
  916.       MaskIconOpaque       on
  917.       MaskIconRotate       "none"
  918.       MaskIconUnits       "autoscale"
  919.       MaskValueString       "ts|x"
  920.       System {
  921. Name "Memory Impulse"
  922. Location [541, 520, 939, 745]
  923. Open off
  924. ModelBrowserVisibility off
  925. ModelBrowserWidth 200
  926. ScreenColor "white"
  927. PaperOrientation "landscape"
  928. PaperPositionMode "auto"
  929. PaperType "usletter"
  930. PaperUnits "inches"
  931. ZoomFactor "100"
  932. Block {
  933.   BlockType   Inport
  934.   Name   "in_1"
  935.   Position   [35, 185, 55, 205]
  936. }
  937. Block {
  938.   BlockType   Inport
  939.   Name   "in_2"
  940.   Position   [25, 30, 45, 50]
  941.   Port   "2"
  942. }
  943. Block {
  944.   BlockType   Constant
  945.   Name   "Constant"
  946.   Position   [210, 155, 230, 175]
  947.   Value   "x"
  948. }
  949. Block {
  950.   BlockType   Product
  951.   Name   "Product"
  952.   Ports   [2, 1]
  953.   Position   [155, 90, 180, 110]
  954. }
  955. Block {
  956.   BlockType   Switch
  957.   Name   "Switch"
  958.   Position   [295, 124, 320, 156]
  959.   Threshold   ".5"
  960. }
  961. Block {
  962.   BlockType   ZeroOrderHold
  963.   Name   "Zero-OrdernHold"
  964.   Position   [205, 84, 240, 116]
  965.   SampleTime   "ts"
  966. }
  967. Block {
  968.   BlockType   SubSystem
  969.   Name   "discretenRising edgendetector"
  970.   Ports   [1, 1]
  971.   Position   [65, 26, 120, 54]
  972.   ShowPortLabels   off
  973.   TreatAsAtomicUnit   off
  974.   MaskType   "Edge Detection"
  975.   MaskDescription   "Rising edge detection:"
  976.   MaskHelp   "When the input signal rising edge p"
  977. "assed the given shreshold, this block outputs one, otherwise outputs zero."
  978.   MaskPromptString   "Threshold:|Sampling time:"
  979.   MaskStyleString   "edit,edit"
  980.   MaskTunableValueString  "on,on"
  981.   MaskCallbackString   "|"
  982.   MaskEnableString   "on,on"
  983.   MaskVisibilityString   "on,on"
  984.   MaskToolTipString   "on,on"
  985.   MaskVarAliasString   ","
  986.   MaskInitialization   "thld=@1;ts=@2;"
  987.   MaskDisplay   "disp('Edge\nDetector')"
  988.   MaskIconFrame   on
  989.   MaskIconOpaque   on
  990.   MaskIconRotate   "none"
  991.   MaskIconUnits   "autoscale"
  992.   MaskValueString   "thr|ts"
  993.   System {
  994.     Name     "discretenRising edgendetector"
  995.     Location     [419, 521, 808, 713]
  996.     Open     off
  997.     ModelBrowserVisibility  off
  998.     ModelBrowserWidth     200
  999.     ScreenColor     "white"
  1000.     PaperOrientation     "landscape"
  1001.     PaperPositionMode     "auto"
  1002.     PaperType     "usletter"
  1003.     PaperUnits     "inches"
  1004.     ZoomFactor     "100"
  1005.     Block {
  1006.     BlockType     Inport
  1007.     Name     "in_1"
  1008.     Position     [10, 15, 30, 35]
  1009.     }
  1010.     Block {
  1011.     BlockType     RelationalOperator
  1012.     Name     "RelationalnOperator"
  1013.     Position     [135, 18, 165, 42]
  1014.     }
  1015.     Block {
  1016.     BlockType     RelationalOperator
  1017.     Name     "RelationalnOperator1"
  1018.     Position     [200, 88, 230, 112]
  1019.     }
  1020.     Block {
  1021.     BlockType     RelationalOperator
  1022.     Name     "RelationalnOperator2"
  1023.     Position     [265, 23, 295, 47]
  1024.     Operator     ">"
  1025.     }
  1026.     Block {
  1027.     BlockType     UnitDelay
  1028.     Name     "Unit Delay"
  1029.     Position     [120, 87, 170, 103]
  1030.     SampleTime     "ts"
  1031.     }
  1032.     Block {
  1033.     BlockType     Constant
  1034.     Name     "one1"
  1035.     Position     [30, 135, 60, 155]
  1036.     Value     "thld"
  1037.     }
  1038.     Block {
  1039.     BlockType     Outport
  1040.     Name     "out_1"
  1041.     Position     [340, 25, 360, 45]
  1042.     }
  1043.     Line {
  1044.     SrcBlock     "RelationalnOperator2"
  1045.     SrcPort     1
  1046.     DstBlock     "out_1"
  1047.     DstPort     1
  1048.     }
  1049.     Line {
  1050.     SrcBlock     "RelationalnOperator1"
  1051.     SrcPort     1
  1052.     Points     [5, 0; 0, -60]
  1053.     DstBlock     "RelationalnOperator2"
  1054.     DstPort     2
  1055.     }
  1056.     Line {
  1057.     SrcBlock     "RelationalnOperator"
  1058.     SrcPort     1
  1059.     DstBlock     "RelationalnOperator2"
  1060.     DstPort     1
  1061.     }
  1062.     Line {
  1063.     SrcBlock     "one1"
  1064.     SrcPort     1
  1065.     Points     [35, 0]
  1066.     Branch {
  1067.     Points     [0, -110]
  1068.     DstBlock     "RelationalnOperator"
  1069.     DstPort     2
  1070.     }
  1071.     Branch {
  1072.     Points     [80, 0; 0, -40]
  1073.     DstBlock     "RelationalnOperator1"
  1074.     DstPort     2
  1075.     }
  1076.     }
  1077.     Line {
  1078.     SrcBlock     "Unit Delay"
  1079.     SrcPort     1
  1080.     DstBlock     "RelationalnOperator1"
  1081.     DstPort     1
  1082.     }
  1083.     Line {
  1084.     SrcBlock     "in_1"
  1085.     SrcPort     1
  1086.     Points     [10, 0]
  1087.     Branch {
  1088.     DstBlock     "RelationalnOperator"
  1089.     DstPort     1
  1090.     }
  1091.     Branch {
  1092.     Points     [0, 70]
  1093.     DstBlock     "Unit Delay"
  1094.     DstPort     1
  1095.     }
  1096.     }
  1097.   }
  1098. }
  1099. Block {
  1100.   BlockType   Outport
  1101.   Name   "out_1"
  1102.   Position   [355, 130, 375, 150]
  1103. }
  1104. Line {
  1105.   SrcBlock   "Zero-OrdernHold"
  1106.   SrcPort   1
  1107.   Points   [15, 0; 0, 30]
  1108.   DstBlock   "Switch"
  1109.   DstPort   1
  1110. }
  1111. Line {
  1112.   SrcBlock   "Product"
  1113.   SrcPort   1
  1114.   DstBlock   "Zero-OrdernHold"
  1115.   DstPort   1
  1116. }
  1117. Line {
  1118.   SrcBlock   "in_1"
  1119.   SrcPort   1
  1120.   Points   [35, 0]
  1121.   Branch {
  1122.     Points     [185, 0]
  1123.     DstBlock     "Switch"
  1124.     DstPort     3
  1125.   }
  1126.   Branch {
  1127.     Points     [0, -90]
  1128.     DstBlock     "Product"
  1129.     DstPort     2
  1130.   }
  1131. }
  1132. Line {
  1133.   SrcBlock   "Switch"
  1134.   SrcPort   1
  1135.   DstBlock   "out_1"
  1136.   DstPort   1
  1137. }
  1138. Line {
  1139.   SrcBlock   "Constant"
  1140.   SrcPort   1
  1141.   Points   [15, 0; 0, -25]
  1142.   DstBlock   "Switch"
  1143.   DstPort   2
  1144. }
  1145. Line {
  1146.   SrcBlock   "discretenRising edgendetector"
  1147.   SrcPort   1
  1148.   Points   [5, 0; 0, 55]
  1149.   DstBlock   "Product"
  1150.   DstPort   1
  1151. }
  1152. Line {
  1153.   SrcBlock   "in_2"
  1154.   SrcPort   1
  1155.   DstBlock   "discretenRising edgendetector"
  1156.   DstPort   1
  1157. }
  1158.       }
  1159.     }
  1160.     Block {
  1161.       BlockType       SubSystem
  1162.       Name       "Pulses deividensame sample time1"
  1163.       Ports       [0, 1]
  1164.       Position       [35, 71, 95, 109]
  1165.       ShowPortLabels       off
  1166.       TreatAsAtomicUnit       off
  1167.       MaskType       "Pulse generator"
  1168.       MaskDescription       "Vector pulses with sample rate of each "
  1169. "pulse as Sample_time ./Divider. "
  1170.       MaskHelp       "This block generator a vector pulses. T"
  1171. "he output length is the same as the vector defined in "Divider". The ith el"
  1172. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  1173. "in "Divider" must be integers."
  1174.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  1175. "eger vector):|Offset (have same dimension as Divider:"
  1176.       MaskStyleString       "edit,edit,edit"
  1177.       MaskTunableValueString  "on,on,on"
  1178.       MaskCallbackString      "||"
  1179.       MaskEnableString       "on,on,on"
  1180.       MaskVisibilityString    "on,on,on"
  1181.       MaskToolTipString       "on,on,on"
  1182.       MaskVarAliasString      ",,"
  1183.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  1184.       MaskDisplay       "disp('Vector\nPulse')"
  1185.       MaskIconFrame       on
  1186.       MaskIconOpaque       on
  1187.       MaskIconRotate       "none"
  1188.       MaskIconUnits       "autoscale"
  1189.       MaskValueString       "td|1|off"
  1190.       System {
  1191. Name "Pulses deividensame sample time1"
  1192. Location [55, 192, 283, 286]
  1193. Open off
  1194. ModelBrowserVisibility off
  1195. ModelBrowserWidth 200
  1196. ScreenColor "white"
  1197. PaperOrientation "landscape"
  1198. PaperPositionMode "auto"
  1199. PaperType "usletter"
  1200. PaperUnits "inches"
  1201. ZoomFactor "100"
  1202. Block {
  1203.   BlockType   "S-Function"
  1204.   Name   "S-function1"
  1205.   Ports   [0, 1]
  1206.   Position   [40, 31, 105, 59]
  1207.   FunctionName   "homopuls"
  1208.   Parameters   "samp_time, out_divid, offset"
  1209. }
  1210. Block {
  1211.   BlockType   Outport
  1212.   Name   "Outport"
  1213.   Position   [160, 35, 180, 55]
  1214. }
  1215. Line {
  1216.   SrcBlock   "S-function1"
  1217.   SrcPort   1
  1218.   DstBlock   "Outport"
  1219.   DstPort   1
  1220. }
  1221.       }
  1222.     }
  1223.     Block {
  1224.       BlockType       Outport
  1225.       Name       "out_1"
  1226.       Position       [330, 40, 350, 60]
  1227.     }
  1228.     Line {
  1229.       SrcBlock       "Pulses deividensame sample time1"
  1230.       SrcPort       1
  1231.       Points       [15, 0; 0, -30]
  1232.       DstBlock       "Memory Impulse"
  1233.       DstPort       2
  1234.     }
  1235.     Line {
  1236.       SrcBlock       "Memory Impulse"
  1237.       SrcPort       1
  1238.       DstBlock       "Filter"
  1239.       DstPort       1
  1240.     }
  1241.     Line {
  1242.       SrcBlock       "in_1"
  1243.       SrcPort       1
  1244.       DstBlock       "Memory Impulse"
  1245.       DstPort       1
  1246.     }
  1247.     Line {
  1248.       SrcBlock       "Filter"
  1249.       SrcPort       1
  1250.       DstBlock       "out_1"
  1251.       DstPort       1
  1252.     }
  1253.   }
  1254. }
  1255. Block {
  1256.   BlockType   SubSystem
  1257.   Name   "Raised-Cosinenreceive filter_"
  1258.   Ports   [1, 1]
  1259.   Position   [410, 203, 490, 247]
  1260.   ShowPortLabels   off
  1261.   TreatAsAtomicUnit   off
  1262.   MaskType   "R-C filter"
  1263.   MaskDescription   "Design a raised cosine filter and use it to"
  1264. " filter the input signal."
  1265.   MaskHelp   "This block designs a raised cosine filter u"
  1266. "sing the specified parameter. The filter is used to filter the input signal. "
  1267. "You can optionally use the sinc filter in the filtering computation."
  1268.   MaskPromptString   "Symbol interval (sec):|Computation sampling"
  1269. " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
  1270. "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
  1271. "lter (1 or 0, suggest 1):"
  1272.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1273.   MaskTunableValueString  "on,on,on,on,on,on"
  1274.   MaskCallbackString   "|||||"
  1275.   MaskEnableString   "on,on,on,on,on,on"
  1276.   MaskVisibilityString   "on,on,on,on,on,on"
  1277.   MaskToolTipString   "on,on,on,on,on,on"
  1278.   MaskVarAliasString   ",,,,,"
  1279.   MaskInitialization   "td=@1;if length(td)>1,off=td(2);td=td(1);el"
  1280. "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
  1281. ",R,delay);x=@6/2;"
  1282.   MaskDisplay   "disp('R-C\nfilter')"
  1283.   MaskIconFrame   on
  1284.   MaskIconOpaque   on
  1285.   MaskIconRotate   "none"
  1286.   MaskIconUnits   "autoscale"
  1287.   MaskValueString   "1|.05|0.5|6|'FIR'|0"
  1288.   System {
  1289.     Name     "Raised-Cosinenreceive filter_"
  1290.     Location     [131, 545, 589, 761]
  1291.     Open     off
  1292.     ModelBrowserVisibility  off
  1293.     ModelBrowserWidth     200
  1294.     ScreenColor     "white"
  1295.     PaperOrientation     "landscape"
  1296.     PaperPositionMode     "auto"
  1297.     PaperType     "usletter"
  1298.     PaperUnits     "inches"
  1299.     ZoomFactor     "100"
  1300.     Block {
  1301.       BlockType       Inport
  1302.       Name       "in_1"
  1303.       Position       [35, 30, 55, 50]
  1304.     }
  1305.     Block {
  1306.       BlockType       DiscreteFilter
  1307.       Name       "Filter"
  1308.       Position       [255, 31, 310, 69]
  1309.       Numerator       "num"
  1310.       Denominator       "den"
  1311.       SampleTime       "ts"
  1312.     }
  1313.     Block {
  1314.       BlockType       SubSystem
  1315.       Name       "Memory Impulse"
  1316.       Ports       [2, 1]
  1317.       Position       [155, 30, 225, 70]
  1318.       ShowPortLabels       off
  1319.       TreatAsAtomicUnit       off
  1320.       MaskType       "Impulse"
  1321.       MaskDescription       "1/sinc filter:"
  1322.       MaskHelp       "When the threshold is greater than zero"
  1323. ", this block outputs an impulse signal, which begins at the raising edge of t"
  1324. "he second input and lasts the holding time. The impulse holds a constant ampl"
  1325. "itude, which equals the amplitude of the first input at the begining of the i"
  1326. "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
  1327. " less or equal to zero, this block faithfully outputs the first input."
  1328.       MaskPromptString       "Holding time:|Threshold for clock pulse"
  1329. ": "
  1330.       MaskStyleString       "edit,edit"
  1331.       MaskTunableValueString  "on,on"
  1332.       MaskCallbackString      "|"
  1333.       MaskEnableString       "on,on"
  1334.       MaskVisibilityString    "on,on"
  1335.       MaskToolTipString       "on,on"
  1336.       MaskVarAliasString      ","
  1337.       MaskInitialization      "ts=@1;thr=@2;x=thr>0;"
  1338.       MaskDisplay       "disp('1/sinc')"
  1339.       MaskIconFrame       on
  1340.       MaskIconOpaque       on
  1341.       MaskIconRotate       "none"
  1342.       MaskIconUnits       "autoscale"
  1343.       MaskValueString       "ts|x"
  1344.       System {
  1345. Name "Memory Impulse"
  1346. Location [541, 520, 939, 745]
  1347. Open off
  1348. ModelBrowserVisibility off
  1349. ModelBrowserWidth 200
  1350. ScreenColor "white"
  1351. PaperOrientation "landscape"
  1352. PaperPositionMode "auto"
  1353. PaperType "usletter"
  1354. PaperUnits "inches"
  1355. ZoomFactor "100"
  1356. Block {
  1357.   BlockType   Inport
  1358.   Name   "in_1"
  1359.   Position   [35, 185, 55, 205]
  1360. }
  1361. Block {
  1362.   BlockType   Inport
  1363.   Name   "in_2"
  1364.   Position   [25, 30, 45, 50]
  1365.   Port   "2"
  1366. }
  1367. Block {
  1368.   BlockType   Constant
  1369.   Name   "Constant"
  1370.   Position   [210, 155, 230, 175]
  1371.   Value   "x"
  1372. }
  1373. Block {
  1374.   BlockType   Product
  1375.   Name   "Product"
  1376.   Ports   [2, 1]
  1377.   Position   [155, 90, 180, 110]
  1378. }
  1379. Block {
  1380.   BlockType   Switch
  1381.   Name   "Switch"
  1382.   Position   [295, 124, 320, 156]
  1383.   Threshold   ".5"
  1384. }
  1385. Block {
  1386.   BlockType   ZeroOrderHold
  1387.   Name   "Zero-OrdernHold"
  1388.   Position   [205, 84, 240, 116]
  1389.   SampleTime   "ts"
  1390. }
  1391. Block {
  1392.   BlockType   SubSystem
  1393.   Name   "discretenRising edgendetector"
  1394.   Ports   [1, 1]
  1395.   Position   [65, 26, 120, 54]
  1396.   ShowPortLabels   off
  1397.   TreatAsAtomicUnit   off
  1398.   MaskType   "Edge Detection"
  1399.   MaskDescription   "Rising edge detection:"
  1400.   MaskHelp   "When the input signal rising edge p"
  1401. "assed the given shreshold, this block outputs one, otherwise outputs zero."
  1402.   MaskPromptString   "Threshold:|Sampling time:"
  1403.   MaskStyleString   "edit,edit"
  1404.   MaskTunableValueString  "on,on"
  1405.   MaskCallbackString   "|"
  1406.   MaskEnableString   "on,on"
  1407.   MaskVisibilityString   "on,on"
  1408.   MaskToolTipString   "on,on"
  1409.   MaskVarAliasString   ","
  1410.   MaskInitialization   "thld=@1;ts=@2;"
  1411.   MaskDisplay   "disp('Edge\nDetector')"
  1412.   MaskIconFrame   on
  1413.   MaskIconOpaque   on
  1414.   MaskIconRotate   "none"
  1415.   MaskIconUnits   "autoscale"
  1416.   MaskValueString   "thr|ts"
  1417.   System {
  1418.     Name     "discretenRising edgendetector"
  1419.     Location     [419, 521, 808, 713]
  1420.     Open     off
  1421.     ModelBrowserVisibility  off
  1422.     ModelBrowserWidth     200
  1423.     ScreenColor     "white"
  1424.     PaperOrientation     "landscape"
  1425.     PaperPositionMode     "auto"
  1426.     PaperType     "usletter"
  1427.     PaperUnits     "inches"
  1428.     ZoomFactor     "100"
  1429.     Block {
  1430.     BlockType     Inport
  1431.     Name     "in_1"
  1432.     Position     [10, 15, 30, 35]
  1433.     }
  1434.     Block {
  1435.     BlockType     RelationalOperator
  1436.     Name     "RelationalnOperator"
  1437.     Position     [135, 18, 165, 42]
  1438.     }
  1439.     Block {
  1440.     BlockType     RelationalOperator
  1441.     Name     "RelationalnOperator1"
  1442.     Position     [200, 88, 230, 112]
  1443.     }
  1444.     Block {
  1445.     BlockType     RelationalOperator
  1446.     Name     "RelationalnOperator2"
  1447.     Position     [265, 23, 295, 47]
  1448.     Operator     ">"
  1449.     }
  1450.     Block {
  1451.     BlockType     UnitDelay
  1452.     Name     "Unit Delay"
  1453.     Position     [120, 87, 170, 103]
  1454.     SampleTime     "ts"
  1455.     }
  1456.     Block {
  1457.     BlockType     Constant
  1458.     Name     "one1"
  1459.     Position     [30, 135, 60, 155]
  1460.     Value     "thld"
  1461.     }
  1462.     Block {
  1463.     BlockType     Outport
  1464.     Name     "out_1"
  1465.     Position     [340, 25, 360, 45]
  1466.     }
  1467.     Line {
  1468.     SrcBlock     "in_1"
  1469.     SrcPort     1
  1470.     Points     [10, 0]
  1471.     Branch {
  1472.     DstBlock     "RelationalnOperator"
  1473.     DstPort     1
  1474.     }
  1475.     Branch {
  1476.     Points     [0, 70]
  1477.     DstBlock     "Unit Delay"
  1478.     DstPort     1
  1479.     }
  1480.     }
  1481.     Line {
  1482.     SrcBlock     "Unit Delay"
  1483.     SrcPort     1
  1484.     DstBlock     "RelationalnOperator1"
  1485.     DstPort     1
  1486.     }
  1487.     Line {
  1488.     SrcBlock     "one1"
  1489.     SrcPort     1
  1490.     Points     [35, 0]
  1491.     Branch {
  1492.     Points     [0, -110]
  1493.     DstBlock     "RelationalnOperator"
  1494.     DstPort     2
  1495.     }
  1496.     Branch {
  1497.     Points     [80, 0; 0, -40]
  1498.     DstBlock     "RelationalnOperator1"
  1499.     DstPort     2
  1500.     }
  1501.     }
  1502.     Line {
  1503.     SrcBlock     "RelationalnOperator"
  1504.     SrcPort     1
  1505.     DstBlock     "RelationalnOperator2"
  1506.     DstPort     1
  1507.     }
  1508.     Line {
  1509.     SrcBlock     "RelationalnOperator1"
  1510.     SrcPort     1
  1511.     Points     [5, 0; 0, -60]
  1512.     DstBlock     "RelationalnOperator2"
  1513.     DstPort     2
  1514.     }
  1515.     Line {
  1516.     SrcBlock     "RelationalnOperator2"
  1517.     SrcPort     1
  1518.     DstBlock     "out_1"
  1519.     DstPort     1
  1520.     }
  1521.   }
  1522. }
  1523. Block {
  1524.   BlockType   Outport
  1525.   Name   "out_1"
  1526.   Position   [355, 130, 375, 150]
  1527. }
  1528. Line {
  1529.   SrcBlock   "in_2"
  1530.   SrcPort   1
  1531.   DstBlock   "discretenRising edgendetector"
  1532.   DstPort   1
  1533. }
  1534. Line {
  1535.   SrcBlock   "discretenRising edgendetector"
  1536.   SrcPort   1
  1537.   Points   [5, 0; 0, 55]
  1538.   DstBlock   "Product"
  1539.   DstPort   1
  1540. }
  1541. Line {
  1542.   SrcBlock   "Constant"
  1543.   SrcPort   1
  1544.   Points   [15, 0; 0, -25]
  1545.   DstBlock   "Switch"
  1546.   DstPort   2
  1547. }
  1548. Line {
  1549.   SrcBlock   "Switch"
  1550.   SrcPort   1
  1551.   DstBlock   "out_1"
  1552.   DstPort   1
  1553. }
  1554. Line {
  1555.   SrcBlock   "in_1"
  1556.   SrcPort   1
  1557.   Points   [35, 0]
  1558.   Branch {
  1559.     Points     [185, 0]
  1560.     DstBlock     "Switch"
  1561.     DstPort     3
  1562.   }
  1563.   Branch {
  1564.     Points     [0, -90]
  1565.     DstBlock     "Product"
  1566.     DstPort     2
  1567.   }
  1568. }
  1569. Line {
  1570.   SrcBlock   "Product"
  1571.   SrcPort   1
  1572.   DstBlock   "Zero-OrdernHold"
  1573.   DstPort   1
  1574. }
  1575. Line {
  1576.   SrcBlock   "Zero-OrdernHold"
  1577.   SrcPort   1
  1578.   Points   [15, 0; 0, 30]
  1579.   DstBlock   "Switch"
  1580.   DstPort   1
  1581. }
  1582.       }
  1583.     }
  1584.     Block {
  1585.       BlockType       SubSystem
  1586.       Name       "Pulses deividensame sample time1"
  1587.       Ports       [0, 1]
  1588.       Position       [35, 71, 95, 109]
  1589.       ShowPortLabels       off
  1590.       TreatAsAtomicUnit       off
  1591.       MaskType       "Pulse generator"
  1592.       MaskDescription       "Vector pulses with sample rate of each "
  1593. "pulse as Sample_time ./Divider. "
  1594.       MaskHelp       "This block generator a vector pulses. T"
  1595. "he output length is the same as the vector defined in "Divider". The ith el"
  1596. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  1597. "in "Divider" must be integers."
  1598.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  1599. "eger vector):|Offset (have same dimension as Divider:"
  1600.       MaskStyleString       "edit,edit,edit"
  1601.       MaskTunableValueString  "on,on,on"
  1602.       MaskCallbackString      "||"
  1603.       MaskEnableString       "on,on,on"
  1604.       MaskVisibilityString    "on,on,on"
  1605.       MaskToolTipString       "on,on,on"
  1606.       MaskVarAliasString      ",,"
  1607.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  1608.       MaskDisplay       "disp('Vector\nPulse')"
  1609.       MaskIconFrame       on
  1610.       MaskIconOpaque       on
  1611.       MaskIconRotate       "none"
  1612.       MaskIconUnits       "autoscale"
  1613.       MaskValueString       "td|1|off"
  1614.       System {
  1615. Name "Pulses deividensame sample time1"
  1616. Location [55, 192, 283, 286]
  1617. Open off
  1618. ModelBrowserVisibility off
  1619. ModelBrowserWidth 200
  1620. ScreenColor "white"
  1621. PaperOrientation "landscape"
  1622. PaperPositionMode "auto"
  1623. PaperType "usletter"
  1624. PaperUnits "inches"
  1625. ZoomFactor "100"
  1626. Block {
  1627.   BlockType   "S-Function"
  1628.   Name   "S-function1"
  1629.   Ports   [0, 1]
  1630.   Position   [40, 31, 105, 59]
  1631.   FunctionName   "homopuls"
  1632.   Parameters   "samp_time, out_divid, offset"
  1633. }
  1634. Block {
  1635.   BlockType   Outport
  1636.   Name   "Outport"
  1637.   Position   [160, 35, 180, 55]
  1638. }
  1639. Line {
  1640.   SrcBlock   "S-function1"
  1641.   SrcPort   1
  1642.   DstBlock   "Outport"
  1643.   DstPort   1
  1644. }
  1645.       }
  1646.     }
  1647.     Block {
  1648.       BlockType       Outport
  1649.       Name       "out_1"
  1650.       Position       [330, 40, 350, 60]
  1651.     }
  1652.     Line {
  1653.       SrcBlock       "Filter"
  1654.       SrcPort       1
  1655.       DstBlock       "out_1"
  1656.       DstPort       1
  1657.     }
  1658.     Line {
  1659.       SrcBlock       "in_1"
  1660.       SrcPort       1
  1661.       DstBlock       "Memory Impulse"
  1662.       DstPort       1
  1663.     }
  1664.     Line {
  1665.       SrcBlock       "Memory Impulse"
  1666.       SrcPort       1
  1667.       DstBlock       "Filter"
  1668.       DstPort       1
  1669.     }
  1670.     Line {
  1671.       SrcBlock       "Pulses deividensame sample time1"
  1672.       SrcPort       1
  1673.       Points       [15, 0; 0, -30]
  1674.       DstBlock       "Memory Impulse"
  1675.       DstPort       2
  1676.     }
  1677.   }
  1678. }
  1679. Block {
  1680.   BlockType   SubSystem
  1681.   Name   "Rolloff"
  1682.   Ports   []
  1683.   Position   [410, 19, 528, 46]
  1684.   BackgroundColor   "lightBlue"
  1685.   ShowName   off
  1686.   OpenFcn   "setrloff"
  1687.   FontSize   12
  1688.   FontAngle   "italic"
  1689.   ShowPortLabels   off
  1690.   TreatAsAtomicUnit   off
  1691.   MaskType   "rolloff"
  1692.   MaskDisplay   "disp('Rolloff-Factor')"
  1693.   MaskIconFrame   on
  1694.   MaskIconOpaque   on
  1695.   MaskIconRotate   "none"
  1696.   MaskIconUnits   "autoscale"
  1697.   System {
  1698.     Name     "Rolloff"
  1699.     Location     [136, 230, 381, 439]
  1700.     Open     off
  1701.     ModelBrowserVisibility  off
  1702.     ModelBrowserWidth     200
  1703.     ScreenColor     "cyan"
  1704.     PaperOrientation     "landscape"
  1705.     PaperPositionMode     "auto"
  1706.     PaperType     "usletter"
  1707.     PaperUnits     "inches"
  1708.     ZoomFactor     "100"
  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   [29, 245, 135, 269]
  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     [550, 391, 962, 684]
  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   "Mux"
  2209.   SrcPort   1
  2210.   DstBlock   "Plot1"
  2211.   DstPort   1
  2212. }
  2213. Line {
  2214.   SrcBlock   "Constant"
  2215.   SrcPort   1
  2216.   DstBlock   "Mux"
  2217.   DstPort   2
  2218. }
  2219. Line {
  2220.   SrcBlock   "in_1"
  2221.   SrcPort   1
  2222.   Points   [5, 0; 0, 15]
  2223.   DstBlock   "Mux"
  2224.   DstPort   1
  2225. }
  2226.       }
  2227.     }
  2228.     Line {
  2229.       SrcBlock       "Mux2"
  2230.       SrcPort       1
  2231.       Points       [20, 0]
  2232.       DstBlock       "Trajectory nreceiver"
  2233.       DstPort       1
  2234.     }
  2235.     Line {
  2236.       SrcBlock       "Mux3"
  2237.       SrcPort       1
  2238.       DstBlock       "Scatter plotnreceiver"
  2239.       DstPort       1
  2240.     }
  2241.     Line {
  2242.       SrcBlock       "Mux"
  2243.       SrcPort       1
  2244.       Points       [20, 0]
  2245.       DstBlock       "Inphase eye patternnreceiver"
  2246.       DstPort       1
  2247.     }
  2248.     Line {
  2249.       SrcBlock       "Mux1"
  2250.       SrcPort       1
  2251.       DstBlock       "Quadrature eye patternnreceiver"
  2252.       DstPort       1
  2253.     }
  2254.     Line {
  2255.       SrcBlock       "Constant"
  2256.       SrcPort       1
  2257.       Points       [0, -10]
  2258.       Branch {
  2259. DstBlock "Switch1"
  2260. DstPort 3
  2261.       }
  2262.       Branch {
  2263. Points [0, -55]
  2264. DstBlock "Switch"
  2265. DstPort 3
  2266.       }
  2267.     }
  2268.     Line {
  2269.       SrcBlock       "Step input"
  2270.       SrcPort       1
  2271.       Points       [20, 0; 0, -35]
  2272.       Branch {
  2273. DstBlock "Switch1"
  2274. DstPort 2
  2275.       }
  2276.       Branch {
  2277. Points [0, -55]
  2278. DstBlock "Switch"
  2279. DstPort 2
  2280.       }
  2281.     }
  2282.     Line {
  2283.       SrcBlock       "Inphase"
  2284.       SrcPort       1
  2285.       DstBlock       "Switch"
  2286.       DstPort       1
  2287.     }
  2288.     Line {
  2289.       SrcBlock       "Quadratur"
  2290.       SrcPort       1
  2291.       DstBlock       "Switch1"
  2292.       DstPort       1
  2293.     }
  2294.     Line {
  2295.       SrcBlock       "Constant0"
  2296.       SrcPort       1
  2297.       Points       [0, -35]
  2298.       Branch {
  2299. Points [0, -55]
  2300. DstBlock "Mux"
  2301. DstPort 1
  2302.       }
  2303.       Branch {
  2304. DstBlock "Mux1"
  2305. DstPort 1
  2306.       }
  2307.     }
  2308.     Line {
  2309.       SrcBlock       "Switch1"
  2310.       SrcPort       1
  2311.       Points       [20, 0]
  2312.       Branch {
  2313. Points [0, 70]
  2314. Branch {
  2315.   DstBlock   "Mux2"
  2316.   DstPort   2
  2317. }
  2318. Branch {
  2319.   Points   [0, 65]
  2320.   DstBlock   "Mux3"
  2321.   DstPort   2
  2322. }
  2323.       }
  2324.       Branch {
  2325. DstBlock "Mux1"
  2326. DstPort 2
  2327.       }
  2328.     }
  2329.     Line {
  2330.       SrcBlock       "Switch"
  2331.       SrcPort       1
  2332.       Points       [10, 0]
  2333.       Branch {
  2334. Points [0, 110]
  2335. Branch {
  2336.   DstBlock   "Mux2"
  2337.   DstPort   1
  2338. }
  2339. Branch {
  2340.   Points   [0, 65]
  2341.   DstBlock   "Mux3"
  2342.   DstPort   1
  2343. }
  2344.       }
  2345.       Branch {
  2346. DstBlock "Mux"
  2347. DstPort 2
  2348.       }
  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       "in_1"
  2469.       SrcPort       1
  2470.       DstBlock       "Sum2"
  2471.       DstPort       1
  2472.     }
  2473.     Line {
  2474.       SrcBlock       "Sum2"
  2475.       SrcPort       1
  2476.       DstBlock       "Quantizer"
  2477.       DstPort       1
  2478.     }
  2479.     Line {
  2480.       SrcBlock       "Constant2"
  2481.       SrcPort       1
  2482.       Points       [10, 0; 0, -35]
  2483.       DstBlock       "Sum2"
  2484.       DstPort       2
  2485.     }
  2486.     Line {
  2487.       SrcBlock       "Quantizer"
  2488.       SrcPort       1
  2489.       DstBlock       "Sum1"
  2490.       DstPort       1
  2491.     }
  2492.     Line {
  2493.       SrcBlock       "Constant3"
  2494.       SrcPort       1
  2495.       Points       [5, 0; 0, -30]
  2496.       DstBlock       "Sum1"
  2497.       DstPort       2
  2498.     }
  2499.     Line {
  2500.       SrcBlock       "Sum1"
  2501.       SrcPort       1
  2502.       DstBlock       "out_1"
  2503.       DstPort       1
  2504.     }
  2505.   }
  2506. }
  2507. Block {
  2508.   BlockType   SubSystem
  2509.   Name   "thresholdndetector_"
  2510.   Ports   [1, 1]
  2511.   Position   [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       "Sum1"
  2588.       SrcPort       1
  2589.       DstBlock       "out_1"
  2590.       DstPort       1
  2591.     }
  2592.     Line {
  2593.       SrcBlock       "Constant3"
  2594.       SrcPort       1
  2595.       Points       [5, 0; 0, -30]
  2596.       DstBlock       "Sum1"
  2597.       DstPort       2
  2598.     }
  2599.     Line {
  2600.       SrcBlock       "Quantizer"
  2601.       SrcPort       1
  2602.       DstBlock       "Sum1"
  2603.       DstPort       1
  2604.     }
  2605.     Line {
  2606.       SrcBlock       "Constant2"
  2607.       SrcPort       1
  2608.       Points       [10, 0; 0, -35]
  2609.       DstBlock       "Sum2"
  2610.       DstPort       2
  2611.     }
  2612.     Line {
  2613.       SrcBlock       "Sum2"
  2614.       SrcPort       1
  2615.       DstBlock       "Quantizer"
  2616.       DstPort       1
  2617.     }
  2618.     Line {
  2619.       SrcBlock       "in_1"
  2620.       SrcPort       1
  2621.       DstBlock       "Sum2"
  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   "Clock"
  2722.   SrcPort   1
  2723.   Points   [0, 0]
  2724.   Branch {
  2725.     DstBlock     "Fcn"
  2726.     DstPort     1
  2727.   }
  2728.   Branch {
  2729.     DstBlock     "Fcn1"
  2730.     DstPort     1
  2731.   }
  2732. }
  2733. Line {
  2734.   SrcBlock   "Product"
  2735.   SrcPort   1
  2736.   Points   [30, 0]
  2737.   Branch {
  2738.     DstBlock     "Raised-Cosinenreceive filter"
  2739.     DstPort     1
  2740.   }
  2741.   Branch {
  2742.     DstBlock     "x_c(t)"
  2743.     DstPort     1
  2744.   }
  2745. }
  2746. Line {
  2747.   SrcBlock   "Product1"
  2748.   SrcPort   1
  2749.   Points   [35, 0]
  2750.   Branch {
  2751.     DstBlock     "Raised-Cosinenreceive filter_"
  2752.     DstPort     1
  2753.   }
  2754.   Branch {
  2755.     DstBlock     "x_s(t)"
  2756.     DstPort     1
  2757.   }
  2758. }
  2759. Line {
  2760.   SrcBlock   "noisyn16-QAMnsignal"
  2761.   SrcPort   1
  2762.   Points   [25, 0]
  2763.   Branch {
  2764.     DstBlock     "r(t)"
  2765.     DstPort     1
  2766.   }
  2767.   Branch {
  2768.     Points     [45, 0]
  2769.     Branch {
  2770.       Points       [0, -75]
  2771.       DstBlock       "Product"
  2772.       DstPort       1
  2773.     }
  2774.     Branch {
  2775.       Points       [0, 75]
  2776.       DstBlock       "Product1"
  2777.       DstPort       2
  2778.     }
  2779.   }
  2780. }
  2781. Line {
  2782.   SrcBlock   "Fcn1"
  2783.   SrcPort   1
  2784.   Points   [10, 0]
  2785.   DstBlock   "Product1"
  2786.   DstPort   1
  2787. }
  2788. Line {
  2789.   SrcBlock   "Fcn"
  2790.   SrcPort   1
  2791.   Points   [10, 0; 0, -35]
  2792.   DstBlock   "Product"
  2793.   DstPort   2
  2794. }
  2795. Line {
  2796.   SrcBlock   "Raised-Cosinenreceive filter"
  2797.   SrcPort   1
  2798.   DstBlock   "Gain2"
  2799.   DstPort   1
  2800. }
  2801. Line {
  2802.   SrcBlock   "Raised-Cosinenreceive filter_"
  2803.   SrcPort   1
  2804.   DstBlock   "Gain1"
  2805.   DstPort   1
  2806. }
  2807. Line {
  2808.   SrcBlock   "Gain2"
  2809.   SrcPort   1
  2810.   Points   [0, 0]
  2811.   Branch {
  2812.     Points     [15, 0]
  2813.     DstBlock     "s_rc(t)"
  2814.     DstPort     1
  2815.   }
  2816.   Branch {
  2817.     Points     [90, 0]
  2818.     Branch {
  2819.       Points       [0, -65]
  2820.       DstBlock       "receiver diagrams"
  2821.       DstPort       1
  2822.     }
  2823.     Branch {
  2824.       DstBlock       "thresholdndetector"
  2825.       DstPort       1
  2826.     }
  2827.   }
  2828. }
  2829. Line {
  2830.   SrcBlock   "Gain1"
  2831.   SrcPort   1
  2832.   Points   [0, 0]
  2833.   Branch {
  2834.     Points     [15, 0]
  2835.     DstBlock     "s_rs(t)"
  2836.     DstPort     1
  2837.   }
  2838.   Branch {
  2839.     Points     [115, 0]
  2840.     Branch {
  2841.       Points       [0, -180]
  2842.       DstBlock       "receiver diagrams"
  2843.       DstPort       2
  2844.     }
  2845.     Branch {
  2846.       DstBlock       "thresholdndetector_"
  2847.       DstPort       1
  2848.     }
  2849.   }
  2850. }
  2851. Line {
  2852.   SrcBlock   "thresholdndetector"