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

通讯编程文档

开发平台:

Matlab

  1. Model {
  2.   Name   "qamnrzmf"
  3.   Version   5.0
  4.   SaveDefaultBlockParams  on
  5.   SampleTimeColors   off
  6.   LibraryLinkDisplay   "none"
  7.   WideLines   off
  8.   ShowLineDimensions   off
  9.   ShowPortDataTypes   off
  10.   ShowLoopsOnError   on
  11.   IgnoreBidirectionalLines off
  12.   ShowStorageClass   off
  13.   ExecutionOrder   off
  14.   RecordCoverage   off
  15.   CovPath   "/"
  16.   CovSaveName   "covdata"
  17.   CovMetricSettings   "dw"
  18.   CovNameIncrementing   off
  19.   CovHtmlReporting   on
  20.   covSaveCumulativeToWorkspaceVar on
  21.   CovSaveSingleToWorkspaceVar on
  22.   CovCumulativeVarName   "covCumulativeData"
  23.   CovCumulativeReport   off
  24.   DataTypeOverride   "UseLocalSettings"
  25.   MinMaxOverflowLogging   "UseLocalSettings"
  26.   MinMaxOverflowArchiveMode "Overwrite"
  27.   BlockNameDataTip   off
  28.   BlockParametersDataTip  off
  29.   BlockDescriptionStringDataTip off
  30.   ToolBar   on
  31.   StatusBar   on
  32.   BrowserShowLibraryLinks off
  33.   BrowserLookUnderMasks   off
  34.   CloseFcn   "closemodcross"
  35.   Created   "Wed Jul 25 16:28:19 2001"
  36.   Creator   "gerhard"
  37.   UpdateHistory   "UpdateHistoryNever"
  38.   ModifiedByFormat   "%<Auto>"
  39.   LastModifiedBy   "bauch"
  40.   ModifiedDateFormat   "%<Auto>"
  41.   LastModifiedDate   "Sat Aug 30 14:46:15 2003"
  42.   ModelVersionFormat   "1.%<AutoIncrement:69>"
  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.01"
  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       Fcn
  184.       Expr       "sin(u[1])"
  185.     }
  186.     Block {
  187.       BlockType       Gain
  188.       Gain       "1"
  189.       Multiplication       "Element-wise(K.*u)"
  190.       ShowAdditionalParam     off
  191.       ParameterDataTypeMode   "Same as input"
  192.       ParameterDataType       "sfix(16)"
  193.       ParameterScalingMode    "Best Precision: Matrix-wise"
  194.       ParameterScaling       "2^0"
  195.       OutDataTypeMode       "Same as input"
  196.       OutDataType       "sfix(16)"
  197.       OutScaling       "2^0"
  198.       LockScale       off
  199.       RndMeth       "Floor"
  200.       SaturateOnIntegerOverflow on
  201.     }
  202.     Block {
  203.       BlockType       Inport
  204.       Port       "1"
  205.       PortDimensions       "-1"
  206.       SampleTime       "-1"
  207.       ShowAdditionalParam     off
  208.       LatchInput       off
  209.       DataType       "auto"
  210.       OutDataType       "sfix(16)"
  211.       OutScaling       "2^0"
  212.       SignalType       "auto"
  213.       SamplingMode       "auto"
  214.       Interpolate       on
  215.     }
  216.     Block {
  217.       BlockType       Mux
  218.       Inputs       "4"
  219.       DisplayOption       "none"
  220.     }
  221.     Block {
  222.       BlockType       Outport
  223.       Port       "1"
  224.       OutputWhenDisabled      "held"
  225.       InitialOutput       "[]"
  226.     }
  227.     Block {
  228.       BlockType       Product
  229.       Inputs       "2"
  230.       Multiplication       "Element-wise(.*)"
  231.       ShowAdditionalParam     off
  232.       InputSameDT       on
  233.       OutDataTypeMode       "Same as first input"
  234.       OutDataType       "sfix(16)"
  235.       OutScaling       "2^0"
  236.       LockScale       off
  237.       RndMeth       "Floor"
  238.       SaturateOnIntegerOverflow on
  239.     }
  240.     Block {
  241.       BlockType       RandomNumber
  242.       Mean       "0"
  243.       Variance       "1"
  244.       Seed       "0"
  245.       SampleTime       "-1"
  246.       VectorParams1D       on
  247.     }
  248.     Block {
  249.       BlockType       Reference
  250.     }
  251.     Block {
  252.       BlockType       Scope
  253.       Floating       off
  254.       ModelBased       off
  255.       TickLabels       "OneTimeTick"
  256.       ZoomMode       "on"
  257.       Grid       "on"
  258.       TimeRange       "auto"
  259.       YMin       "-5"
  260.       YMax       "5"
  261.       SaveToWorkspace       off
  262.       SaveName       "ScopeData"
  263.       LimitDataPoints       on
  264.       MaxDataPoints       "5000"
  265.       Decimation       "1"
  266.       SampleInput       off
  267.       SampleTime       "0"
  268.     }
  269.     Block {
  270.       BlockType       "S-Function"
  271.       FunctionName       "system"
  272.       PortCounts       "[]"
  273.       SFunctionModules       "''"
  274.     }
  275.     Block {
  276.       BlockType       StateSpace
  277.       A       "1"
  278.       B       "1"
  279.       C       "1"
  280.       D       "1"
  281.       X0       "0"
  282.       AbsoluteTolerance       "auto"
  283.       Realization       "auto"
  284.     }
  285.     Block {
  286.       BlockType       Step
  287.       Time       "1"
  288.       Before       "0"
  289.       After       "1"
  290.       SampleTime       "-1"
  291.       VectorParams1D       on
  292.       ZeroCross       on
  293.     }
  294.     Block {
  295.       BlockType       SubSystem
  296.       ShowPortLabels       on
  297.       Permissions       "ReadWrite"
  298.       RTWSystemCode       "Auto"
  299.       RTWFcnNameOpts       "Auto"
  300.       RTWFileNameOpts       "Auto"
  301.       SimViewingDevice       off
  302.       DataTypeOverride       "UseLocalSettings"
  303.       MinMaxOverflowLogging   "UseLocalSettings"
  304.     }
  305.     Block {
  306.       BlockType       Sum
  307.       IconShape       "rectangular"
  308.       Inputs       "++"
  309.       ShowAdditionalParam     off
  310.       InputSameDT       on
  311.       OutDataTypeMode       "Same as first input"
  312.       OutDataType       "sfix(16)"
  313.       OutScaling       "2^0"
  314.       LockScale       off
  315.       RndMeth       "Floor"
  316.       SaturateOnIntegerOverflow on
  317.     }
  318.     Block {
  319.       BlockType       Switch
  320.       Criteria       "u2 >= Threshold"
  321.       Threshold       "0"
  322.       ShowAdditionalParam     off
  323.       InputSameDT       on
  324.       OutDataTypeMode       "Inherit via internal rule"
  325.       RndMeth       "Floor"
  326.       SaturateOnIntegerOverflow on
  327.       ZeroCross       on
  328.     }
  329.     Block {
  330.       BlockType       ZeroOrderHold
  331.       SampleTime       "1"
  332.     }
  333.   }
  334.   AnnotationDefaults {
  335.     HorizontalAlignment     "center"
  336.     VerticalAlignment     "middle"
  337.     ForegroundColor     "black"
  338.     BackgroundColor     "white"
  339.     DropShadow     off
  340.     FontName     "Helvetica"
  341.     FontSize     10
  342.     FontWeight     "normal"
  343.     FontAngle     "normal"
  344.   }
  345.   LineDefaults {
  346.     FontName     "Helvetica"
  347.     FontSize     9
  348.     FontWeight     "normal"
  349.     FontAngle     "normal"
  350.   }
  351.   System {
  352.     Name     "qamnrzmf"
  353.     Location     [7, 153, 1016, 431]
  354.     Open     on
  355.     ModelBrowserVisibility  off
  356.     ModelBrowserWidth     200
  357.     ScreenColor     "white"
  358.     PaperOrientation     "landscape"
  359.     PaperPositionMode     "auto"
  360.     PaperType     "usletter"
  361.     PaperUnits     "inches"
  362.     ZoomFactor     "100"
  363.     ReportName     "simulink-default.rpt"
  364.     Block {
  365.       BlockType       Reference
  366.       Name       "Channel"
  367.       Ports       [1, 1]
  368.       Position       [470, 84, 550, 126]
  369.       SourceBlock       "librnew/Channel"
  370.       SourceType       "AWGN channel, fixed parameter"
  371.       m       "0"
  372.       variance       "0.001"
  373.       s       "12345"
  374.     }
  375.     Block {
  376.       BlockType       SubSystem
  377.       Name       "Error rate"
  378.       Ports       [2]
  379.       Position       [465, 215, 545, 255]
  380.       Orientation       "down"
  381.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  382.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  383.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  384.       StartFcn       "sbiterr([],[],[],'Start')"
  385.       StopFcn       "sbiterr([],[],[],'Stop')"
  386.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  387.       ShowPortLabels       off
  388.       TreatAsAtomicUnit       off
  389.       MaskType       "Symbol/bit error counter"
  390.       MaskDescription       "Use the input data from the 1st port as the ref"
  391. "erence signal to detect the number of errors and error rate of the 2nd signal"
  392. "."
  393.       MaskHelp       "The signal from the first port must be a scalar"
  394. ". The second input port can be a vector with a delay to the first port signal"
  395. ". The comparison happens only at the sampling point."
  396.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  397. "lay between 1st port and 2nd port:|Sample time (sec):"
  398.       MaskStyleString       "edit,edit,edit,edit"
  399.       MaskTunableValueString  "on,on,on,on"
  400.       MaskCallbackString      "|||"
  401.       MaskEnableString       "on,on,on,on"
  402.       MaskVisibilityString    "on,on,on,on"
  403.       MaskToolTipString       "on,on,on,on"
  404.       MaskVarAliasString      ",,,"
  405.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  406.       MaskDisplay       "disp('Error\nmeter')"
  407.       MaskIconFrame       on
  408.       MaskIconOpaque       on
  409.       MaskIconRotate       "none"
  410.       MaskIconUnits       "autoscale"
  411.       MaskValueString       "4|10|1|1"
  412.       System {
  413. Name "Error rate"
  414. Location [255, 368, 509, 510]
  415. Open off
  416. ModelBrowserVisibility off
  417. ModelBrowserWidth 200
  418. ScreenColor "white"
  419. PaperOrientation "landscape"
  420. PaperPositionMode "auto"
  421. PaperType "usletter"
  422. PaperUnits "inches"
  423. ZoomFactor "100"
  424. Block {
  425.   BlockType   Inport
  426.   Name   "in_1"
  427.   Position   [15, 45, 35, 65]
  428. }
  429. Block {
  430.   BlockType   Inport
  431.   Name   "in_2"
  432.   Position   [15, 60, 35, 80]
  433.   Port   "2"
  434. }
  435. Block {
  436.   BlockType   Mux
  437.   Name   "Mux"
  438.   Ports   [2, 1]
  439.   Position   [65, 46, 100, 79]
  440.   Inputs   "2"
  441. }
  442. Block {
  443.   BlockType   "S-Function"
  444.   Name   "S-function"
  445.   Ports   [1]
  446.   Position   [130, 52, 195, 78]
  447.   FunctionName   "sbiterr"
  448.   Parameters   "num_lin, K, TDelay, Sample"
  449. }
  450. Line {
  451.   SrcBlock   "Mux"
  452.   SrcPort   1
  453.   DstBlock   "S-function"
  454.   DstPort   1
  455. }
  456. Line {
  457.   SrcBlock   "in_1"
  458.   SrcPort   1
  459.   DstBlock   "Mux"
  460.   DstPort   1
  461. }
  462. Line {
  463.   SrcBlock   "in_2"
  464.   SrcPort   1
  465.   DstBlock   "Mux"
  466.   DstPort   2
  467. }
  468.       }
  469.     }
  470.     Block {
  471.       BlockType       SubSystem
  472.       Name       "Receiver"
  473.       Ports       [1, 1]
  474.       Position       [650, 62, 725, 148]
  475.       ShowPortLabels       off
  476.       TreatAsAtomicUnit       off
  477.       System {
  478. Name "Receiver"
  479. Location [-52, 128, 944, 417]
  480. Open off
  481. ModelBrowserVisibility off
  482. ModelBrowserWidth 200
  483. ScreenColor "white"
  484. PaperOrientation "landscape"
  485. PaperPositionMode "auto"
  486. PaperType "usletter"
  487. PaperUnits "inches"
  488. ZoomFactor "100"
  489. Block {
  490.   BlockType   Inport
  491.   Name   "noisyn16-QAMnsignal"
  492.   Position   [25, 145, 45, 165]
  493. }
  494. Block {
  495.   BlockType   Reference
  496.   Name   "16-QAM"
  497.   Ports   [2, 1]
  498.   Position   [920, 125, 975, 180]
  499.   SourceBlock   "simulink3/Functionsn& Tables/Direct Look-U"
  500. "pnTable (n-D)"
  501.   SourceType   "LookupNDDirect"
  502.   maskTabDims   "2"
  503.   explicitNumDims   "1"
  504.   outDims   "Element"
  505.   tabIsInput   "off"
  506.   mxTable   "[0 1 2 3; 4 5 6 7; 8 9 10 11; 12 13 14 15]"
  507.   clipFlag   "Warning"
  508. }
  509. Block {
  510.   BlockType   SubSystem
  511.   Name   "4-ASK demap"
  512.   Ports   [1, 1]
  513.   Position   [795, 109, 865, 151]
  514.   TreatAsAtomicUnit   off
  515.   MaskType   "MASK demapping"
  516.   MaskDescription   "Reverse the MASK mapping processnConvert ["
  517. "-1 1] analog signal to [0, M-1] symbols."
  518.   MaskHelp   "This block demaps a MASK mapped signal back"
  519. " to digit symbols. You can place this block after a amplitude demodulation bl"
  520. "ock. The input of this block is an analog signal in the range [-1, 1]. The de"
  521. "modulation decides the closest integer fitting in [0,M-1] range. When the inp"
  522. "ut symbol interval is a two-elements vector, the second element is offset. Th"
  523. "e default offset value is 0."
  524.   MaskPromptString   "M-ary number (digit integers in ranger [0, "
  525. "M-1]):|Output symbol interval and offset (sec):"
  526.   MaskStyleString   "edit,edit"
  527.   MaskTunableValueString  "on,on"
  528.   MaskCallbackString   "|"
  529.   MaskEnableString   "on,on"
  530.   MaskVisibilityString   "on,on"
  531.   MaskToolTipString   "on,on"
  532.   MaskVarAliasString   ","
  533.   MaskVariables   "N=@1;td=@2;"
  534.   MaskInitialization   "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
  535.   MaskDisplay   "disp('MASK\ndemapping')"
  536.   MaskIconFrame   on
  537.   MaskIconOpaque   on
  538.   MaskIconRotate   "none"
  539.   MaskIconUnits   "autoscale"
  540.   MaskValueString   "4|[1, .9]"
  541.   System {
  542.     Name     "4-ASK demap"
  543.     Location     [617, 158, 1115, 458]
  544.     Open     off
  545.     ModelBrowserVisibility  off
  546.     ModelBrowserWidth     200
  547.     ScreenColor     "white"
  548.     PaperOrientation     "landscape"
  549.     PaperPositionMode     "auto"
  550.     PaperType     "usletter"
  551.     PaperUnits     "inches"
  552.     ZoomFactor     "100"
  553.     Block {
  554.       BlockType       Inport
  555.       Name       "in_1"
  556.       Position       [40, 30, 60, 50]
  557.     }
  558.     Block {
  559.       BlockType       Abs
  560.       Name       "Abs"
  561.       Position       [245, 37, 280, 63]
  562.     }
  563.     Block {
  564.       BlockType       "S-Function"
  565.       Name       "Minimum"
  566.       Ports       [1, 1]
  567.       Position       [325, 40, 380, 60]
  568.       FunctionName       "arymimai"
  569.       Parameters       "'min'"
  570.     }
  571.     Block {
  572.       BlockType       Constant
  573.       Name       "Shift key"
  574.       Position       [125, 88, 145, 112]
  575.       Value       "sft"
  576.     }
  577.     Block {
  578.       BlockType       Sum
  579.       Name       "Sum2"
  580.       Ports       [2, 1]
  581.       Position       [190, 33, 210, 62]
  582.       Inputs       "+-"
  583.     }
  584.     Block {
  585.       BlockType       ZeroOrderHold
  586.       Name       "Zero-OrdernHold"
  587.       Position       [95, 24, 130, 56]
  588.       SampleTime       "td"
  589.     }
  590.     Block {
  591.       BlockType       Outport
  592.       Name       "out_1"
  593.       Position       [410, 40, 430, 60]
  594.     }
  595.     Line {
  596.       SrcBlock       "in_1"
  597.       SrcPort       1
  598.       DstBlock       "Zero-OrdernHold"
  599.       DstPort       1
  600.     }
  601.     Line {
  602.       SrcBlock       "Abs"
  603.       SrcPort       1
  604.       DstBlock       "Minimum"
  605.       DstPort       1
  606.     }
  607.     Line {
  608.       SrcBlock       "Zero-OrdernHold"
  609.       SrcPort       1
  610.       DstBlock       "Sum2"
  611.       DstPort       1
  612.     }
  613.     Line {
  614.       SrcBlock       "Minimum"
  615.       SrcPort       1
  616.       DstBlock       "out_1"
  617.       DstPort       1
  618.     }
  619.     Line {
  620.       SrcBlock       "Shift key"
  621.       SrcPort       1
  622.       Points       [15, 0; 0, -45]
  623.       DstBlock       "Sum2"
  624.       DstPort       2
  625.     }
  626.     Line {
  627.       SrcBlock       "Sum2"
  628.       SrcPort       1
  629.       DstBlock       "Abs"
  630.       DstPort       1
  631.     }
  632.   }
  633. }
  634. Block {
  635.   BlockType   SubSystem
  636.   Name   "4-ASK demap1"
  637.   Ports   [1, 1]
  638.   Position   [800, 174, 870, 216]
  639.   TreatAsAtomicUnit   off
  640.   MaskType   "MASK demapping"
  641.   MaskDescription   "Reverse the MASK mapping processnConvert ["
  642. "-1 1] analog signal to [0, M-1] symbols."
  643.   MaskHelp   "This block demaps a MASK mapped signal back"
  644. " to digit symbols. You can place this block after a amplitude demodulation bl"
  645. "ock. The input of this block is an analog signal in the range [-1, 1]. The de"
  646. "modulation decides the closest integer fitting in [0,M-1] range. When the inp"
  647. "ut symbol interval is a two-elements vector, the second element is offset. Th"
  648. "e default offset value is 0."
  649.   MaskPromptString   "M-ary number (digit integers in ranger [0, "
  650. "M-1]):|Output symbol interval and offset (sec):"
  651.   MaskStyleString   "edit,edit"
  652.   MaskTunableValueString  "on,on"
  653.   MaskCallbackString   "|"
  654.   MaskEnableString   "on,on"
  655.   MaskVisibilityString   "on,on"
  656.   MaskToolTipString   "on,on"
  657.   MaskVarAliasString   ","
  658.   MaskVariables   "N=@1;td=@2;"
  659.   MaskInitialization   "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
  660.   MaskDisplay   "disp('MASK\ndemapping')"
  661.   MaskIconFrame   on
  662.   MaskIconOpaque   on
  663.   MaskIconRotate   "none"
  664.   MaskIconUnits   "autoscale"
  665.   MaskValueString   "4|[1, .9]"
  666.   System {
  667.     Name     "4-ASK demap1"
  668.     Location     [617, 158, 1115, 458]
  669.     Open     off
  670.     ModelBrowserVisibility  off
  671.     ModelBrowserWidth     200
  672.     ScreenColor     "white"
  673.     PaperOrientation     "landscape"
  674.     PaperPositionMode     "auto"
  675.     PaperType     "usletter"
  676.     PaperUnits     "inches"
  677.     ZoomFactor     "100"
  678.     Block {
  679.       BlockType       Inport
  680.       Name       "in_1"
  681.       Position       [40, 30, 60, 50]
  682.     }
  683.     Block {
  684.       BlockType       Abs
  685.       Name       "Abs"
  686.       Position       [245, 37, 280, 63]
  687.     }
  688.     Block {
  689.       BlockType       "S-Function"
  690.       Name       "Minimum"
  691.       Ports       [1, 1]
  692.       Position       [325, 40, 380, 60]
  693.       FunctionName       "arymimai"
  694.       Parameters       "'min'"
  695.     }
  696.     Block {
  697.       BlockType       Constant
  698.       Name       "Shift key"
  699.       Position       [125, 88, 145, 112]
  700.       Value       "sft"
  701.     }
  702.     Block {
  703.       BlockType       Sum
  704.       Name       "Sum2"
  705.       Ports       [2, 1]
  706.       Position       [190, 33, 210, 62]
  707.       Inputs       "+-"
  708.     }
  709.     Block {
  710.       BlockType       ZeroOrderHold
  711.       Name       "Zero-OrdernHold"
  712.       Position       [95, 24, 130, 56]
  713.       SampleTime       "td"
  714.     }
  715.     Block {
  716.       BlockType       Outport
  717.       Name       "out_1"
  718.       Position       [410, 40, 430, 60]
  719.     }
  720.     Line {
  721.       SrcBlock       "in_1"
  722.       SrcPort       1
  723.       DstBlock       "Zero-OrdernHold"
  724.       DstPort       1
  725.     }
  726.     Line {
  727.       SrcBlock       "Abs"
  728.       SrcPort       1
  729.       DstBlock       "Minimum"
  730.       DstPort       1
  731.     }
  732.     Line {
  733.       SrcBlock       "Zero-OrdernHold"
  734.       SrcPort       1
  735.       DstBlock       "Sum2"
  736.       DstPort       1
  737.     }
  738.     Line {
  739.       SrcBlock       "Minimum"
  740.       SrcPort       1
  741.       DstBlock       "out_1"
  742.       DstPort       1
  743.     }
  744.     Line {
  745.       SrcBlock       "Shift key"
  746.       SrcPort       1
  747.       Points       [15, 0; 0, -45]
  748.       DstBlock       "Sum2"
  749.       DstPort       2
  750.     }
  751.     Line {
  752.       SrcBlock       "Sum2"
  753.       SrcPort       1
  754.       DstBlock       "Abs"
  755.       DstPort       1
  756.     }
  757.   }
  758. }
  759. Block {
  760.   BlockType   Clock
  761.   Name   "Clock"
  762.   Position   [145, 140, 165, 160]
  763.   ShowName   off
  764.   Decimation   "10"
  765. }
  766. Block {
  767.   BlockType   Fcn
  768.   Name   "Fcn"
  769.   Position   [185, 119, 265, 141]
  770.   ShowName   off
  771.   Expr   "2*cos(4*pi*u)"
  772. }
  773. Block {
  774.   BlockType   Fcn
  775.   Name   "Fcn1"
  776.   Position   [185, 159, 265, 181]
  777.   ShowName   off
  778.   Expr   "-2*sin(4*pi*u)"
  779. }
  780. Block {
  781.   BlockType   "S-Function"
  782.   Name   "Integrate and Dumpn"
  783.   Ports   [1, 1]
  784.   Position   [425, 68, 505, 112]
  785.   FunctionName   "schdint"
  786.   Parameters   "td, ts, limit"
  787.   MaskType   "Scheduled reset integration"
  788.   MaskDescription   "Reset the state to be zero(s) at thensched"
  789. "uled reset sample point."
  790.   MaskHelp   "This block resets the state(s) to be zero(s"
  791. ") at the reset time points. The reset interval can be a two-element vector wi"
  792. "th the second element as offset. The computation sample time must be smaller "
  793. "than the reset interval. The block resets the state value to be the remainder"
  794. " of the state divided by the modulo bound when the absolute value of the stat"
  795. "e is larger than the modulo bound."
  796.   MaskPromptString   "Scheduled reset time interval and offset (s"
  797. "ec):|Computation sample time and offset (sec):|Modulo bound:"
  798.   MaskStyleString   "edit,edit,edit"
  799.   MaskTunableValueString  "on,on,on"
  800.   MaskCallbackString   "||"
  801.   MaskEnableString   "on,on,on"
  802.   MaskVisibilityString   "on,on,on"
  803.   MaskToolTipString   "on,on,on"
  804.   MaskVarAliasString   ",,"
  805.   MaskInitialization   "td=@1;ts=@2;limit=@3;"
  806.   MaskDisplay   "disp('Scheduled\nreset-int')"
  807.   MaskIconFrame   on
  808.   MaskIconOpaque   on
  809.   MaskIconRotate   "none"
  810.   MaskIconUnits   "autoscale"
  811.   MaskValueString   "1|.01|999"
  812. }
  813. Block {
  814.   BlockType   "S-Function"
  815.   Name   "Integrate and Dump_"
  816.   Ports   [1, 1]
  817.   Position   [425, 203, 505, 247]
  818.   FunctionName   "schdint"
  819.   Parameters   "td, ts, limit"
  820.   MaskType   "Scheduled reset integration"
  821.   MaskDescription   "Reset the state to be zero(s) at thensched"
  822. "uled reset sample point."
  823.   MaskHelp   "This block resets the state(s) to be zero(s"
  824. ") at the reset time points. The reset interval can be a two-element vector wi"
  825. "th the second element as offset. The computation sample time must be smaller "
  826. "than the reset interval. The block resets the state value to be the remainder"
  827. " of the state divided by the modulo bound when the absolute value of the stat"
  828. "e is larger than the modulo bound."
  829.   MaskPromptString   "Scheduled reset time interval and offset (s"
  830. "ec):|Computation sample time and offset (sec):|Modulo bound:"
  831.   MaskStyleString   "edit,edit,edit"
  832.   MaskTunableValueString  "on,on,on"
  833.   MaskCallbackString   "||"
  834.   MaskEnableString   "on,on,on"
  835.   MaskVisibilityString   "on,on,on"
  836.   MaskToolTipString   "on,on,on"
  837.   MaskVarAliasString   ",,"
  838.   MaskInitialization   "td=@1;ts=@2;limit=@3;"
  839.   MaskDisplay   "disp('Scheduled\nreset-int')"
  840.   MaskIconFrame   on
  841.   MaskIconOpaque   on
  842.   MaskIconRotate   "none"
  843.   MaskIconUnits   "autoscale"
  844.   MaskValueString   "1|.01|999"
  845. }
  846. Block {
  847.   BlockType   Product
  848.   Name   "Product"
  849.   Ports   [2, 1]
  850.   Position   [300, 74, 330, 101]
  851.   ShowName   off
  852. }
  853. Block {
  854.   BlockType   Product
  855.   Name   "Product1"
  856.   Ports   [2, 1]
  857.   Position   [295, 213, 325, 237]
  858.   ShowName   off
  859. }
  860. Block {
  861.   BlockType   SubSystem
  862.   Name   "close receiver"
  863.   Ports   []
  864.   Position   [790, 20, 925, 46]
  865.   BackgroundColor   "lightBlue"
  866.   ShowName   off
  867.   OpenFcn   "closqamr"
  868.   FontSize   12
  869.   FontAngle   "italic"
  870.   ShowPortLabels   off
  871.   TreatAsAtomicUnit   off
  872.   MaskType   "close"
  873.   MaskDisplay   "disp('close receiver')"
  874.   MaskIconFrame   on
  875.   MaskIconOpaque   on
  876.   MaskIconRotate   "none"
  877.   MaskIconUnits   "autoscale"
  878.   System {
  879.     Name     "close receiver"
  880.     Location     [136, 230, 381, 439]
  881.     Open     off
  882.     ModelBrowserVisibility  off
  883.     ModelBrowserWidth     200
  884.     ScreenColor     "cyan"
  885.     PaperOrientation     "landscape"
  886.     PaperPositionMode     "auto"
  887.     PaperType     "usletter"
  888.     PaperUnits     "inches"
  889.     ZoomFactor     "100"
  890.   }
  891. }
  892. Block {
  893.   BlockType   SubSystem
  894.   Name   "noise variance"
  895.   Ports   []
  896.   Position   [19, 240, 125, 264]
  897.   BackgroundColor   "lightBlue"
  898.   ShowName   off
  899.   OpenFcn   "setnoise"
  900.   FontSize   12
  901.   FontAngle   "italic"
  902.   ShowPortLabels   off
  903.   TreatAsAtomicUnit   off
  904.   MaskType   "noise"
  905.   MaskDisplay   "disp('Noise variance')"
  906.   MaskIconFrame   on
  907.   MaskIconOpaque   on
  908.   MaskIconRotate   "none"
  909.   MaskIconUnits   "autoscale"
  910.   System {
  911.     Name     "noise variance"
  912.     Location     [136, 230, 381, 439]
  913.     Open     off
  914.     ModelBrowserVisibility  off
  915.     ModelBrowserWidth     200
  916.     ScreenColor     "cyan"
  917.     PaperOrientation     "landscape"
  918.     PaperPositionMode     "auto"
  919.     PaperType     "usletter"
  920.     PaperUnits     "inches"
  921.     ZoomFactor     "100"
  922.   }
  923. }
  924. Block {
  925.   BlockType   Scope
  926.   Name   "r(t)"
  927.   Ports   [1]
  928.   Position   [60, 70, 90, 100]
  929.   Orientation   "up"
  930.   Location   [320, 340, 960, 440]
  931.   Open   off
  932.   NumInputPorts   "1"
  933.   List {
  934.     ListType     AxesTitles
  935.     axes1     "%<SignalLabel>"
  936.   }
  937.   TimeRange   "25.000000"
  938.   YMin   "-1.500000"
  939.   YMax   "1.500000"
  940.   DataFormat   "Array"
  941. }
  942. Block {
  943.   BlockType   SubSystem
  944.   Name   "receiver diagrams"
  945.   Ports   [2]
  946.   Position   [685, 15, 740, 55]
  947.   ShowPortLabels   off
  948.   TreatAsAtomicUnit   off
  949.   MaskType   "2D-Diagrams"
  950.   MaskDescription   "Eye pattern, signal space trajectory and sc"
  951. "atter plot"
  952.   MaskPromptString   "Plot start time:|Samples per time slot (2*T"
  953. "):|Decision offset:"
  954.   MaskStyleString   "edit,edit,edit"
  955.   MaskTunableValueString  "on,on,on"
  956.   MaskCallbackString   "||"
  957.   MaskEnableString   "on,on,on"
  958.   MaskVisibilityString   "on,on,on"
  959.   MaskToolTipString   "on,on,on"
  960.   MaskVarAliasString   ",,"
  961.   MaskVariables   "starttime=@1;anzahl=@2;offset=@3;"
  962.   MaskInitialization   " [x, y] = srcsicon(10);"
  963.   MaskDisplay   "plot(0,0,100,100,x,y)"
  964.   MaskIconFrame   on
  965.   MaskIconOpaque   on
  966.   MaskIconRotate   "none"
  967.   MaskIconUnits   "autoscale"
  968.   MaskValueString   "0|40|0"
  969.   System {
  970.     Name     "receiver diagrams"
  971.     Location     [567, 427, 979, 720]
  972.     Open     off
  973.     ModelBrowserVisibility  off
  974.     ModelBrowserWidth     200
  975.     ScreenColor     "white"
  976.     PaperOrientation     "landscape"
  977.     PaperPositionMode     "auto"
  978.     PaperType     "usletter"
  979.     PaperUnits     "inches"
  980.     ZoomFactor     "100"
  981.     Block {
  982.       BlockType       Inport
  983.       Name       "Inphase"
  984.       Position       [30, 25, 50, 45]
  985.     }
  986.     Block {
  987.       BlockType       Inport
  988.       Name       "Quadratur"
  989.       Position       [30, 80, 50, 100]
  990.       Port       "2"
  991.     }
  992.     Block {
  993.       BlockType       Constant
  994.       Name       "Constant"
  995.       Position       [90, 125, 110, 145]
  996.       Orientation       "up"
  997.       ShowName       off
  998.       Value       "Inf"
  999.     }
  1000.     Block {
  1001.       BlockType       Constant
  1002.       Name       "Constant0"
  1003.       Position       [190, 125, 210, 145]
  1004.       Orientation       "up"
  1005.       ShowName       off
  1006.       Value       "0"
  1007.     }
  1008.     Block {
  1009.       BlockType       SubSystem
  1010.       Name       "Inphase eye patternnreceiver"
  1011.       Ports       [1]
  1012.       Position       [305, 12, 360, 48]
  1013.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1014.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1015.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1016.       StartFcn       "eyesampl([],[],[],'Start')"
  1017.       StopFcn       "eyesampl([],[],[],'Stop')"
  1018.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1019.       ShowPortLabels       off
  1020.       TreatAsAtomicUnit       off
  1021.       MaskType       "Eye-diagram/scatter plot"
  1022.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1023. "ter plot."
  1024.       MaskHelp       "This plot opens one, or two plots by as"
  1025. "signing the line type parameters. The scatter plot point is selected by the d"
  1026. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1027. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1028.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1029. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1030. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1031. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1032.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1033.       MaskTunableValueString  "on,on,on,on,on,on"
  1034.       MaskCallbackString      "|||||"
  1035.       MaskEnableString       "on,on,on,on,on,on"
  1036.       MaskVisibilityString    "on,on,on,on,on,on"
  1037.       MaskToolTipString       "on,on,on,on,on,on"
  1038.       MaskVarAliasString      ",,,,,"
  1039.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1040. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1041.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1042.       MaskIconFrame       on
  1043.       MaskIconOpaque       on
  1044.       MaskIconRotate       "none"
  1045.       MaskIconUnits       "autoscale"
  1046.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  1047. "/anzahl"
  1048.       System {
  1049. Name "Inphase eye patternnreceiver"
  1050. Location [121, 409, 416, 595]
  1051. Open off
  1052. ModelBrowserVisibility off
  1053. ModelBrowserWidth 200
  1054. ScreenColor "white"
  1055. PaperOrientation "landscape"
  1056. PaperPositionMode "auto"
  1057. PaperType "usletter"
  1058. PaperUnits "inches"
  1059. ZoomFactor "100"
  1060. Block {
  1061.   BlockType   Inport
  1062.   Name   "in_1"
  1063.   Position   [75, 80, 95, 100]
  1064. }
  1065. Block {
  1066.   BlockType   "S-Function"
  1067.   Name   "Plot1"
  1068.   Ports   [1]
  1069.   Position   [130, 70, 200, 110]
  1070.   FunctionName   "eyesampl"
  1071.   Parameters   "time_range, boundary, kept_length, "
  1072. "eye_line, scatter_line, two_d_line"
  1073. }
  1074. Line {
  1075.   SrcBlock   "in_1"
  1076.   SrcPort   1
  1077.   DstBlock   "Plot1"
  1078.   DstPort   1
  1079. }
  1080.       }
  1081.     }
  1082.     Block {
  1083.       BlockType       Mux
  1084.       Name       "Mux"
  1085.       Ports       [2, 1]
  1086.       Position       [230, 21, 265, 54]
  1087.       Inputs       "2"
  1088.     }
  1089.     Block {
  1090.       BlockType       Mux
  1091.       Name       "Mux1"
  1092.       Ports       [2, 1]
  1093.       Position       [230, 76, 265, 109]
  1094.       Inputs       "2"
  1095.     }
  1096.     Block {
  1097.       BlockType       Mux
  1098.       Name       "Mux2"
  1099.       Ports       [2, 1]
  1100.       Position       [230, 146, 265, 179]
  1101.       Inputs       "2"
  1102.     }
  1103.     Block {
  1104.       BlockType       Mux
  1105.       Name       "Mux3"
  1106.       Ports       [2, 1]
  1107.       Position       [230, 211, 265, 244]
  1108.       Inputs       "2"
  1109.     }
  1110.     Block {
  1111.       BlockType       SubSystem
  1112.       Name       "Quadrature eye patternnreceiver"
  1113.       Ports       [1]
  1114.       Position       [305, 77, 360, 113]
  1115.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1116.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1117.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1118.       StartFcn       "eyesampl([],[],[],'Start')"
  1119.       StopFcn       "eyesampl([],[],[],'Stop')"
  1120.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1121.       ShowPortLabels       off
  1122.       TreatAsAtomicUnit       off
  1123.       MaskType       "Eye-diagram/scatter plot"
  1124.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1125. "ter plot."
  1126.       MaskHelp       "This plot opens one, or two plots by as"
  1127. "signing the line type parameters. The scatter plot point is selected by the d"
  1128. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1129. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1130.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1131. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1132. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1133. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1134.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1135.       MaskTunableValueString  "on,on,on,on,on,on"
  1136.       MaskCallbackString      "|||||"
  1137.       MaskEnableString       "on,on,on,on,on,on"
  1138.       MaskVisibilityString    "on,on,on,on,on,on"
  1139.       MaskToolTipString       "on,on,on,on,on,on"
  1140.       MaskVarAliasString      ",,,,,"
  1141.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1142. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1143.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1144.       MaskIconFrame       on
  1145.       MaskIconOpaque       on
  1146.       MaskIconRotate       "none"
  1147.       MaskIconUnits       "autoscale"
  1148.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  1149. "/anzahl"
  1150.       System {
  1151. Name "Quadrature eye patternnreceiver"
  1152. Location [121, 409, 416, 595]
  1153. Open off
  1154. ModelBrowserVisibility off
  1155. ModelBrowserWidth 200
  1156. ScreenColor "white"
  1157. PaperOrientation "landscape"
  1158. PaperPositionMode "auto"
  1159. PaperType "usletter"
  1160. PaperUnits "inches"
  1161. ZoomFactor "100"
  1162. Block {
  1163.   BlockType   Inport
  1164.   Name   "in_1"
  1165.   Position   [75, 80, 95, 100]
  1166. }
  1167. Block {
  1168.   BlockType   "S-Function"
  1169.   Name   "Plot1"
  1170.   Ports   [1]
  1171.   Position   [130, 70, 200, 110]
  1172.   FunctionName   "eyesampl"
  1173.   Parameters   "time_range, boundary, kept_length, "
  1174. "eye_line, scatter_line, two_d_line"
  1175. }
  1176. Line {
  1177.   SrcBlock   "in_1"
  1178.   SrcPort   1
  1179.   DstBlock   "Plot1"
  1180.   DstPort   1
  1181. }
  1182.       }
  1183.     }
  1184.     Block {
  1185.       BlockType       SubSystem
  1186.       Name       "Scatter plotnreceiver"
  1187.       Ports       [1]
  1188.       Position       [305, 213, 360, 247]
  1189.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  1190.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  1191.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  1192.       StartFcn       "eyesampl([],[],[],'Start')"
  1193.       StopFcn       "eyesampl([],[],[],'Stop')"
  1194.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  1195.       ShowPortLabels       off
  1196.       TreatAsAtomicUnit       off
  1197.       MaskType       "Eye-diagram/scatter plot"
  1198.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  1199. "ter plot."
  1200.       MaskHelp       "This plot opens one, or two plots by as"
  1201. "signing the line type parameters. The scatter plot point is selected by the d"
  1202. "ecision point in the first parameter entry. A decision line is drawn in the e"
  1203. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  1204.       MaskPromptString       "[Symbol interval, plot offset, decision"
  1205. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  1206. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  1207. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  1208.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1209.       MaskTunableValueString  "on,on,on,on,on,on"
  1210.       MaskCallbackString      "|||||"
  1211.       MaskEnableString       "on,on,on,on,on,on"
  1212.       MaskVisibilityString    "on,on,on,on,on,on"
  1213.       MaskToolTipString       "on,on,on,on,on,on"
  1214.       MaskVarAliasString      ",,,,,"
  1215.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1216. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1217.       MaskDisplay       "plot(0,0,100,100,x,y);"
  1218.       MaskIconFrame       on
  1219.       MaskIconOpaque       on
  1220.       MaskIconRotate       "none"
  1221.       MaskIconUnits       "autoscale"
  1222.       MaskValueString       "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 off"
  1223. "set]"
  1224.       System {
  1225. Name "Scatter plotnreceiver"
  1226. Location [165, 242, 460, 428]
  1227. Open off
  1228. ModelBrowserVisibility off
  1229. ModelBrowserWidth 200
  1230. ScreenColor "white"
  1231. PaperOrientation "landscape"
  1232. PaperPositionMode "auto"
  1233. PaperType "usletter"
  1234. PaperUnits "inches"
  1235. ZoomFactor "100"
  1236. Block {
  1237.   BlockType   Inport
  1238.   Name   "in_1"
  1239.   Position   [75, 80, 95, 100]
  1240. }
  1241. Block {
  1242.   BlockType   "S-Function"
  1243.   Name   "Plot1"
  1244.   Ports   [1]
  1245.   Position   [130, 70, 200, 110]
  1246.   FunctionName   "eyesampl"
  1247.   Parameters   "time_range, boundary, kept_length, "
  1248. "eye_line, scatter_line, two_d_line"
  1249. }
  1250. Line {
  1251.   SrcBlock   "in_1"
  1252.   SrcPort   1
  1253.   DstBlock   "Plot1"
  1254.   DstPort   1
  1255. }
  1256.       }
  1257.     }
  1258.     Block {
  1259.       BlockType       Step
  1260.       Name       "Step input"
  1261.       Position       [30, 125, 50, 145]
  1262.       Time       "starttime"
  1263.       SampleTime       "1"
  1264.     }
  1265.     Block {
  1266.       BlockType       Switch
  1267.       Name       "Switch"
  1268.       Position       [130, 29, 155, 61]
  1269.       Threshold       "1"
  1270.     }
  1271.     Block {
  1272.       BlockType       Switch
  1273.       Name       "Switch1"
  1274.       Position       [130, 84, 155, 116]
  1275.       Threshold       "1"
  1276.     }
  1277.     Block {
  1278.       BlockType       SubSystem
  1279.       Name       "Trajectory nreceiver"
  1280.       Ports       [1]
  1281.       Position       [305, 157, 360, 193]
  1282.       CopyFcn       "eyediasi([],[],[],'CopyBlock')"
  1283.       DeleteFcn       "eyediasi([],[],[],'DeleteBlock')"
  1284.       LoadFcn       "eyediasi([],[],[],'LoadBlock')"
  1285.       StartFcn       "eyediasi([],[],[],'Start')"
  1286.       StopFcn       "eyediasi([],[],[],'Stop')"
  1287.       NameChangeFcn       "eyediasi([],[],[],'NameChange')"
  1288.       ShowPortLabels       off
  1289.       TreatAsAtomicUnit       off
  1290.       MaskType       "Eye-diagram/scatter plot"
  1291.       MaskDescription       "Produce eye-pattern diagram/scatternpl"
  1292. "ot/x-y plot with the rising edge of the second input as the decision line."
  1293.       MaskHelp       "This plot opens one, two, or three plot"
  1294. "s by assigning the line type parameters. The scatter plot point is selected b"
  1295. "y the rising edge of a trigger signal. A decision line is drawn at the rising"
  1296. " edge of the trigger signal."
  1297.       MaskPromptString       "Eye-pattern plot time frame:|Lower and "
  1298. "upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-ty"
  1299. "pe for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for"
  1300. " no plot):|Line-type for x-y plot (0 for no plot):"
  1301.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  1302.       MaskTunableValueString  "on,on,on,on,on,on"
  1303.       MaskCallbackString      "|||||"
  1304.       MaskEnableString       "on,on,on,on,on,on"
  1305.       MaskVisibilityString    "on,on,on,on,on,on"
  1306.       MaskToolTipString       "on,on,on,on,on,on"
  1307.       MaskVarAliasString      ",,,,,"
  1308.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  1309. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon"
  1310. "(0,25,get_param(gcb,'orientation'),2);"
  1311.       MaskDisplay       "plot(0,0,100,100,x,y,v,w);"
  1312.       MaskIconFrame       on
  1313.       MaskIconOpaque       on
  1314.       MaskIconRotate       "none"
  1315.       MaskIconUnits       "autoscale"
  1316.       MaskValueString       "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  1317.       System {
  1318. Name "Trajectory nreceiver"
  1319. Location [165, 242, 460, 428]
  1320. Open off
  1321. ModelBrowserVisibility off
  1322. ModelBrowserWidth 200
  1323. ScreenColor "white"
  1324. PaperOrientation "landscape"
  1325. PaperPositionMode "auto"
  1326. PaperType "usletter"
  1327. PaperUnits "inches"
  1328. ZoomFactor "100"
  1329. Block {
  1330.   BlockType   Inport
  1331.   Name   "in_1"
  1332.   Position   [15, 55, 35, 75]
  1333. }
  1334. Block {
  1335.   BlockType   Constant
  1336.   Name   "Constant"
  1337.   Position   [15, 110, 45, 140]
  1338.   Value   "0"
  1339. }
  1340. Block {
  1341.   BlockType   Mux
  1342.   Name   "Mux"
  1343.   Ports   [2, 1]
  1344.   Position   [65, 70, 100, 105]
  1345.   Inputs   "2"
  1346. }
  1347. Block {
  1348.   BlockType   "S-Function"
  1349.   Name   "Plot1"
  1350.   Ports   [1]
  1351.   Position   [130, 70, 200, 110]
  1352.   FunctionName   "eyediasi"
  1353.   Parameters   "time_range, boundary, kept_length, "
  1354. "eye_line, scatter_line, two_d_line"
  1355. }
  1356. Line {
  1357.   SrcBlock   "in_1"
  1358.   SrcPort   1
  1359.   Points   [5, 0; 0, 15]
  1360.   DstBlock   "Mux"
  1361.   DstPort   1
  1362. }
  1363. Line {
  1364.   SrcBlock   "Constant"
  1365.   SrcPort   1
  1366.   DstBlock   "Mux"
  1367.   DstPort   2
  1368. }
  1369. Line {
  1370.   SrcBlock   "Mux"
  1371.   SrcPort   1
  1372.   DstBlock   "Plot1"
  1373.   DstPort   1
  1374. }
  1375.       }
  1376.     }
  1377.     Line {
  1378.       SrcBlock       "Switch"
  1379.       SrcPort       1
  1380.       Points       [10, 0]
  1381.       Branch {
  1382. DstBlock "Mux"
  1383. DstPort 2
  1384.       }
  1385.       Branch {
  1386. Points [0, 110]
  1387. Branch {
  1388.   Points   [0, 65]
  1389.   DstBlock   "Mux3"
  1390.   DstPort   1
  1391. }
  1392. Branch {
  1393.   DstBlock   "Mux2"
  1394.   DstPort   1
  1395. }
  1396.       }
  1397.     }
  1398.     Line {
  1399.       SrcBlock       "Switch1"
  1400.       SrcPort       1
  1401.       Points       [20, 0]
  1402.       Branch {
  1403. DstBlock "Mux1"
  1404. DstPort 2
  1405.       }
  1406.       Branch {
  1407. Points [0, 70]
  1408. Branch {
  1409.   Points   [0, 65]
  1410.   DstBlock   "Mux3"
  1411.   DstPort   2
  1412. }
  1413. Branch {
  1414.   DstBlock   "Mux2"
  1415.   DstPort   2
  1416. }
  1417.       }
  1418.     }
  1419.     Line {
  1420.       SrcBlock       "Constant0"
  1421.       SrcPort       1
  1422.       Points       [0, -35]
  1423.       Branch {
  1424. DstBlock "Mux1"
  1425. DstPort 1
  1426.       }
  1427.       Branch {
  1428. Points [0, -55]
  1429. DstBlock "Mux"
  1430. DstPort 1
  1431.       }
  1432.     }
  1433.     Line {
  1434.       SrcBlock       "Quadratur"
  1435.       SrcPort       1
  1436.       DstBlock       "Switch1"
  1437.       DstPort       1
  1438.     }
  1439.     Line {
  1440.       SrcBlock       "Inphase"
  1441.       SrcPort       1
  1442.       DstBlock       "Switch"
  1443.       DstPort       1
  1444.     }
  1445.     Line {
  1446.       SrcBlock       "Step input"
  1447.       SrcPort       1
  1448.       Points       [20, 0; 0, -35]
  1449.       Branch {
  1450. Points [0, -55]
  1451. DstBlock "Switch"
  1452. DstPort 2
  1453.       }
  1454.       Branch {
  1455. DstBlock "Switch1"
  1456. DstPort 2
  1457.       }
  1458.     }
  1459.     Line {
  1460.       SrcBlock       "Constant"
  1461.       SrcPort       1
  1462.       Points       [0, -10]
  1463.       Branch {
  1464. Points [0, -55]
  1465. DstBlock "Switch"
  1466. DstPort 3
  1467.       }
  1468.       Branch {
  1469. DstBlock "Switch1"
  1470. DstPort 3
  1471.       }
  1472.     }
  1473.     Line {
  1474.       SrcBlock       "Mux1"
  1475.       SrcPort       1
  1476.       DstBlock       "Quadrature eye patternnreceiver"
  1477.       DstPort       1
  1478.     }
  1479.     Line {
  1480.       SrcBlock       "Mux"
  1481.       SrcPort       1
  1482.       Points       [20, 0]
  1483.       DstBlock       "Inphase eye patternnreceiver"
  1484.       DstPort       1
  1485.     }
  1486.     Line {
  1487.       SrcBlock       "Mux3"
  1488.       SrcPort       1
  1489.       DstBlock       "Scatter plotnreceiver"
  1490.       DstPort       1
  1491.     }
  1492.     Line {
  1493.       SrcBlock       "Mux2"
  1494.       SrcPort       1
  1495.       Points       [20, 0]
  1496.       DstBlock       "Trajectory nreceiver"
  1497.       DstPort       1
  1498.     }
  1499.   }
  1500. }
  1501. Block {
  1502.   BlockType   Scope
  1503.   Name   "s_rc(t)"
  1504.   Ports   [1]
  1505.   Position   [540, 20, 570, 50]
  1506.   Orientation   "up"
  1507.   Location   [0, 540, 640, 640]
  1508.   Open   off
  1509.   NumInputPorts   "1"
  1510.   List {
  1511.     ListType     AxesTitles
  1512.     axes1     "%<SignalLabel>"
  1513.   }
  1514.   TimeRange   "25.000000"
  1515.   YMin   "-1.500000"
  1516.   YMax   "1.500000"
  1517.   DataFormat   "Array"
  1518. }
  1519. Block {
  1520.   BlockType   Scope
  1521.   Name   "s_rs(t)"
  1522.   Ports   [1]
  1523.   Position   [540, 155, 570, 185]
  1524.   Orientation   "up"
  1525.   Location   [640, 540, 1280, 640]
  1526.   Open   off
  1527.   NumInputPorts   "1"
  1528.   List {
  1529.     ListType     AxesTitles
  1530.     axes1     "%<SignalLabel>"
  1531.   }
  1532.   TimeRange   "25.000000"
  1533.   YMin   "-1.500000"
  1534.   YMax   "1.500000"
  1535.   DataFormat   "Array"
  1536. }
  1537. Block {
  1538.   BlockType   SubSystem
  1539.   Name   "thresholdndetector"
  1540.   Ports   [1, 1]
  1541.   Position   [700, 72, 730, 108]
  1542.   ShowPortLabels   off
  1543.   TreatAsAtomicUnit   off
  1544.   System {
  1545.     Name     "thresholdndetector"
  1546.     Location     [495, 247, 855, 368]
  1547.     Open     off
  1548.     ModelBrowserVisibility  off
  1549.     ModelBrowserWidth     200
  1550.     ScreenColor     "white"
  1551.     PaperOrientation     "landscape"
  1552.     PaperPositionMode     "auto"
  1553.     PaperType     "usletter"
  1554.     PaperUnits     "inches"
  1555.     ZoomFactor     "100"
  1556.     Block {
  1557.       BlockType       Inport
  1558.       Name       "in_1"
  1559.       Position       [30, 15, 50, 35]
  1560.     }
  1561.     Block {
  1562.       BlockType       Constant
  1563.       Name       "Constant2"
  1564.       Position       [35, 65, 55, 85]
  1565.       Value       "1/3"
  1566.     }
  1567.     Block {
  1568.       BlockType       Constant
  1569.       Name       "Constant3"
  1570.       Position       [205, 70, 225, 90]
  1571.       Value       "1/3"
  1572.     }
  1573.     Block {
  1574.       BlockType       "S-Function"
  1575.       Name       "Quantizer"
  1576.       Ports       [1, 1]
  1577.       Position       [160, 22, 190, 48]
  1578.       FunctionName       "quantize"
  1579.       Parameters       "q"
  1580.       MaskType       "Quantizer"
  1581.       MaskDescription       "Discretizes input at given interval."
  1582.       MaskHelp       "Quantizes input in given intervals. "
  1583.       MaskPromptString       "Quantization interval:"
  1584.       MaskStyleString       "edit"
  1585.       MaskTunableValueString  "on"
  1586.       MaskEnableString       "on"
  1587.       MaskVisibilityString    "on"
  1588.       MaskToolTipString       "on"
  1589.       MaskInitialization      "q = @1;"
  1590.       MaskDisplay       "plot([-4,4],[0,0],[0,0],[-4,4],[-3,-2,-"
  1591. "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])"
  1592.       MaskIconFrame       on
  1593.       MaskIconOpaque       on
  1594.       MaskIconRotate       "none"
  1595.       MaskIconUnits       "autoscale"
  1596.       MaskValueString       "2/3"
  1597.     }
  1598.     Block {
  1599.       BlockType       Sum
  1600.       Name       "Sum1"
  1601.       Ports       [2, 1]
  1602.       Position       [260, 29, 280, 56]
  1603.       Inputs       "+-"
  1604.     }
  1605.     Block {
  1606.       BlockType       Sum
  1607.       Name       "Sum2"
  1608.       Ports       [2, 1]
  1609.       Position       [90, 19, 110, 46]
  1610.     }
  1611.     Block {
  1612.       BlockType       Outport
  1613.       Name       "out_1"
  1614.       Position       [315, 35, 335, 55]
  1615.     }
  1616.     Line {
  1617.       SrcBlock       "in_1"
  1618.       SrcPort       1
  1619.       DstBlock       "Sum2"
  1620.       DstPort       1
  1621.     }
  1622.     Line {
  1623.       SrcBlock       "Sum2"
  1624.       SrcPort       1
  1625.       DstBlock       "Quantizer"
  1626.       DstPort       1
  1627.     }
  1628.     Line {
  1629.       SrcBlock       "Constant2"
  1630.       SrcPort       1
  1631.       Points       [10, 0; 0, -35]
  1632.       DstBlock       "Sum2"
  1633.       DstPort       2
  1634.     }
  1635.     Line {
  1636.       SrcBlock       "Quantizer"
  1637.       SrcPort       1
  1638.       DstBlock       "Sum1"
  1639.       DstPort       1
  1640.     }
  1641.     Line {
  1642.       SrcBlock       "Constant3"
  1643.       SrcPort       1
  1644.       Points       [5, 0; 0, -30]
  1645.       DstBlock       "Sum1"
  1646.       DstPort       2
  1647.     }
  1648.     Line {
  1649.       SrcBlock       "Sum1"
  1650.       SrcPort       1
  1651.       DstBlock       "out_1"
  1652.       DstPort       1
  1653.     }
  1654.   }
  1655. }
  1656. Block {
  1657.   BlockType   SubSystem
  1658.   Name   "thresholdndetector_"
  1659.   Ports   [1, 1]
  1660.   Position   [700, 207, 730, 243]
  1661.   ShowPortLabels   off
  1662.   TreatAsAtomicUnit   off
  1663.   System {
  1664.     Name     "thresholdndetector_"
  1665.     Location     [495, 247, 855, 368]
  1666.     Open     off
  1667.     ModelBrowserVisibility  off
  1668.     ModelBrowserWidth     200
  1669.     ScreenColor     "white"
  1670.     PaperOrientation     "landscape"
  1671.     PaperPositionMode     "auto"
  1672.     PaperType     "usletter"
  1673.     PaperUnits     "inches"
  1674.     ZoomFactor     "100"
  1675.     Block {
  1676.       BlockType       Inport
  1677.       Name       "in_1"
  1678.       Position       [30, 15, 50, 35]
  1679.     }
  1680.     Block {
  1681.       BlockType       Constant
  1682.       Name       "Constant2"
  1683.       Position       [35, 65, 55, 85]
  1684.       Value       "1/3"
  1685.     }
  1686.     Block {
  1687.       BlockType       Constant
  1688.       Name       "Constant3"
  1689.       Position       [205, 70, 225, 90]
  1690.       Value       "1/3"
  1691.     }
  1692.     Block {
  1693.       BlockType       "S-Function"
  1694.       Name       "Quantizer"
  1695.       Ports       [1, 1]
  1696.       Position       [160, 22, 190, 48]
  1697.       FunctionName       "quantize"
  1698.       Parameters       "q"
  1699.       MaskType       "Quantizer"
  1700.       MaskDescription       "Discretizes input at given interval."
  1701.       MaskHelp       "Quantizes input in given intervals. "
  1702.       MaskPromptString       "Quantization interval:"
  1703.       MaskStyleString       "edit"
  1704.       MaskTunableValueString  "on"
  1705.       MaskEnableString       "on"
  1706.       MaskVisibilityString    "on"
  1707.       MaskToolTipString       "on"
  1708.       MaskInitialization      "q = @1;"
  1709.       MaskDisplay       "plot([-4,4],[0,0],[0,0],[-4,4],[-3,-2,-"
  1710. "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])"
  1711.       MaskIconFrame       on
  1712.       MaskIconOpaque       on
  1713.       MaskIconRotate       "none"
  1714.       MaskIconUnits       "autoscale"
  1715.       MaskValueString       "2/3"
  1716.     }
  1717.     Block {
  1718.       BlockType       Sum
  1719.       Name       "Sum1"
  1720.       Ports       [2, 1]
  1721.       Position       [260, 29, 280, 56]
  1722.       Inputs       "+-"
  1723.     }
  1724.     Block {
  1725.       BlockType       Sum
  1726.       Name       "Sum2"
  1727.       Ports       [2, 1]
  1728.       Position       [90, 19, 110, 46]
  1729.     }
  1730.     Block {
  1731.       BlockType       Outport
  1732.       Name       "out_1"
  1733.       Position       [315, 35, 335, 55]
  1734.     }
  1735.     Line {
  1736.       SrcBlock       "Sum1"
  1737.       SrcPort       1
  1738.       DstBlock       "out_1"
  1739.       DstPort       1
  1740.     }
  1741.     Line {
  1742.       SrcBlock       "Constant3"
  1743.       SrcPort       1
  1744.       Points       [5, 0; 0, -30]
  1745.       DstBlock       "Sum1"
  1746.       DstPort       2
  1747.     }
  1748.     Line {
  1749.       SrcBlock       "Quantizer"
  1750.       SrcPort       1
  1751.       DstBlock       "Sum1"
  1752.       DstPort       1
  1753.     }
  1754.     Line {
  1755.       SrcBlock       "Constant2"
  1756.       SrcPort       1
  1757.       Points       [10, 0; 0, -35]
  1758.       DstBlock       "Sum2"
  1759.       DstPort       2
  1760.     }
  1761.     Line {
  1762.       SrcBlock       "Sum2"
  1763.       SrcPort       1
  1764.       DstBlock       "Quantizer"
  1765.       DstPort       1
  1766.     }
  1767.     Line {
  1768.       SrcBlock       "in_1"
  1769.       SrcPort       1
  1770.       DstBlock       "Sum2"
  1771.       DstPort       1
  1772.     }
  1773.   }
  1774. }
  1775. Block {
  1776.   BlockType   Scope
  1777.   Name   "v(t)"
  1778.   Ports   [1]
  1779.   Position   [990, 70, 1020, 100]
  1780.   Orientation   "up"
  1781.   Location   [484, 622, 1118, 866]
  1782.   Open   off
  1783.   NumInputPorts   "1"
  1784.   List {
  1785.     ListType     AxesTitles
  1786.     axes1     "%<SignalLabel>"
  1787.   }
  1788.   TimeRange   "25.000000"
  1789.   YMin   "-15"
  1790.   YMax   "15"
  1791.   DataFormat   "Array"
  1792. }
  1793. Block {
  1794.   BlockType   Scope
  1795.   Name   "v_c(t)"
  1796.   Ports   [1]
  1797.   Position   [810, 55, 840, 85]
  1798.   Location   [343, 490, 983, 590]
  1799.   Open   off
  1800.   NumInputPorts   "1"
  1801.   List {
  1802.     ListType     AxesTitles
  1803.     axes1     "%<SignalLabel>"
  1804.   }
  1805.   TimeRange   "25.000000"
  1806.   YMin   "-1.5"
  1807.   YMax   "1.5"
  1808.   DataFormat   "Array"
  1809. }
  1810. Block {
  1811.   BlockType   Scope
  1812.   Name   "v_s(t)"
  1813.   Ports   [1]
  1814.   Position   [795, 240, 825, 270]
  1815.   Location   [63, 225, 703, 325]
  1816.   Open   off
  1817.   NumInputPorts   "1"
  1818.   List {
  1819.     ListType     AxesTitles
  1820.     axes1     "%<SignalLabel>"
  1821.   }
  1822.   TimeRange   "25.000000"
  1823.   YMin   "-1.5"
  1824.   YMax   "1.5"
  1825.   DataFormat   "Array"
  1826. }
  1827. Block {
  1828.   BlockType   Scope
  1829.   Name   "x_c(t)"
  1830.   Ports   [1]
  1831.   Position   [350, 20, 380, 50]
  1832.   Orientation   "up"
  1833.   Location   [0, 440, 640, 540]
  1834.   Open   off
  1835.   NumInputPorts   "1"
  1836.   List {
  1837.     ListType     AxesTitles
  1838.     axes1     "%<SignalLabel>"
  1839.   }
  1840.   TimeRange   "25.000000"
  1841.   YMin   "-1.500000"
  1842.   YMax   "1.500000"
  1843.   DataFormat   "Array"
  1844. }
  1845. Block {
  1846.   BlockType   Scope
  1847.   Name   "x_s(t)"
  1848.   Ports   [1]
  1849.   Position   [350, 155, 380, 185]
  1850.   Orientation   "up"
  1851.   Location   [640, 440, 1280, 540]
  1852.   Open   off
  1853.   NumInputPorts   "1"
  1854.   List {
  1855.     ListType     AxesTitles
  1856.     axes1     "%<SignalLabel>"
  1857.   }
  1858.   TimeRange   "25.000000"
  1859.   YMin   "-1.500000"
  1860.   YMax   "1.500000"
  1861.   DataFormat   "Array"
  1862. }
  1863. Block {
  1864.   BlockType   Outport
  1865.   Name   "detectednsymbols"
  1866.   Position   [1045, 145, 1065, 165]
  1867. }
  1868. Line {
  1869.   SrcBlock   "Clock"
  1870.   SrcPort   1
  1871.   Points   [0, 0]
  1872.   Branch {
  1873.     DstBlock     "Fcn"
  1874.     DstPort     1
  1875.   }
  1876.   Branch {
  1877.     DstBlock     "Fcn1"
  1878.     DstPort     1
  1879.   }
  1880. }
  1881. Line {
  1882.   SrcBlock   "Product"
  1883.   SrcPort   1
  1884.   Points   [30, 0]
  1885.   Branch {
  1886.     DstBlock     "Integrate and Dumpn"
  1887.     DstPort     1
  1888.   }
  1889.   Branch {
  1890.     DstBlock     "x_c(t)"
  1891.     DstPort     1
  1892.   }
  1893. }
  1894. Line {
  1895.   SrcBlock   "Product1"
  1896.   SrcPort   1
  1897.   Points   [35, 0]
  1898.   Branch {
  1899.     DstBlock     "Integrate and Dump_"
  1900.     DstPort     1
  1901.   }
  1902.   Branch {
  1903.     DstBlock     "x_s(t)"
  1904.     DstPort     1
  1905.   }
  1906. }
  1907. Line {
  1908.   SrcBlock   "noisyn16-QAMnsignal"
  1909.   SrcPort   1
  1910.   Points   [25, 0]
  1911.   Branch {
  1912.     DstBlock     "r(t)"
  1913.     DstPort     1
  1914.   }
  1915.   Branch {
  1916.     Points     [45, 0]
  1917.     Branch {
  1918.       Points       [0, -75]
  1919.       DstBlock       "Product"
  1920.       DstPort       1
  1921.     }
  1922.     Branch {
  1923.       Points       [0, 75]
  1924.       DstBlock       "Product1"
  1925.       DstPort       2
  1926.     }
  1927.   }
  1928. }
  1929. Line {
  1930.   SrcBlock   "Fcn1"
  1931.   SrcPort   1
  1932.   Points   [10, 0]
  1933.   DstBlock   "Product1"
  1934.   DstPort   1
  1935. }
  1936. Line {
  1937.   SrcBlock   "Fcn"
  1938.   SrcPort   1
  1939.   Points   [10, 0; 0, -35]
  1940.   DstBlock   "Product"
  1941.   DstPort   2
  1942. }
  1943. Line {
  1944.   SrcBlock   "Integrate and Dumpn"
  1945.   SrcPort   1
  1946.   Points   [0, 0]
  1947.   Branch {
  1948.     Points     [45, 0]
  1949.     DstBlock     "s_rc(t)"
  1950.     DstPort     1
  1951.   }
  1952.   Branch {
  1953.     Points     [120, 0]
  1954.     Branch {
  1955.       Points       [0, -65]
  1956.       DstBlock       "receiver diagrams"
  1957.       DstPort       1
  1958.     }
  1959.     Branch {
  1960.       DstBlock       "thresholdndetector"
  1961.       DstPort       1
  1962.     }
  1963.   }
  1964. }
  1965. Line {
  1966.   SrcBlock   "Integrate and Dump_"
  1967.   SrcPort   1
  1968.   Points   [0, 0]
  1969.   Branch {
  1970.     Points     [45, 0]
  1971.     DstBlock     "s_rs(t)"
  1972.     DstPort     1
  1973.   }
  1974.   Branch {
  1975.     Points     [145, 0]
  1976.     Branch {
  1977.       Points       [0, -180]
  1978.       DstBlock       "receiver diagrams"
  1979.       DstPort       2
  1980.     }
  1981.     Branch {
  1982.       DstBlock       "thresholdndetector_"
  1983.       DstPort       1
  1984.     }
  1985.   }
  1986. }
  1987. Line {
  1988.   SrcBlock   "16-QAM"
  1989.   SrcPort   1
  1990.   Points   [0, 0; 25, 0]
  1991.   Branch {
  1992.     DstBlock     "detectednsymbols"
  1993.     DstPort     1
  1994.   }
  1995.   Branch {
  1996.     DstBlock     "v(t)"
  1997.     DstPort     1
  1998.   }
  1999. }
  2000. Line {
  2001.   SrcBlock   "thresholdndetector"
  2002.   SrcPort   1
  2003.   Points   [30, 0]
  2004.   Branch {
  2005.     Points     [30, 0]
  2006.     DstBlock     "v_c(t)"
  2007.     DstPort     1
  2008.   }
  2009.   Branch {
  2010.     Points     [0, 40]
  2011.     DstBlock     "4-ASK demap"
  2012.     DstPort     1
  2013.   }
  2014. }
  2015. Line {
  2016.   SrcBlock   "thresholdndetector_"
  2017.   SrcPort   1
  2018.   Points   [30, 0]
  2019.   Branch {
  2020.     Points     [15, 0]
  2021.     DstBlock     "v_s(t)"
  2022.     DstPort     1
  2023.   }
  2024.   Branch {
  2025.     Points     [0, -30]
  2026.     DstBlock     "4-ASK demap1"
  2027.     DstPort     1
  2028.   }
  2029. }
  2030. Line {
  2031.   SrcBlock   "4-ASK demap"
  2032.   SrcPort   1
  2033.   Points   [20, 0; 0, 10]
  2034.   DstBlock   "16-QAM"
  2035.   DstPort   1
  2036. }
  2037. Line {
  2038.   SrcBlock   "4-ASK demap1"
  2039.   SrcPort   1
  2040.   Points   [15, 0; 0, -30]
  2041.   DstBlock   "16-QAM"
  2042.   DstPort   2
  2043. }
  2044.       }
  2045.     }
  2046.     Block {
  2047.       BlockType       SubSystem
  2048.       Name       "Transmitter"
  2049.       Ports       [0, 4]
  2050.       Position       [200, 100, 275, 190]
  2051.       ShowPortLabels       off
  2052.       TreatAsAtomicUnit       off
  2053.       System {
  2054. Name "Transmitter"
  2055. Location [25, 144, 1037, 494]
  2056. Open off
  2057. ModelBrowserVisibility off
  2058. ModelBrowserWidth 200
  2059. ScreenColor "white"
  2060. PaperOrientation "landscape"
  2061. PaperPositionMode "auto"
  2062. PaperType "usletter"
  2063. PaperUnits "inches"
  2064. ZoomFactor "100"
  2065. Block {
  2066.   BlockType   "S-Function"
  2067.   Name   "16 QAM"
  2068.   Ports   [2, 1]
  2069.   Position   [165, 140, 220, 195]
  2070.   AncestorBlock   "simulink3/Functionsn& Tables/Direct Look-U"
  2071. "pnTable (n-D)"
  2072.   FunctionName   "sfun_nddirectlook"
  2073.   Parameters   "numInputs,mxTable,clipFlag,tabIsInput,numTD"
  2074. "ims"
  2075.   MaskType   "LookupNDDirect"
  2076.   MaskDescription   "Table member selection.  Inputs are zero-ba"
  2077. "sed indices into the table, e.g., an input of 3 returns the fourth element in"
  2078. " that dimension.  Block can also be used to select a column or 2-D matrix out"
  2079. " of the table."
  2080.   MaskPromptString   "Number of table dimensions:         |Explic"
  2081. "it number of table dimensions:|Inputs select this object from table:|Make tab"
  2082. "le an input|Table data:|Action for out of range input:"
  2083.   MaskStyleString   "popup(1|2|3|4|More...),edit,popup(Element|C"
  2084. "olumn|2-D Matrix),checkbox,edit,popup(None|Warning|Error)"
  2085.   MaskTunableValueString  "off,on,off,off,on,on"
  2086.   MaskCallbackString   "nddirectico('dialog')|||nddirectico('dialog"
  2087. "')||"
  2088.   MaskEnableString   "on,on,on,on,on,on"
  2089.   MaskVisibilityString   "on,off,on,on,on,on"
  2090.   MaskToolTipString   "on,on,on,on,on,on"
  2091.   MaskVarAliasString   ",,,,,"
  2092.   MaskVariables   "maskTabDims=@1;explicitNumDims=@2;outDims=@"
  2093. "3;tabIsInput=@4;mxTable=@5;clipFlag=@6;"
  2094.   MaskInitialization   "if tabIsInput == 1n  tWhat = ' T';n  yT ="
  2095. " 1/(3+maskTabDims-outDims);nelsen  tWhat = ' ';n  yT = 0;nendnif maskTab"
  2096. "Dims >= 5n  numTDims = explicitNumDims;nelsen  numTDims = maskTabDims;nen"
  2097. "dnnumInputs =  numTDims - (outDims-1);nif strcmp(get_param(bdroot(gcb),'Blo"
  2098. "ckDiagramType'),'library')n  dimsChar = 'n';nelsen  dimsChar = sprintf('%d"
  2099. "',numTDims);nendn[x,y] = nddirectico('plotdata', numTDims, tabIsInput, outD"
  2100. "ims);nxp = x((end-3):end); yp = y((end-3):end);nx = x(1:(end-4)); y = y(1:("
  2101. "end-4));n"
  2102.   MaskDisplay   "text(0.5,0.9, sprintf(' %c-D T[k]',dimsChar"
  2103. "), 'HorizontalAlignment','center')nplot(x,y)npatch(xp, yp)ntext(0.03,yT,tW"
  2104. "hat)n"
  2105.   MaskSelfModifiable   on
  2106.   MaskIconFrame   on
  2107.   MaskIconOpaque   on
  2108.   MaskIconRotate   "none"
  2109.   MaskIconUnits   "normalized"
  2110.   MaskValueString   "2|1|Element|off|[0 1 2 3; 4 5 6 7; 8 9 10 1"
  2111. "1; 12 13 14 15]|Warning"
  2112. }
  2113. Block {
  2114.   BlockType   SubSystem
  2115.   Name   "4-ASK"
  2116.   Ports   [1, 1]
  2117.   Position   [200, 74, 280, 116]
  2118.   TreatAsAtomicUnit   off
  2119.   MaskType   "M-ASK mapping"
  2120.   MaskDescription   "Map a digital symbol onto an analognsignal"
  2121. " in the range [-1, 1] using M-arynamplitude shift keying modulation mapping."
  2122.   MaskHelp   "This block maps an input digit signal onto "
  2123. "a signal in the range [-1, 1]. The coded signal can be modulated using analog"
  2124. "\nmodulation blocks. Input digits are in the range [0, M-1], where M is the "
  2125. "M-ary number. The input symbol interval can be a two-element vector with the "
  2126. "second element being offset. The default value offset is 0. Use the MODMAP fu"
  2127. "nction to see the constellation."
  2128.   MaskPromptString   "M-ary number (input integers in range [0, M"
  2129. "-1]):|Input symbol interval and offset (sec):"
  2130.   MaskStyleString   "edit,edit"
  2131.   MaskTunableValueString  "on,on"
  2132.   MaskCallbackString   "|"
  2133.   MaskEnableString   "on,on"
  2134.   MaskVisibilityString   "on,on"
  2135.   MaskToolTipString   "on,on"
  2136.   MaskVarAliasString   ","
  2137.   MaskVariables   "N=@1;td=@2;"
  2138.   MaskInitialization   "Ac=1;Kc=Ac*2/(N-1);"
  2139.   MaskDisplay   "disp('MASK\nmapping')"
  2140.   MaskIconFrame   on
  2141.   MaskIconOpaque   on
  2142.   MaskIconRotate   "none"
  2143.   MaskIconUnits   "autoscale"
  2144.   MaskValueString   "4|1"
  2145.   System {
  2146.     Name     "4-ASK"
  2147.     Location     [148, 182, 646, 482]
  2148.     Open     off
  2149.     ModelBrowserVisibility  off
  2150.     ModelBrowserWidth     200
  2151.     ScreenColor     "white"
  2152.     PaperOrientation     "landscape"
  2153.     PaperPositionMode     "auto"
  2154.     PaperType     "usletter"
  2155.     PaperUnits     "inches"
  2156.     ZoomFactor     "100"
  2157.     Block {
  2158.       BlockType       Inport
  2159.       Name       "in_1"
  2160.       Position       [60, 60, 80, 80]
  2161.     }
  2162.     Block {
  2163.       BlockType       Gain
  2164.       Name       "Gain"
  2165.       Position       [200, 55, 240, 85]
  2166.       Gain       "Kc"
  2167.     }
  2168.     Block {
  2169.       BlockType       Constant
  2170.       Name       "Gain diff"
  2171.       Position       [200, 126, 235, 154]
  2172.       Value       "Ac"
  2173.     }
  2174.     Block {
  2175.       BlockType       Sum
  2176.       Name       "Sum1"
  2177.       Ports       [2, 1]
  2178.       Position       [270, 93, 290, 117]
  2179.       Inputs       "+-"
  2180.     }
  2181.     Block {
  2182.       BlockType       ZeroOrderHold
  2183.       Name       "Zero-OrdernHold"
  2184.       Position       [120, 54, 155, 86]
  2185.       SampleTime       "td"
  2186.     }
  2187.     Block {
  2188.       BlockType       Outport
  2189.       Name       "out_1"
  2190.       Position       [335, 95, 355, 115]
  2191.     }
  2192.     Line {
  2193.       SrcBlock       "Gain"
  2194.       SrcPort       1
  2195.       Points       [5, 0; 0, 30]
  2196.       DstBlock       "Sum1"
  2197.       DstPort       1
  2198.     }
  2199.     Line {
  2200.       SrcBlock       "Gain diff"
  2201.       SrcPort       1
  2202.       Points       [10, 0; 0, -30]
  2203.       DstBlock       "Sum1"
  2204.       DstPort       2
  2205.     }
  2206.     Line {
  2207.       SrcBlock       "Sum1"
  2208.       SrcPort       1
  2209.       DstBlock       "out_1"
  2210.       DstPort       1
  2211.     }
  2212.     Line {
  2213.       SrcBlock       "in_1"
  2214.       SrcPort       1
  2215.       DstBlock       "Zero-OrdernHold"
  2216.       DstPort       1
  2217.     }
  2218.     Line {
  2219.       SrcBlock       "Zero-OrdernHold"
  2220.       SrcPort       1
  2221.       DstBlock       "Gain"
  2222.       DstPort       1
  2223.     }
  2224.   }
  2225. }
  2226. Block {
  2227.   BlockType   SubSystem
  2228.   Name   "4-ASK1"
  2229.   Ports   [1, 1]
  2230.   Position   [200, 234, 280, 276]
  2231.   TreatAsAtomicUnit   off
  2232.   MaskType   "M-ASK mapping"
  2233.   MaskDescription   "Map a digital symbol onto an analognsignal"
  2234. " in the range [-1, 1] using M-arynamplitude shift keying modulation mapping."
  2235.   MaskHelp   "This block maps an input digit signal onto "
  2236. "a signal in the range [-1, 1]. The coded signal can be modulated using analog"
  2237. "\nmodulation blocks. Input digits are in the range [0, M-1], where M is the "
  2238. "M-ary number. The input symbol interval can be a two-element vector with the "
  2239. "second element being offset. The default value offset is 0. Use the MODMAP fu"
  2240. "nction to see the constellation."
  2241.   MaskPromptString   "M-ary number (input integers in range [0, M"
  2242. "-1]):|Input symbol interval and offset (sec):"
  2243.   MaskStyleString   "edit,edit"
  2244.   MaskTunableValueString  "on,on"
  2245.   MaskCallbackString   "|"
  2246.   MaskEnableString   "on,on"
  2247.   MaskVisibilityString   "on,on"
  2248.   MaskToolTipString   "on,on"
  2249.   MaskVarAliasString   ","
  2250.   MaskVariables   "N=@1;td=@2;"
  2251.   MaskInitialization   "Ac=1;Kc=Ac*2/(N-1);"
  2252.   MaskDisplay   "disp('MASK\nmapping')"
  2253.   MaskIconFrame   on
  2254.   MaskIconOpaque   on
  2255.   MaskIconRotate   "none"
  2256.   MaskIconUnits   "autoscale"
  2257.   MaskValueString   "4|1"
  2258.   System {
  2259.     Name     "4-ASK1"
  2260.     Location     [148, 182, 646, 482]
  2261.     Open     off
  2262.     ModelBrowserVisibility  off
  2263.     ModelBrowserWidth     200
  2264.     ScreenColor     "white"
  2265.     PaperOrientation     "landscape"
  2266.     PaperPositionMode     "auto"
  2267.     PaperType     "usletter"
  2268.     PaperUnits     "inches"
  2269.     ZoomFactor     "100"
  2270.     Block {
  2271.       BlockType       Inport
  2272.       Name       "in_1"
  2273.       Position       [60, 60, 80, 80]
  2274.     }
  2275.     Block {
  2276.       BlockType       Gain
  2277.       Name       "Gain"
  2278.       Position       [200, 55, 240, 85]
  2279.       Gain       "Kc"
  2280.     }
  2281.     Block {
  2282.       BlockType       Constant
  2283.       Name       "Gain diff"
  2284.       Position       [200, 126, 235, 154]
  2285.       Value       "Ac"
  2286.     }
  2287.     Block {
  2288.       BlockType       Sum
  2289.       Name       "Sum1"
  2290.       Ports       [2, 1]
  2291.       Position       [270, 93, 290, 117]
  2292.       Inputs       "+-"
  2293.     }
  2294.     Block {
  2295.       BlockType       ZeroOrderHold
  2296.       Name       "Zero-OrdernHold"
  2297.       Position       [120, 54, 155, 86]
  2298.       SampleTime       "td"
  2299.     }
  2300.     Block {
  2301.       BlockType       Outport
  2302.       Name       "out_1"
  2303.       Position       [335, 95, 355, 115]
  2304.     }
  2305.     Line {
  2306.       SrcBlock       "Zero-OrdernHold"
  2307.       SrcPort       1
  2308.       DstBlock       "Gain"
  2309.       DstPort       1
  2310.     }
  2311.     Line {
  2312.       SrcBlock       "in_1"
  2313.       SrcPort       1
  2314.       DstBlock       "Zero-OrdernHold"
  2315.       DstPort       1
  2316.     }
  2317.     Line {
  2318.       SrcBlock       "Sum1"
  2319.       SrcPort       1
  2320.       DstBlock       "out_1"
  2321.       DstPort       1
  2322.     }
  2323.     Line {
  2324.       SrcBlock       "Gain diff"
  2325.       SrcPort       1
  2326.       Points       [10, 0; 0, -30]
  2327.       DstBlock       "Sum1"
  2328.       DstPort       2
  2329.     }
  2330.     Line {
  2331.       SrcBlock       "Gain"
  2332.       SrcPort       1
  2333.       Points       [5, 0; 0, 30]
  2334.       DstBlock       "Sum1"
  2335.       DstPort       1
  2336.     }
  2337.   }
  2338. }
  2339. Block {
  2340.   BlockType   SubSystem
  2341.   Name   "4-ary source"
  2342.   Ports   [0, 1]
  2343.   Position   [35, 73, 95, 117]
  2344.   ShowPortLabels   off
  2345.   TreatAsAtomicUnit   off
  2346.   MaskType   "Read from workspace"
  2347.   MaskDescription   "Read from a workspace variable atnsampling"
  2348. " time point."
  2349.   MaskHelp   "This block reads from a workspace variable "
  2350. "at a given sample time. The column number is the block output vector length. "
  2351. "When the simulation reaches the end of the variable (eof), the block will cyc"
  2352. "lically output from the first row of the variable or output zeros based on th"
  2353. "e repeat flag entree."
  2354.   MaskPromptString   "Variable (column_number=block_output_length"
  2355. "):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output zero"
  2356. "s after eof).|Initial output:"
  2357.   MaskStyleString   "edit,edit,edit,edit"
  2358.   MaskTunableValueString  "on,on,on,on"
  2359.   MaskCallbackString   "|||"
  2360.   MaskEnableString   "on,on,on,on"
  2361.   MaskVisibilityString   "on,on,on,on"
  2362.   MaskToolTipString   "on,on,on,on"
  2363.   MaskVarAliasString   ",,,"
  2364.   MaskInitialization   "var=@1;td=@2;ts=td(1);if (length(td)>=2),of"
  2365. "f=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
  2366.   MaskDisplay   "plot(0,0,100,100,x,y);disp('Rd wksp')"
  2367.   MaskIconFrame   on
  2368.   MaskIconOpaque   on
  2369.   MaskIconRotate   "none"
  2370.   MaskIconUnits   "autoscale"
  2371.   MaskValueString   "randint(2000,1,4)|1|1|1"
  2372.   System {
  2373.     Name     "4-ary source"
  2374.     Location     [355, 528, 737, 675]
  2375.     Open     off
  2376.     ModelBrowserVisibility  off
  2377.     ModelBrowserWidth     200
  2378.     ScreenColor     "white"
  2379.     PaperOrientation     "landscape"
  2380.     PaperPositionMode     "auto"
  2381.     PaperType     "A4"
  2382.     PaperUnits     "centimeters"
  2383.     ZoomFactor     "100"
  2384.     Block {
  2385.       BlockType       "S-Function"
  2386.       Name       "Message source"
  2387.       Ports       [1, 1]
  2388.       Position       [180, 53, 255, 97]
  2389.       BackgroundColor       "yellow"
  2390.       FunctionName       "trigwksp"
  2391.       Parameters       "var,thd,cyclFlag,ini"
  2392.       MaskType       "Read from workspace"
  2393.       MaskDescription       "The raising edge of input pulse trigger"
  2394. " the block output the next row from the workspace variable."
  2395.       MaskHelp       "This block reads the data from a worksp"
  2396. "ace variable. The output is refreshed at the raising edge of the input pulse."
  2397.       MaskPromptString       "Read the variable:|Threshold for the in"
  2398. "put pulse:|Cyclic read variable (1) or amend zeros (0).|Output before first t"
  2399. "rigger:"
  2400.       MaskStyleString       "edit,edit,edit,edit"
  2401.       MaskTunableValueString  "on,on,on,on"
  2402.       MaskCallbackString      "|||"
  2403.       MaskEnableString       "on,on,on,on"
  2404.       MaskVisibilityString    "on,on,on,on"
  2405.       MaskToolTipString       "on,on,on,on"
  2406.       MaskVarAliasString      ",,,"
  2407.       MaskInitialization      "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
  2408.       MaskDisplay       "disp('Triggered\nread')"
  2409.       MaskIconFrame       on
  2410.       MaskIconOpaque       on
  2411.       MaskIconRotate       "none"
  2412.       MaskIconUnits       "autoscale"
  2413.       MaskValueString       "var|.1|cyc|ini"
  2414.     }
  2415.     Block {
  2416.       BlockType       SubSystem
  2417.       Name       "Pulses deividensame sample time1"
  2418.       Ports       [0, 1]
  2419.       Position       [50, 56, 110, 94]
  2420.       ShowPortLabels       off
  2421.       TreatAsAtomicUnit       off
  2422.       MaskType       "Pulse generator"
  2423.       MaskDescription       "Vector pulses with sample rate of each "
  2424. "pulse as Sample_time ./Divider. "
  2425.       MaskHelp       "This block generator a vector pulses. T"
  2426. "he output length is the same as the vector defined in "Divider". The ith el"
  2427. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  2428. "in "Divider" must be integers."
  2429.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  2430. "eger vector):|Offset (have same dimension as Divider:"
  2431.       MaskStyleString       "edit,edit,edit"
  2432.       MaskTunableValueString  "on,on,on"
  2433.       MaskCallbackString      "||"
  2434.       MaskEnableString       "on,on,on"
  2435.       MaskVisibilityString    "on,on,on"
  2436.       MaskToolTipString       "on,on,on"
  2437.       MaskVarAliasString      ",,"
  2438.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  2439.       MaskDisplay       "disp('Vector\nPulse')"
  2440.       MaskIconFrame       on
  2441.       MaskIconOpaque       on
  2442.       MaskIconRotate       "none"
  2443.       MaskIconUnits       "autoscale"
  2444.       MaskValueString       "ts|1|off"
  2445.       System {
  2446. Name "Pulses deividensame sample time1"
  2447. Location [55, 192, 283, 286]
  2448. Open off
  2449. ModelBrowserVisibility off
  2450. ModelBrowserWidth 200
  2451. ScreenColor "white"
  2452. PaperOrientation "landscape"
  2453. PaperPositionMode "auto"
  2454. PaperType "A4"
  2455. PaperUnits "centimeters"
  2456. ZoomFactor "100"
  2457. Block {
  2458.   BlockType   "S-Function"
  2459.   Name   "S-function1"
  2460.   Ports   [0, 1]
  2461.   Position   [40, 31, 105, 59]
  2462.   FunctionName   "homopuls"
  2463.   Parameters   "samp_time, out_divid, offset"
  2464. }
  2465. Block {
  2466.   BlockType   Outport
  2467.   Name   "Outport"
  2468.   Position   [160, 35, 180, 55]
  2469. }
  2470. Line {
  2471.   SrcBlock   "S-function1"
  2472.   SrcPort   1
  2473.   DstBlock   "Outport"
  2474.   DstPort   1
  2475. }
  2476.       }
  2477.     }
  2478.     Block {
  2479.       BlockType       Outport
  2480.       Name       "out_1"
  2481.       Position       [295, 65, 315, 85]
  2482.     }
  2483.     Line {
  2484.       SrcBlock       "Message source"
  2485.       SrcPort       1
  2486.       DstBlock       "out_1"
  2487.       DstPort       1
  2488.     }
  2489.     Line {
  2490.       SrcBlock       "Pulses deividensame sample time1"
  2491.       SrcPort       1
  2492.       DstBlock       "Message source"
  2493.       DstPort       1
  2494.     }
  2495.   }
  2496. }
  2497. Block {
  2498.   BlockType   SubSystem
  2499.   Name   "4-ary source_"
  2500.   Ports   [0, 1]
  2501.   Position   [35, 233, 95, 277]
  2502.   ShowPortLabels   off
  2503.   TreatAsAtomicUnit   off
  2504.   MaskType   "Read from workspace"
  2505.   MaskDescription   "Read from a workspace variable atnsampling"
  2506. " time point."
  2507.   MaskHelp   "This block reads from a workspace variable "
  2508. "at a given sample time. The column number is the block output vector length. "
  2509. "When the simulation reaches the end of the variable (eof), the block will cyc"
  2510. "lically output from the first row of the variable or output zeros based on th"
  2511. "e repeat flag entree."
  2512.   MaskPromptString   "Variable (column_number=block_output_length"
  2513. "):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output zero"
  2514. "s after eof).|Initial output:"
  2515.   MaskStyleString   "edit,edit,edit,edit"
  2516.   MaskTunableValueString  "on,on,on,on"
  2517.   MaskCallbackString   "|||"
  2518.   MaskEnableString   "on,on,on,on"
  2519.   MaskVisibilityString   "on,on,on,on"
  2520.   MaskToolTipString   "on,on,on,on"
  2521.   MaskVarAliasString   ",,,"
  2522.   MaskInitialization   "var=@1;td=@2;ts=td(1);if (length(td)>=2),of"
  2523. "f=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
  2524.   MaskDisplay   "plot(0,0,100,100,x,y);disp('Rd wksp')"
  2525.   MaskIconFrame   on
  2526.   MaskIconOpaque   on
  2527.   MaskIconRotate   "none"
  2528.   MaskIconUnits   "autoscale"
  2529.   MaskValueString   "randint(2000,1,4)|1|1|1"
  2530.   System {
  2531.     Name     "4-ary source_"
  2532.     Location     [355, 528, 737, 675]
  2533.     Open     off
  2534.     ModelBrowserVisibility  off
  2535.     ModelBrowserWidth     200
  2536.     ScreenColor     "white"
  2537.     PaperOrientation     "landscape"
  2538.     PaperPositionMode     "auto"
  2539.     PaperType     "A4"
  2540.     PaperUnits     "centimeters"
  2541.     ZoomFactor     "100"
  2542.     Block {
  2543.       BlockType       "S-Function"
  2544.       Name       "Message source"
  2545.       Ports       [1, 1]
  2546.       Position       [180, 53, 255, 97]
  2547.       BackgroundColor       "yellow"
  2548.       FunctionName       "trigwksp"
  2549.       Parameters       "var,thd,cyclFlag,ini"
  2550.       MaskType       "Read from workspace"
  2551.       MaskDescription       "The raising edge of input pulse trigger"
  2552. " the block output the next row from the workspace variable."
  2553.       MaskHelp       "This block reads the data from a worksp"
  2554. "ace variable. The output is refreshed at the raising edge of the input pulse."
  2555.       MaskPromptString       "Read the variable:|Threshold for the in"
  2556. "put pulse:|Cyclic read variable (1) or amend zeros (0).|Output before first t"
  2557. "rigger:"
  2558.       MaskStyleString       "edit,edit,edit,edit"
  2559.       MaskTunableValueString  "on,on,on,on"
  2560.       MaskCallbackString      "|||"
  2561.       MaskEnableString       "on,on,on,on"
  2562.       MaskVisibilityString    "on,on,on,on"
  2563.       MaskToolTipString       "on,on,on,on"
  2564.       MaskVarAliasString      ",,,"
  2565.       MaskInitialization      "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
  2566.       MaskDisplay       "disp('Triggered\nread')"
  2567.       MaskIconFrame       on
  2568.       MaskIconOpaque       on
  2569.       MaskIconRotate       "none"
  2570.       MaskIconUnits       "autoscale"
  2571.       MaskValueString       "var|.1|cyc|ini"
  2572.     }
  2573.     Block {
  2574.       BlockType       SubSystem
  2575.       Name       "Pulses deividensame sample time1"
  2576.       Ports       [0, 1]
  2577.       Position       [50, 56, 110, 94]
  2578.       ShowPortLabels       off
  2579.       TreatAsAtomicUnit       off
  2580.       MaskType       "Pulse generator"
  2581.       MaskDescription       "Vector pulses with sample rate of each "
  2582. "pulse as Sample_time ./Divider. "
  2583.       MaskHelp       "This block generator a vector pulses. T"
  2584. "he output length is the same as the vector defined in "Divider". The ith el"
  2585. "ement of the output has the sample time Sample_time/Divider(i). All elements "
  2586. "in "Divider" must be integers."
  2587.       MaskPromptString       "Sample time (scalar, sec):|Divider (int"
  2588. "eger vector):|Offset (have same dimension as Divider:"
  2589.       MaskStyleString       "edit,edit,edit"
  2590.       MaskTunableValueString  "on,on,on"
  2591.       MaskCallbackString      "||"
  2592.       MaskEnableString       "on,on,on"
  2593.       MaskVisibilityString    "on,on,on"
  2594.       MaskToolTipString       "on,on,on"
  2595.       MaskVarAliasString      ",,"
  2596.       MaskInitialization      "samp_time=@1;out_divid=@2;offset=@3;"
  2597.       MaskDisplay       "disp('Vector\nPulse')"
  2598.       MaskIconFrame       on
  2599.       MaskIconOpaque       on
  2600.       MaskIconRotate       "none"
  2601.       MaskIconUnits       "autoscale"
  2602.       MaskValueString       "ts|1|off"
  2603.       System {
  2604. Name "Pulses deividensame sample time1"
  2605. Location [55, 192, 283, 286]
  2606. Open off
  2607. ModelBrowserVisibility off
  2608. ModelBrowserWidth 200
  2609. ScreenColor "white"
  2610. PaperOrientation "landscape"
  2611. PaperPositionMode "auto"
  2612. PaperType "A4"
  2613. PaperUnits "centimeters"
  2614. ZoomFactor "100"
  2615. Block {
  2616.   BlockType   "S-Function"
  2617.   Name   "S-function1"
  2618.   Ports   [0, 1]
  2619.   Position   [40, 31, 105, 59]
  2620.   FunctionName   "homopuls"
  2621.   Parameters   "samp_time, out_divid, offset"
  2622. }
  2623. Block {
  2624.   BlockType   Outport
  2625.   Name   "Outport"
  2626.   Position   [160, 35, 180, 55]
  2627. }
  2628. Line {
  2629.   SrcBlock   "S-function1"
  2630.   SrcPort   1
  2631.   DstBlock   "Outport"
  2632.   DstPort   1
  2633. }
  2634.       }
  2635.     }
  2636.     Block {
  2637.       BlockType       Outport
  2638.       Name       "out_1"
  2639.       Position       [295, 65, 315, 85]
  2640.     }
  2641.     Line {
  2642.       SrcBlock       "Pulses deividensame sample time1"
  2643.       SrcPort       1
  2644.       DstBlock       "Message source"
  2645.       DstPort       1
  2646.     }
  2647.     Line {
  2648.       SrcBlock       "Message source"
  2649.       SrcPort       1
  2650.       DstBlock       "out_1"
  2651.       DstPort       1
  2652.     }
  2653.   }
  2654. }
  2655. Block {
  2656.   BlockType   Clock
  2657.   Name   "Clock"
  2658.   Position   [655, 160, 675, 180]
  2659.   Decimation   "10"
  2660. }
  2661. Block {
  2662.   BlockType   Fcn
  2663.   Name   "Fcn1"
  2664.   Position   [715, 135, 810, 165]
  2665.   ShowName   off
  2666.   Expr   "cos(4*pi*u)"
  2667. }
  2668. Block {
  2669.   BlockType   Fcn
  2670.   Name   "Fcn2"
  2671.   Position   [715, 180, 810, 210]
  2672.   ShowName   off
  2673.   Expr   "sin(4*pi*u)"
  2674. }
  2675. Block {
  2676.   BlockType   Product
  2677.   Name   "Product"
  2678.   Ports   [2, 1]
  2679.   Position   [870, 88, 900, 112]
  2680.   ShowName   off
  2681. }
  2682. Block {
  2683.   BlockType   Product
  2684.   Name   "Product1"
  2685.   Ports   [2, 1]
  2686.   Position   [870, 238, 900, 262]
  2687.   ShowName   off
  2688. }
  2689. Block {
  2690.   BlockType   Sum
  2691.   Name   "Sum"
  2692.   Ports   [2, 1]
  2693.   Position   [980, 160, 1000, 180]
  2694.   ShowName   off
  2695.   Inputs   "+-"
  2696. }
  2697. Block {
  2698.   BlockType   Scope
  2699.   Name   "a_c(t)"
  2700.   Ports   [1]
  2701.   Position   [320, 15, 350, 45]
  2702.   Orientation   "up"
  2703.   Location   [189, 294, 1110, 394]
  2704.   Open   off
  2705.   NumInputPorts   "1"
  2706.   List {
  2707.     ListType     AxesTitles
  2708.     axes1     "%<SignalLabel>"
  2709.   }
  2710.   TimeRange   "25.000000"
  2711.   YMin   "-1.5"
  2712.   YMax   "1.5"
  2713.   DataFormat   "Array"
  2714. }
  2715. Block {
  2716.   BlockType   Scope
  2717.   Name   "a_s(t)"
  2718.   Ports   [1]
  2719.   Position   [320, 170, 350, 200]
  2720.   Orientation   "up"
  2721.   Location   [226, 633, 1147, 733]
  2722.   Open   off
  2723.   NumInputPorts   "1"
  2724.   List {
  2725.     ListType     AxesTitles
  2726.     axes1     "%<SignalLabel>"
  2727.   }
  2728.   TimeRange   "25.000000"
  2729.   YMin   "-1.5"
  2730.   YMax   "1.5"
  2731.   DataFormat   "Array"
  2732. }
  2733. Block {
  2734.   BlockType   SubSystem
  2735.   Name   "closetransmitter"
  2736.   Ports   []
  2737.   Position   [915, 25, 1050, 51]
  2738.   BackgroundColor   "lightBlue"
  2739.   ShowName   off
  2740.   OpenFcn   "closetra"
  2741.   FontAngle   "italic"
  2742.   ShowPortLabels   off
  2743.   TreatAsAtomicUnit   off
  2744.   MaskType   "close"
  2745.   MaskDisplay   "disp('Close transmitter')"
  2746.   MaskIconFrame   on
  2747.   MaskIconOpaque   on
  2748.   MaskIconRotate   "none"
  2749.   MaskIconUnits   "autoscale"
  2750.   System {
  2751.     Name     "closetransmitter"
  2752.     Location     [136, 230, 381, 439]
  2753.     Open     off
  2754.     ModelBrowserVisibility  off
  2755.     ModelBrowserWidth     200
  2756.     ScreenColor     "cyan"
  2757.     PaperOrientation     "landscape"
  2758.     PaperPositionMode     "auto"
  2759.     PaperType     "usletter"
  2760.     PaperUnits     "inches"
  2761.     ZoomFactor     "100"
  2762.   }
  2763. }
  2764. Block {
  2765.   BlockType   Scope
  2766.   Name   "s_c(t)"
  2767.   Ports   [1]
  2768.   Position   [530, 15, 560, 45]
  2769.   Orientation   "up"
  2770.   Location   [359, 438, 1280, 538]
  2771.   Open   off
  2772.   NumInputPorts   "1"
  2773.   List {
  2774.     ListType     AxesTitles
  2775.     axes1     "%<SignalLabel>"
  2776.   }
  2777.   TimeRange   "25.000000"
  2778.   YMin   "-1.500000"
  2779.   YMax   "1.500000"
  2780.   DataFormat   "Array"
  2781. }
  2782. Block {
  2783.   BlockType   Scope
  2784.   Name   "s_s(t)"
  2785.   Ports   [1]
  2786.   Position   [525, 170, 555, 200]
  2787.   Orientation   "up"
  2788.   Location   [359, 731, 1280, 831]
  2789.   Open   off
  2790.   NumInputPorts   "1"
  2791.   List {
  2792.     ListType     AxesTitles
  2793.     axes1     "%<SignalLabel>"
  2794.   }
  2795.   TimeRange   "25.000000"
  2796.   YMin   "-1.500000"
  2797.   YMax   "1.500000"
  2798.   DataFormat   "Array"
  2799. }
  2800. Block {
  2801.   BlockType   SubSystem
  2802.   Name   "transmitterndiagrams"
  2803.   Ports   [2]
  2804.   Position   [675, 20, 730, 60]
  2805.   ShowPortLabels   off
  2806.   TreatAsAtomicUnit   off
  2807.   MaskType   "2D-Diagrams"
  2808.   MaskDescription   "Eye pattern, signal space trajectory and sc"
  2809. "atter plot"
  2810.   MaskPromptString   "Plot start time:|Samples per time slot (2*T"
  2811. "):|Decision offset:"
  2812.   MaskStyleString   "edit,edit,edit"
  2813.   MaskTunableValueString  "on,on,on"
  2814.   MaskCallbackString   "||"
  2815.   MaskEnableString   "on,on,on"
  2816.   MaskVisibilityString   "on,on,on"
  2817.   MaskToolTipString   "on,on,on"
  2818.   MaskVarAliasString   ",,"
  2819.   MaskVariables   "starttime=@1;anzahl=@2;offset=@3;"
  2820.   MaskInitialization   " [x, y] = srcsicon(10);"
  2821.   MaskDisplay   "plot(0,0,100,100,x,y)"
  2822.   MaskIconFrame   on
  2823.   MaskIconOpaque   on
  2824.   MaskIconRotate   "none"
  2825.   MaskIconUnits   "autoscale"
  2826.   MaskValueString   "0|40|0"
  2827.   System {
  2828.     Name     "transmitterndiagrams"
  2829.     Location     [533, 416, 945, 709]
  2830.     Open     off
  2831.     ModelBrowserVisibility  off
  2832.     ModelBrowserWidth     200
  2833.     ScreenColor     "white"
  2834.     PaperOrientation     "landscape"
  2835.     PaperPositionMode     "auto"
  2836.     PaperType     "usletter"
  2837.     PaperUnits     "inches"
  2838.     ZoomFactor     "100"
  2839.     Block {
  2840.       BlockType       Inport
  2841.       Name       "Inphase"
  2842.       Position       [30, 20, 50, 40]
  2843.     }
  2844.     Block {
  2845.       BlockType       Inport
  2846.       Name       "Quadratur"
  2847.       Position       [30, 80, 50, 100]
  2848.       Port       "2"
  2849.     }
  2850.     Block {
  2851.       BlockType       Constant
  2852.       Name       "Constant"
  2853.       Position       [90, 125, 110, 145]
  2854.       Orientation       "up"
  2855.       ShowName       off
  2856.       Value       "Inf"
  2857.     }
  2858.     Block {
  2859.       BlockType       Constant
  2860.       Name       "Constant0"
  2861.       Position       [190, 125, 210, 145]
  2862.       Orientation       "up"
  2863.       ShowName       off
  2864.       Value       "0"
  2865.     }
  2866.     Block {
  2867.       BlockType       SubSystem
  2868.       Name       "Inphase eye patternntransmitter"
  2869.       Ports       [1]
  2870.       Position       [305, 17, 360, 53]
  2871.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  2872.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  2873.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  2874.       StartFcn       "eyesampl([],[],[],'Start')"
  2875.       StopFcn       "eyesampl([],[],[],'Stop')"
  2876.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  2877.       ShowPortLabels       off
  2878.       TreatAsAtomicUnit       off
  2879.       MaskType       "Eye-diagram/scatter plot"
  2880.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  2881. "ter plot."
  2882.       MaskHelp       "This plot opens one, or two plots by as"
  2883. "signing the line type parameters. The scatter plot point is selected by the d"
  2884. "ecision point in the first parameter entry. A decision line is drawn in the e"
  2885. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  2886.       MaskPromptString       "[Symbol interval, plot offset, decision"
  2887. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  2888. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  2889. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  2890.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  2891.       MaskTunableValueString  "on,on,on,on,on,on"
  2892.       MaskCallbackString      "|||||"
  2893.       MaskEnableString       "on,on,on,on,on,on"
  2894.       MaskVisibilityString    "on,on,on,on,on,on"
  2895.       MaskToolTipString       "on,on,on,on,on,on"
  2896.       MaskVarAliasString      ",,,,,"
  2897.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  2898. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2899.       MaskDisplay       "plot(0,0,100,100,x,y);"
  2900.       MaskIconFrame       on
  2901.       MaskIconOpaque       on
  2902.       MaskIconRotate       "none"
  2903.       MaskIconUnits       "autoscale"
  2904.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  2905. "/anzahl"
  2906.       System {
  2907. Name "Inphase eye patternntransmitter"
  2908. Location [121, 409, 416, 595]
  2909. Open off
  2910. ModelBrowserVisibility off
  2911. ModelBrowserWidth 200
  2912. ScreenColor "white"
  2913. PaperOrientation "landscape"
  2914. PaperPositionMode "auto"
  2915. PaperType "usletter"
  2916. PaperUnits "inches"
  2917. ZoomFactor "100"
  2918. Block {
  2919.   BlockType   Inport
  2920.   Name   "in_1"
  2921.   Position   [75, 80, 95, 100]
  2922. }
  2923. Block {
  2924.   BlockType   "S-Function"
  2925.   Name   "Plot1"
  2926.   Ports   [1]
  2927.   Position   [130, 70, 200, 110]
  2928.   FunctionName   "eyesampl"
  2929.   Parameters   "time_range, boundary, kept_length, "
  2930. "eye_line, scatter_line, two_d_line"
  2931. }
  2932. Line {
  2933.   SrcBlock   "in_1"
  2934.   SrcPort   1
  2935.   DstBlock   "Plot1"
  2936.   DstPort   1
  2937. }
  2938.       }
  2939.     }
  2940.     Block {
  2941.       BlockType       Mux
  2942.       Name       "Mux"
  2943.       Ports       [2, 1]
  2944.       Position       [230, 16, 265, 49]
  2945.       Inputs       "2"
  2946.     }
  2947.     Block {
  2948.       BlockType       Mux
  2949.       Name       "Mux1"
  2950.       Ports       [2, 1]
  2951.       Position       [230, 76, 265, 109]
  2952.       Inputs       "2"
  2953.     }
  2954.     Block {
  2955.       BlockType       Mux
  2956.       Name       "Mux2"
  2957.       Ports       [2, 1]
  2958.       Position       [230, 146, 265, 179]
  2959.       Inputs       "2"
  2960.     }
  2961.     Block {
  2962.       BlockType       Mux
  2963.       Name       "Mux3"
  2964.       Ports       [2, 1]
  2965.       Position       [230, 211, 265, 244]
  2966.       Inputs       "2"
  2967.     }
  2968.     Block {
  2969.       BlockType       SubSystem
  2970.       Name       "Quadrature eye patternntransmitter"
  2971.       Ports       [1]
  2972.       Position       [305, 77, 360, 113]
  2973.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  2974.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  2975.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  2976.       StartFcn       "eyesampl([],[],[],'Start')"
  2977.       StopFcn       "eyesampl([],[],[],'Stop')"
  2978.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  2979.       ShowPortLabels       off
  2980.       TreatAsAtomicUnit       off
  2981.       MaskType       "Eye-diagram/scatter plot"
  2982.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  2983. "ter plot."
  2984.       MaskHelp       "This plot opens one, or two plots by as"
  2985. "signing the line type parameters. The scatter plot point is selected by the d"
  2986. "ecision point in the first parameter entry. A decision line is drawn in the e"
  2987. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  2988.       MaskPromptString       "[Symbol interval, plot offset, decision"
  2989. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  2990. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  2991. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  2992.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  2993.       MaskTunableValueString  "on,on,on,on,on,on"
  2994.       MaskCallbackString      "|||||"
  2995.       MaskEnableString       "on,on,on,on,on,on"
  2996.       MaskVisibilityString    "on,on,on,on,on,on"
  2997.       MaskToolTipString       "on,on,on,on,on,on"
  2998.       MaskVarAliasString      ",,,,,"
  2999.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3000. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3001.       MaskDisplay       "plot(0,0,100,100,x,y);"
  3002.       MaskIconFrame       on
  3003.       MaskIconOpaque       on
  3004.       MaskIconRotate       "none"
  3005.       MaskIconUnits       "autoscale"
  3006.       MaskValueString       "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
  3007. "/anzahl"
  3008.       System {
  3009. Name "Quadrature eye patternntransmitter"
  3010. Location [121, 409, 416, 595]
  3011. Open off
  3012. ModelBrowserVisibility off
  3013. ModelBrowserWidth 200
  3014. ScreenColor "white"
  3015. PaperOrientation "landscape"
  3016. PaperPositionMode "auto"
  3017. PaperType "usletter"
  3018. PaperUnits "inches"
  3019. ZoomFactor "100"
  3020. Block {
  3021.   BlockType   Inport
  3022.   Name   "in_1"
  3023.   Position   [75, 80, 95, 100]
  3024. }
  3025. Block {
  3026.   BlockType   "S-Function"
  3027.   Name   "Plot1"
  3028.   Ports   [1]
  3029.   Position   [130, 70, 200, 110]
  3030.   FunctionName   "eyesampl"
  3031.   Parameters   "time_range, boundary, kept_length, "
  3032. "eye_line, scatter_line, two_d_line"
  3033. }
  3034. Line {
  3035.   SrcBlock   "in_1"
  3036.   SrcPort   1
  3037.   DstBlock   "Plot1"
  3038.   DstPort   1
  3039. }
  3040.       }
  3041.     }
  3042.     Block {
  3043.       BlockType       SubSystem
  3044.       Name       "Scatter plotntransmitter"
  3045.       Ports       [1]
  3046.       Position       [305, 213, 360, 247]
  3047.       CopyFcn       "eyesampl([],[],[],'CopyBlock')"
  3048.       DeleteFcn       "eyesampl([],[],[],'DeleteBlock')"
  3049.       LoadFcn       "eyesampl([],[],[],'LoadBlock')"
  3050.       StartFcn       "eyesampl([],[],[],'Start')"
  3051.       StopFcn       "eyesampl([],[],[],'Stop')"
  3052.       NameChangeFcn       "eyesampl([],[],[],'NameChange')"
  3053.       ShowPortLabels       off
  3054.       TreatAsAtomicUnit       off
  3055.       MaskType       "Eye-diagram/scatter plot"
  3056.       MaskDescription       "Produce eye-pattern diagram and/or scat"
  3057. "ter plot."
  3058.       MaskHelp       "This plot opens one, or two plots by as"
  3059. "signing the line type parameters. The scatter plot point is selected by the d"
  3060. "ecision point in the first parameter entry. A decision line is drawn in the e"
  3061. "ye-pattern diagram. The plot is updated at the plot update sample time point."
  3062.       MaskPromptString       "[Symbol interval, plot offset, decision"
  3063. " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
  3064. "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
  3065. "pe for scatter plot (0 for no plot):|Plot update sample time:"
  3066.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  3067.       MaskTunableValueString  "on,on,on,on,on,on"
  3068.       MaskCallbackString      "|||||"
  3069.       MaskEnableString       "on,on,on,on,on,on"
  3070.       MaskVisibilityString    "on,on,on,on,on,on"
  3071.       MaskToolTipString       "on,on,on,on,on,on"
  3072.       MaskVarAliasString      ",,,,,"
  3073.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3074. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  3075.       MaskDisplay       "plot(0,0,100,100,x,y);"
  3076.       MaskIconFrame       on
  3077.       MaskIconOpaque       on
  3078.       MaskIconRotate       "none"
  3079.       MaskIconUnits       "autoscale"
  3080.       MaskValueString       "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 off"
  3081. "set]"
  3082.       System {
  3083. Name "Scatter plotntransmitter"
  3084. Location [165, 242, 460, 428]
  3085. Open off
  3086. ModelBrowserVisibility off
  3087. ModelBrowserWidth 200
  3088. ScreenColor "white"
  3089. PaperOrientation "landscape"
  3090. PaperPositionMode "auto"
  3091. PaperType "usletter"
  3092. PaperUnits "inches"
  3093. ZoomFactor "100"
  3094. Block {
  3095.   BlockType   Inport
  3096.   Name   "in_1"
  3097.   Position   [75, 80, 95, 100]
  3098. }
  3099. Block {
  3100.   BlockType   "S-Function"
  3101.   Name   "Plot1"
  3102.   Ports   [1]
  3103.   Position   [130, 70, 200, 110]
  3104.   FunctionName   "eyesampl"
  3105.   Parameters   "time_range, boundary, kept_length, "
  3106. "eye_line, scatter_line, two_d_line"
  3107. }
  3108. Line {
  3109.   SrcBlock   "in_1"
  3110.   SrcPort   1
  3111.   DstBlock   "Plot1"
  3112.   DstPort   1
  3113. }
  3114.       }
  3115.     }
  3116.     Block {
  3117.       BlockType       Step
  3118.       Name       "Step input"
  3119.       Position       [30, 125, 50, 145]
  3120.       Time       "starttime"
  3121.       SampleTime       "1"
  3122.     }
  3123.     Block {
  3124.       BlockType       Switch
  3125.       Name       "Switch"
  3126.       Position       [130, 24, 155, 56]
  3127.       Threshold       "1"
  3128.     }
  3129.     Block {
  3130.       BlockType       Switch
  3131.       Name       "Switch1"
  3132.       Position       [130, 84, 155, 116]
  3133.       Threshold       "1"
  3134.     }
  3135.     Block {
  3136.       BlockType       SubSystem
  3137.       Name       "Trajectoryntransmitter"
  3138.       Ports       [1]
  3139.       Position       [305, 157, 360, 193]
  3140.       CopyFcn       "eyediasi([],[],[],'CopyBlock')"
  3141.       DeleteFcn       "eyediasi([],[],[],'DeleteBlock')"
  3142.       LoadFcn       "eyediasi([],[],[],'LoadBlock')"
  3143.       StartFcn       "eyediasi([],[],[],'Start')"
  3144.       StopFcn       "eyediasi([],[],[],'Stop')"
  3145.       NameChangeFcn       "eyediasi([],[],[],'NameChange')"
  3146.       ShowPortLabels       off
  3147.       TreatAsAtomicUnit       off
  3148.       MaskType       "Eye-diagram/scatter plot"
  3149.       MaskDescription       "Produce eye-pattern diagram/scatternpl"
  3150. "ot/x-y plot with the rising edge of the second input as the decision line."
  3151.       MaskHelp       "This plot opens one, two, or three plot"
  3152. "s by assigning the line type parameters. The scatter plot point is selected b"
  3153. "y the rising edge of a trigger signal. A decision line is drawn at the rising"
  3154. " edge of the trigger signal."
  3155.       MaskPromptString       "Eye-pattern plot time frame:|Lower and "
  3156. "upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-ty"
  3157. "pe for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for"
  3158. " no plot):|Line-type for x-y plot (0 for no plot):"
  3159.       MaskStyleString       "edit,edit,edit,edit,edit,edit"
  3160.       MaskTunableValueString  "on,on,on,on,on,on"
  3161.       MaskCallbackString      "|||||"
  3162.       MaskEnableString       "on,on,on,on,on,on"
  3163.       MaskVisibilityString    "on,on,on,on,on,on"
  3164.       MaskToolTipString       "on,on,on,on,on,on"
  3165.       MaskVarAliasString      ",,,,,"
  3166.       MaskInitialization      "time_range=@1;boundary=@2;kept_length=@"
  3167. "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon"
  3168. "(0,25,get_param(gcb,'orientation'),2);"
  3169.       MaskDisplay       "plot(0,0,100,100,x,y,v,w);"
  3170.       MaskIconFrame       on
  3171.       MaskIconOpaque       on
  3172.       MaskIconRotate       "none"
  3173.       MaskIconUnits       "autoscale"
  3174.       MaskValueString       "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  3175.       System {
  3176. Name "Trajectoryntransmitter"
  3177. Location [165, 242, 460, 428]
  3178. Open off
  3179. ModelBrowserVisibility off
  3180. ModelBrowserWidth 200
  3181. ScreenColor "white"
  3182. PaperOrientation "landscape"
  3183. PaperPositionMode "auto"
  3184. PaperType "usletter"
  3185. PaperUnits "inches"
  3186. ZoomFactor "100"
  3187. Block {
  3188.   BlockType   Inport
  3189.   Name   "in_1"
  3190.   Position   [15, 55, 35, 75]
  3191. }
  3192. Block {
  3193.   BlockType   Constant
  3194.   Name   "Constant"
  3195.   Position   [15, 110, 45, 140]
  3196.   Value   "0"
  3197. }
  3198. Block {
  3199.   BlockType   Mux
  3200.   Name   "Mux"
  3201.   Ports   [2, 1]
  3202.   Position   [65, 70, 100, 105]
  3203.   Inputs   "2"
  3204. }
  3205. Block {
  3206.   BlockType   "S-Function"
  3207.   Name   "Plot1"
  3208.   Ports   [1]
  3209.   Position   [130, 70, 200, 110]
  3210.   FunctionName   "eyediasi"
  3211.   Parameters   "time_range, boundary, kept_length, "
  3212. "eye_line, scatter_line, two_d_line"
  3213. }
  3214. Line {
  3215.   SrcBlock   "Mux"
  3216.   SrcPort   1
  3217.   DstBlock   "Plot1"
  3218.   DstPort   1
  3219. }
  3220. Line {
  3221.   SrcBlock   "Constant"
  3222.   SrcPort   1
  3223.   DstBlock   "Mux"
  3224.   DstPort   2
  3225. }
  3226. Line {
  3227.   SrcBlock   "in_1"
  3228.   SrcPort   1
  3229.   Points   [5, 0; 0, 15]
  3230.   DstBlock   "Mux"
  3231.   DstPort   1
  3232. }
  3233.       }
  3234.     }
  3235.     Line {
  3236.       SrcBlock       "Mux2"
  3237.       SrcPort       1
  3238.       Points       [20, 0]
  3239.       DstBlock       "Trajectoryntransmitter"
  3240.       DstPort       1
  3241.     }
  3242.     Line {
  3243.       SrcBlock       "Mux3"
  3244.       SrcPort       1
  3245.       DstBlock       "Scatter plotntransmitter"
  3246.       DstPort       1
  3247.     }
  3248.     Line {
  3249.       SrcBlock       "Mux"
  3250.       SrcPort       1
  3251.       DstBlock       "Inphase eye patternntransmitter"
  3252.       DstPort       1
  3253.     }
  3254.     Line {
  3255.       SrcBlock       "Mux1"
  3256.       SrcPort       1
  3257.       DstBlock       "Quadrature eye patternntransmitter"
  3258.       DstPort       1
  3259.     }
  3260.     Line {
  3261.       SrcBlock       "Constant"
  3262.       SrcPort       1
  3263.       Points       [0, -10]
  3264.       Branch {
  3265. Points [0, -60]
  3266. DstBlock "Switch"
  3267. DstPort 3
  3268.       }
  3269.       Branch {
  3270. DstBlock "Switch1"
  3271. DstPort 3
  3272.       }
  3273.     }
  3274.     Line {
  3275.       SrcBlock       "Step input"
  3276.       SrcPort       1
  3277.       Points       [20, 0; 0, -35]
  3278.       Branch {
  3279. Points [0, -60]
  3280. DstBlock "Switch"
  3281. DstPort 2
  3282.       }
  3283.       Branch {
  3284. DstBlock "Switch1"
  3285. DstPort 2
  3286.       }
  3287.     }
  3288.     Line {
  3289.       SrcBlock       "Inphase"
  3290.       SrcPort       1
  3291.       DstBlock       "Switch"
  3292.       DstPort       1
  3293.     }
  3294.     Line {
  3295.       SrcBlock       "Quadratur"
  3296.       SrcPort       1
  3297.       DstBlock       "Switch1"
  3298.       DstPort       1
  3299.     }
  3300.     Line {
  3301.       SrcBlock       "Switch"
  3302.       SrcPort       1
  3303.       Points       [10, 0; 0, 5]
  3304.       Branch {
  3305. Points [0, 110]
  3306. Branch {
  3307.   Points   [0, 65]
  3308.   DstBlock   "Mux3"
  3309.   DstPort   1
  3310. }
  3311. Branch {
  3312.   DstBlock   "Mux2"
  3313.   DstPort   1
  3314. }
  3315.       }
  3316.       Branch {
  3317. Points [0, -5]
  3318. DstBlock "Mux"
  3319. DstPort 2
  3320.       }
  3321.     }
  3322.     Line {
  3323.       SrcBlock       "Switch1"
  3324.       SrcPort       1
  3325.       Points       [20, 0]
  3326.       Branch {
  3327. Points [0, 70]
  3328. Branch {
  3329.   Points   [0, 65]
  3330.   DstBlock   "Mux3"
  3331.   DstPort   2
  3332. }
  3333. Branch {
  3334.   DstBlock   "Mux2"
  3335.   DstPort   2
  3336. }
  3337.       }
  3338.       Branch {
  3339. DstBlock "Mux1"
  3340. DstPort 2
  3341.       }
  3342.     }
  3343.     Line {
  3344.       SrcBlock       "Constant0"
  3345.       SrcPort       1
  3346.       Points       [0, -35]
  3347.       Branch {
  3348. DstBlock "Mux1"
  3349. DstPort 1
  3350.       }
  3351.       Branch {
  3352. Points [0, -60]
  3353. DstBlock "Mux"
  3354. DstPort 1
  3355.       }
  3356.     }
  3357.   }
  3358. }
  3359. Block {
  3360.   BlockType   Scope
  3361.   Name   "u(t)"
  3362.   Ports   [1]
  3363.   Position   [1020, 85, 1050, 115]
  3364.   Orientation   "up"
  3365.   Location   [359, 924, 1280, 1024]
  3366.   Open   off
  3367.   NumInputPorts   "1"
  3368.   List {
  3369.     ListType     AxesTitles
  3370.     axes1     "%<SignalLabel>"
  3371.   }
  3372.   TimeRange   "25.000000"
  3373.   YMin   "-1.500000"
  3374.   YMax   "1.500000"
  3375.   DataFormat   "Array"
  3376. }
  3377. Block {
  3378.   BlockType   Scope
  3379.   Name   "u_c(t)"
  3380.   Ports   [1]
  3381.   Position   [965, 85, 995, 115]
  3382.   Location   [130, 412, 1051, 512]
  3383.   Open   off
  3384.   NumInputPorts   "1"
  3385.   List {
  3386.     ListType     AxesTitles
  3387.     axes1     "%<SignalLabel>"
  3388.   }
  3389.   TimeRange   "25.000000"
  3390.   YMin   "-1.5"
  3391.   YMax   "1.5"
  3392.   DataFormat   "Array"
  3393. }
  3394. Block {
  3395.   BlockType   Scope
  3396.   Name   "u_s(t)"
  3397.   Ports   [1]
  3398.   Position   [965, 235, 995, 265]
  3399.   Location   [226, 794, 1147, 894]
  3400.   Open   off
  3401.   NumInputPorts   "1"
  3402.   List {
  3403.     ListType     AxesTitles
  3404.     axes1     "%<SignalLabel>"
  3405.   }
  3406.   TimeRange   "25.000000"
  3407.   YMin   "-1.5"
  3408.   YMax   "1.5"
  3409.   DataFormat   "Array"
  3410. }
  3411. Block {
  3412.   BlockType   Outport
  3413.   Name   "16-QAM-nSignal"
  3414.   Position   [1065, 160, 1085, 180]
  3415. }
  3416. Block {
  3417.   BlockType   Outport
  3418.   Name   "Symbols"
  3419.   Position   [260, 160, 280, 180]
  3420.   Port   "2"
  3421. }
  3422. Block {
  3423.   BlockType   Outport
  3424.   Name   "a_c"
  3425.   Position   [380, 55, 400, 75]
  3426.   Port   "3"
  3427. }
  3428. Block {
  3429.   BlockType   Outport
  3430.   Name   "a_s"
  3431.   Position   [380, 210, 400, 230]
  3432.   Port   "4"
  3433. }
  3434. Line {
  3435.   SrcBlock   "4-ASK1"
  3436.   SrcPort   1
  3437.   Points   [50, 0]
  3438.   Branch {
  3439.     Points     [205, 0]
  3440.     Branch {
  3441.       DstBlock       "s_s(t)"
  3442.       DstPort       1
  3443.     }
  3444.     Branch {
  3445.       Points       [95, 0]
  3446.       Branch {
  3447. DstBlock "Product1"
  3448. DstPort 2
  3449.       }
  3450.       Branch {
  3451. Points [0, -205]
  3452. DstBlock "transmitterndiagrams"
  3453. DstPort 2
  3454.       }
  3455.     }
  3456.   }
  3457.   Branch {
  3458.     Points     [0, -35]
  3459.     Branch {
  3460.       DstBlock       "a_s(t)"
  3461.       DstPort       1
  3462.     }
  3463.     Branch {
  3464.       DstBlock       "a_s"
  3465.       DstPort       1
  3466.     }
  3467.   }
  3468. }
  3469. Line {
  3470.   SrcBlock   "4-ASK"
  3471.   SrcPort   1
  3472.   Points   [50, 0]
  3473.   Branch {
  3474.     Points     [210, 0]
  3475.     Branch {
  3476.       DstBlock       "s_c(t)"
  3477.       DstPort       1
  3478.     }
  3479.     Branch {
  3480.       Points       [65, 0]
  3481.       Branch {
  3482. DstBlock "Product"
  3483. DstPort 1
  3484.       }
  3485.       Branch {
  3486. Points [0, -65]
  3487. DstBlock "transmitterndiagrams"
  3488. DstPort 1
  3489.       }
  3490.     }
  3491.   }
  3492.   Branch {
  3493.     Points     [0, -30]
  3494.     Branch {
  3495.       DstBlock       "a_c(t)"
  3496.       DstPort       1
  3497.     }
  3498.     Branch {
  3499.       DstBlock       "a_c"
  3500.       DstPort       1
  3501.     }
  3502.   }
  3503. }
  3504. Line {
  3505.   SrcBlock   "Product1"
  3506.   SrcPort   1
  3507.   Points   [0, 0; 30, 0]
  3508.   Branch {
  3509.     DstBlock     "u_s(t)"
  3510.     DstPort     1
  3511.   }
  3512.   Branch {
  3513.     Points     [0, -75]
  3514.     DstBlock     "Sum"
  3515.     DstPort     2
  3516.   }
  3517. }
  3518. Line {
  3519.   SrcBlock   "Product"
  3520.   SrcPort   1
  3521.   Points   [0, 0; 30, 0]
  3522.   Branch {
  3523.     DstBlock     "u_c(t)"
  3524.     DstPort     1
  3525.   }
  3526.   Branch {
  3527.     Points     [0, 65]
  3528.     DstBlock     "Sum"
  3529.     DstPort     1
  3530.   }
  3531. }
  3532. Line {
  3533.   SrcBlock   "Clock"
  3534.   SrcPort   1
  3535.   Points   [0, 0]
  3536.   Branch {
  3537.     Points     [10, 0; 0, 25]
  3538.     DstBlock     "Fcn2"
  3539.     DstPort     1
  3540.   }
  3541.   Branch {
  3542.     Points     [10, 0; 0, -20]
  3543.     DstBlock     "Fcn1"
  3544.     DstPort     1
  3545.   }
  3546. }
  3547. Line {
  3548.   SrcBlock   "Fcn1"
  3549.   SrcPort   1
  3550.   Points   [20, 0; 0, -45]
  3551.   DstBlock   "Product"
  3552.   DstPort   2
  3553. }
  3554. Line {
  3555.   SrcBlock   "Fcn2"
  3556.   SrcPort   1
  3557.   Points   [20, 0; 0, 50]
  3558.   DstBlock   "Product1"
  3559.   DstPort   1
  3560. }
  3561. Line {
  3562.   SrcBlock   "Sum"
  3563.   SrcPort   1
  3564.   Points   [0, 0; 30, 0]
  3565.   Branch {
  3566.     DstBlock     "u(t)"
  3567.     DstPort     1
  3568.   }
  3569.   Branch {
  3570.     DstBlock     "16-QAM-nSignal"
  3571.     DstPort     1
  3572.   }
  3573. }
  3574. Line {
  3575.   SrcBlock   "4-ary source"
  3576.   SrcPort   1
  3577.   Points   [35, 0]
  3578.   Branch {
  3579.     Points     [5, 0; 0, 60]
  3580.     DstBlock     "16 QAM"
  3581.     DstPort     1
  3582.   }
  3583.   Branch {
  3584.     DstBlock     "4-ASK"
  3585.     DstPort     1
  3586.   }
  3587. }
  3588. Line {
  3589.   SrcBlock   "4-ary source_"
  3590.   SrcPort   1
  3591.   Points   [40, 0]
  3592.   Branch {
  3593.     DstBlock     "4-ASK1"
  3594.     DstPort     1
  3595.   }
  3596.   Branch {
  3597.     Points     [0, -75]
  3598.     DstBlock     "16 QAM"
  3599.     DstPort     2
  3600.   }
  3601. }
  3602. Line {
  3603.   SrcBlock   "16 QAM"
  3604.   SrcPort   1
  3605.   DstBlock   "Symbols"
  3606.   DstPort   1
  3607. }
  3608.       }
  3609.     }
  3610.     Block {
  3611.       BlockType       Scope
  3612.       Name       "a_c(t)n(transmitter)"
  3613.       Ports       [1]
  3614.       Position       [295, 220, 325, 250]
  3615.       Orientation       "down"
  3616.       NamePlacement       "alternate"
  3617.       Location       [227, 535, 1147, 635]
  3618.       Open       off
  3619.       NumInputPorts       "1"
  3620.       List {
  3621. ListType AxesTitles
  3622. axes1 "%<SignalLabel>"
  3623.       }
  3624.       TimeRange       "25.000000"
  3625.       YMin       "-1.5"
  3626.       YMax       "1.5"
  3627.       DataFormat       "Array"
  3628.     }
  3629.     Block {
  3630.       BlockType       Scope
  3631.       Name       "a_s(t)n(transmitter)"
  3632.       Ports       [1]
  3633.       Position       [200, 220, 230, 250]
  3634.       Orientation       "down"
  3635.       NamePlacement       "alternate"
  3636.       Location       [227, 632, 1147, 732]
  3637.       Open       off
  3638.       NumInputPorts       "1"
  3639.       List {
  3640. ListType AxesTitles
  3641. axes1 "%<SignalLabel>"
  3642.       }
  3643.       TimeRange       "25.000000"
  3644.       YMin       "-1.5"
  3645.       YMax       "1.5"
  3646.       DataFormat       "Array"
  3647.     }
  3648.     Block {
  3649.       BlockType       SubSystem
  3650.       Name       "constellation"
  3651.       Ports       []
  3652.       Position       [35, 24, 120, 61]
  3653.       BackgroundColor       "lightBlue"
  3654.       ShowName       off
  3655.       OpenFcn       "cplotqam(16)"
  3656.       ShowPortLabels       off
  3657.       TreatAsAtomicUnit       off
  3658.       MaskType       "constellation"
  3659.       MaskDisplay       "disp('Signal Space \n Constellation')"
  3660.       MaskIconFrame       on
  3661.       MaskIconOpaque       on
  3662.       MaskIconRotate       "none"
  3663.       MaskIconUnits       "autoscale"
  3664.       System {
  3665. Name "constellation"
  3666. Location [74, 73, 1338, 1015]
  3667. Open off
  3668. ModelBrowserVisibility off
  3669. ModelBrowserWidth 200
  3670. ScreenColor "cyan"
  3671. PaperOrientation "landscape"
  3672. PaperPositionMode "auto"
  3673. PaperType "usletter"
  3674. PaperUnits "inches"
  3675. ZoomFactor "100"
  3676.       }
  3677.     }
  3678.     Block {
  3679.       BlockType       Scope
  3680.       Name       "detectednsymbols"
  3681.       Ports       [1]
  3682.       Position       [745, 220, 775, 250]
  3683.       Orientation       "down"
  3684.       NamePlacement       "alternate"
  3685.       Location       [227, 794, 1147, 894]
  3686.       Open       off
  3687.       NumInputPorts       "1"
  3688.       List {
  3689. ListType AxesTitles
  3690. axes1 "%<SignalLabel>"
  3691.       }
  3692.       TimeRange       "25.000000"
  3693.       YMin       "-15"
  3694.       YMax       "15"
  3695.       DataFormat       "Array"
  3696.     }
  3697.     Block {
  3698.       BlockType       SubSystem
  3699.       Name       "noise variance"
  3700.       Ports       []
  3701.       Position       [454, 45, 560, 69]
  3702.       BackgroundColor       "lightBlue"
  3703.       ShowName       off
  3704.       OpenFcn       "setnoise"
  3705.       FontSize       12
  3706.       FontAngle       "italic"
  3707.       ShowPortLabels       off
  3708.       TreatAsAtomicUnit       off
  3709.       MaskType       "noise"
  3710.       MaskDisplay       "disp('Noise variance')"
  3711.       MaskIconFrame       on
  3712.       MaskIconOpaque       on
  3713.       MaskIconRotate       "none"
  3714.       MaskIconUnits       "autoscale"
  3715.       System {
  3716. Name "noise variance"
  3717. Location [136, 230, 381, 439]
  3718. Open off
  3719. ModelBrowserVisibility off
  3720. ModelBrowserWidth 200
  3721. ScreenColor "cyan"
  3722. PaperOrientation "landscape"
  3723. PaperPositionMode "auto"
  3724. PaperType "usletter"
  3725. PaperUnits "inches"
  3726. ZoomFactor "100"
  3727.       }
  3728.     }
  3729.     Block {
  3730.       BlockType       Scope
  3731.       Name       "r(t)"
  3732.       Ports       [1]
  3733.       Position       [590, 25, 620, 55]
  3734.       Orientation       "up"
  3735.       Location       [227, 794, 1147, 894]
  3736.       Open       off
  3737.       NumInputPorts       "1"
  3738.       List {
  3739. ListType AxesTitles
  3740. axes1 "%<SignalLabel>"
  3741.       }
  3742.       TimeRange       "25.000000"
  3743.       YMin       "-1.5"
  3744.       YMax       "1.5"
  3745.       DataFormat       "Array"
  3746.     }
  3747.     Block {
  3748.       BlockType       SubSystem
  3749.       Name       "show receiver"
  3750.       Ports       []
  3751.       Position       [790, 105, 925, 131]
  3752.       BackgroundColor       "lightBlue"
  3753.       ShowName       off
  3754.       OpenFcn       "showqamr"
  3755.       FontSize       12
  3756.       FontAngle       "italic"
  3757.       ShowPortLabels       off
  3758.       TreatAsAtomicUnit       off
  3759.       MaskType       "open"
  3760.       MaskDisplay       "disp('Receiver')"
  3761.       MaskIconFrame       on
  3762.       MaskIconOpaque       on
  3763.       MaskIconRotate       "none"
  3764.       MaskIconUnits       "autoscale"
  3765.       System {
  3766. Name "show receiver"
  3767. Location [136, 230, 381, 439]
  3768. Open off
  3769. ModelBrowserVisibility off
  3770. ModelBrowserWidth 200
  3771. ScreenColor "cyan"
  3772. PaperOrientation "landscape"
  3773. PaperPositionMode "auto"
  3774. PaperType "usletter"
  3775. PaperUnits "inches"
  3776. ZoomFactor "100"
  3777.       }
  3778.     }
  3779.     Block {
  3780.       BlockType       SubSystem
  3781.       Name       "show transmitter"
  3782.       Ports       []
  3783.       Position       [35, 110, 170, 136]
  3784.       BackgroundColor       "lightBlue"
  3785.       ShowName       off
  3786.       OpenFcn       "showqamt"
  3787.       FontSize       12
  3788.       FontAngle       "italic"
  3789.       ShowPortLabels       off
  3790.       TreatAsAtomicUnit       off
  3791.       MaskType       "open"
  3792.       MaskDisplay       "disp('Transmitter')"
  3793.       MaskIconFrame       on
  3794.       MaskIconOpaque       on
  3795.       MaskIconRotate       "none"
  3796.       MaskIconUnits       "autoscale"
  3797.       System {
  3798. Name "show transmitter"
  3799. Location [136, 230, 381, 439]
  3800. Open off
  3801. ModelBrowserVisibility off
  3802. ModelBrowserWidth 200
  3803. ScreenColor "cyan"
  3804. PaperOrientation "landscape"
  3805. PaperPositionMode "auto"
  3806. PaperType "usletter"
  3807. PaperUnits "inches"
  3808. ZoomFactor "100"
  3809.       }
  3810.     }
  3811.     Block {
  3812.       BlockType       Scope
  3813.       Name       "transmittednsymbols"
  3814.       Ports       [1]
  3815.       Position       [345, 220, 375, 250]
  3816.       Orientation       "down"
  3817.       Location       [227, 438, 1147, 538]
  3818.       Open       off
  3819.       NumInputPorts       "1"
  3820.       List {
  3821. ListType AxesTitles
  3822. axes1 "%<SignalLabel>"
  3823.       }
  3824.       TimeRange       "25.000000"
  3825.       YMin       "-15"
  3826.       YMax       "15"
  3827.       DataFormat       "Array"
  3828.     }
  3829.     Block {
  3830.       BlockType       Scope
  3831.       Name       "u(t)"
  3832.       Ports       [1]
  3833.       Position       [390, 25, 420, 55]
  3834.       Orientation       "up"
  3835.       Location       [227, 729, 1147, 829]
  3836.       Open       off
  3837.       NumInputPorts       "1"
  3838.       List {
  3839. ListType AxesTitles
  3840. axes1 "%<SignalLabel>"
  3841.       }
  3842.       TimeRange       "25.000000"
  3843.       YMin       "-1.5"
  3844.       YMax       "1.5"
  3845.       DataFormat       "Array"
  3846.     }
  3847.     Line {
  3848.       SrcBlock       "Transmitter"
  3849.       SrcPort       1
  3850.       Points       [0, -10; 125, 0]
  3851.       Branch {
  3852. DstBlock "u(t)"
  3853. DstPort 1
  3854.       }
  3855.       Branch {
  3856. DstBlock "Channel"
  3857. DstPort 1
  3858.       }
  3859.     }
  3860.     Line {
  3861.       SrcBlock       "Channel"
  3862.       SrcPort       1
  3863.       Points       [50, 0]
  3864.       Branch {
  3865. DstBlock "Receiver"
  3866. DstPort 1
  3867.       }
  3868.       Branch {
  3869. DstBlock "r(t)"
  3870. DstPort 1
  3871.       }
  3872.     }
  3873.     Line {
  3874.       SrcBlock       "Receiver"
  3875.       SrcPort       1
  3876.       Points       [30, 0; 0, 80]
  3877.       Branch {
  3878. DstBlock "detectednsymbols"
  3879. DstPort 1
  3880.       }
  3881.       Branch {
  3882. Points [-235, 0]
  3883. DstBlock "Error rate"
  3884. DstPort 2
  3885.       }
  3886.     }
  3887.     Line {
  3888.       SrcBlock       "Transmitter"
  3889.       SrcPort       2
  3890.       Points       [80, 0; 0, 50]
  3891.       Branch {
  3892. Points [125, 0]
  3893. DstBlock "Error rate"
  3894. DstPort 1
  3895.       }
  3896.       Branch {
  3897. DstBlock "transmittednsymbols"
  3898. DstPort 1
  3899.       }
  3900.     }
  3901.     Line {
  3902.       SrcBlock       "Transmitter"
  3903.       SrcPort       3
  3904.       Points       [30, 0]
  3905.       DstBlock       "a_c(t)n(transmitter)"
  3906.       DstPort       1
  3907.     }
  3908.     Line {
  3909.       SrcBlock       "Transmitter"
  3910.       SrcPort       4
  3911.       Points       [5, 0; 0, 30]
  3912.       DstBlock       "a_s(t)n(transmitter)"
  3913.       DstPort       1
  3914.     }
  3915.   }
  3916. }