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

通讯编程文档

开发平台:

Matlab

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