oqpwnymf.mdl
Upload User: loeagle
Upload Date: 2013-03-02
Package Size: 1236k
Code Size: 167k
Development Platform:

Matlab

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