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

通讯编程文档

开发平台:

Matlab

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