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

通讯编程文档

开发平台:

Matlab

  1. Library {
  2.   Name   "librnew"
  3.   Version   4.00
  4.   LibraryLinkDisplay   "none"
  5.   CovSaveName   "covdata"
  6.   CovMetricSettings   "dw"
  7.   CovNameIncrementing   off
  8.   CovHtmlReporting   on
  9.   BlockNameDataTip   off
  10.   BlockParametersDataTip  off
  11.   BlockDescriptionStringDataTip off
  12.   ToolBar   off
  13.   StatusBar   off
  14.   BrowserShowLibraryLinks off
  15.   BrowserLookUnderMasks   off
  16.   Created   "Sun Mar 10 17:37:34 2002"
  17.   UpdateHistory   "UpdateHistoryNever"
  18.   ModifiedByFormat   "%<Auto>"
  19.   ModifiedDateFormat   "%<Auto>"
  20.   LastModifiedDate   "Sun Jul 21 15:19:25 2002"
  21.   ModelVersionFormat   "1.%<AutoIncrement:15>"
  22.   ConfigurationManager   "None"
  23.   SimParamPage   "Solver"
  24.   AlgebraicLoopMsg   "warning"
  25.   MinStepSizeMsg   "warning"
  26.   UnconnectedInputMsg   "warning"
  27.   UnconnectedOutputMsg   "warning"
  28.   UnconnectedLineMsg   "warning"
  29.   InheritedTsInSrcMsg   "warning"
  30.   SingleTaskRateTransMsg  "none"
  31.   MultiTaskRateTransMsg   "error"
  32.   IntegerOverflowMsg   "warning"
  33.   CheckForMatrixSingularity "none"
  34.   UnnecessaryDatatypeConvMsg "none"
  35.   Int32ToFloatConvMsg   "warning"
  36.   InvalidFcnCallConnMsg   "error"
  37.   SignalLabelMismatchMsg  "none"
  38.   LinearizationMsg   "none"
  39.   VectorMatrixConversionMsg "none"
  40.   SfunCompatibilityCheckMsg "none"
  41.   BlockPriorityViolationMsg "warning"
  42.   ArrayBoundsChecking   "none"
  43.   ConsistencyChecking   "none"
  44.   Profile   off
  45.   SimulationMode   "normal"
  46.   RTWRetainRTWFile   off
  47.   RTWMakeCommand   "make_rtw"
  48.   RTWGenerateCodeOnly   off
  49.   TLCProfiler   off
  50.   TLCDebug   off
  51.   TLCCoverage   off
  52.   ExtModeMexFile   "ext_comm"
  53.   ExtModeBatchMode   off
  54.   ExtModeTrigType   "manual"
  55.   ExtModeTrigMode   "normal"
  56.   ExtModeTrigPort   "1"
  57.   ExtModeTrigElement   "any"
  58.   ExtModeTrigDuration   1000
  59.   ExtModeTrigHoldOff   0
  60.   ExtModeTrigDelay   0
  61.   ExtModeTrigDirection   "rising"
  62.   ExtModeTrigLevel   0
  63.   ExtModeArchiveMode   "off"
  64.   ExtModeAutoIncOneShot   off
  65.   ExtModeIncDirWhenArm   off
  66.   ExtModeAddSuffixToVar   off
  67.   ExtModeWriteAllDataToWs off
  68.   ExtModeArmWhenConnect   on
  69.   ExtModeSkipDownloadWhenConnect off
  70.   ExtModeLogAll   on
  71.   ExtModeAutoUpdateStatusClock on
  72.   BlockDefaults {
  73.     Orientation     "right"
  74.     ForegroundColor     "black"
  75.     BackgroundColor     "white"
  76.     DropShadow     off
  77.     NamePlacement     "normal"
  78.     FontName     "Helvetica"
  79.     FontSize     10
  80.     FontWeight     "normal"
  81.     FontAngle     "normal"
  82.     ShowName     on
  83.   }
  84.   AnnotationDefaults {
  85.     HorizontalAlignment     "center"
  86.     VerticalAlignment     "middle"
  87.     ForegroundColor     "black"
  88.     BackgroundColor     "white"
  89.     DropShadow     off
  90.     FontName     "Helvetica"
  91.     FontSize     10
  92.     FontWeight     "normal"
  93.     FontAngle     "normal"
  94.   }
  95.   LineDefaults {
  96.     FontName     "Helvetica"
  97.     FontSize     9
  98.     FontWeight     "normal"
  99.     FontAngle     "normal"
  100.   }
  101.   System {
  102.     Name     "librnew"
  103.     Location     [396, 55, 896, 356]
  104.     Open     on
  105.     ModelBrowserVisibility  off
  106.     ModelBrowserWidth     200
  107.     ScreenColor     "automatic"
  108.     PaperOrientation     "landscape"
  109.     PaperPositionMode     "auto"
  110.     PaperType     "A4"
  111.     PaperUnits     "centimeters"
  112.     ZoomFactor     "74"
  113.     ReportName     "simulink-default.rpt"
  114.     Block {
  115.       BlockType       SubSystem
  116.       Name       "4-ASK"
  117.       Ports       [1, 1]
  118.       Position       [295, 94, 375, 136]
  119.       ShowPortLabels       on
  120.       TreatAsAtomicUnit       off
  121.       RTWSystemCode       "Auto"
  122.       RTWFcnNameOpts       "Auto"
  123.       RTWFileNameOpts       "Auto"
  124.       MaskType       "M-ASK mapping"
  125.       MaskDescription       "Map a digital symbol onto an analognsignal in "
  126. "the range [-1, 1] using M-arynamplitude shift keying modulation mapping."
  127.       MaskHelp       "This block maps an input digit signal onto a si"
  128. "gnal in the range [-1, 1]. The coded signal can be modulated using analog\nm"
  129. "odulation blocks. Input digits are in the range [0, M-1], where M is the M-ar"
  130. "y number. The input symbol interval can be a two-element vector with the seco"
  131. "nd element being offset. The default value offset is 0. Use the MODMAP functi"
  132. "on to see the constellation."
  133.       MaskPromptString       "M-ary number (input integers in range [0, M-1])"
  134. ":|Input symbol interval and offset (sec):"
  135.       MaskStyleString       "edit,edit"
  136.       MaskTunableValueString  "on,on"
  137.       MaskCallbackString      "|"
  138.       MaskEnableString       "on,on"
  139.       MaskVisibilityString    "on,on"
  140.       MaskToolTipString       "on,on"
  141.       MaskVariables       "N=@1;td=@2;"
  142.       MaskInitialization      "Ac=1;Kc=Ac*2/(N-1);"
  143.       MaskDisplay       "disp('MASK\nmapping')"
  144.       MaskIconFrame       on
  145.       MaskIconOpaque       on
  146.       MaskIconRotate       "none"
  147.       MaskIconUnits       "autoscale"
  148.       MaskValueString       "4|1"
  149.       MaskVariableAliases     ","
  150.       System {
  151. Name "4-ASK"
  152. Location [148, 182, 646, 482]
  153. Open off
  154. ModelBrowserVisibility off
  155. ModelBrowserWidth 200
  156. ScreenColor "white"
  157. PaperOrientation "landscape"
  158. PaperPositionMode "auto"
  159. PaperType "A4"
  160. PaperUnits "centimeters"
  161. ZoomFactor "100"
  162. Block {
  163.   BlockType   Inport
  164.   Name   "in_1"
  165.   Position   [60, 60, 80, 80]
  166.   Port   "1"
  167.   LatchInput   off
  168.   Interpolate   on
  169. }
  170. Block {
  171.   BlockType   Gain
  172.   Name   "Gain"
  173.   Position   [200, 55, 240, 85]
  174.   Gain   "Kc"
  175.   Multiplication   "Element-wise(K.*u)"
  176.   SaturateOnIntegerOverflow on
  177. }
  178. Block {
  179.   BlockType   Constant
  180.   Name   "Gain diff"
  181.   Position   [200, 126, 235, 154]
  182.   Value   "Ac"
  183.   VectorParams1D   on
  184. }
  185. Block {
  186.   BlockType   Sum
  187.   Name   "Sum1"
  188.   Ports   [2, 1]
  189.   Position   [270, 93, 290, 117]
  190.   IconShape   "rectangular"
  191.   Inputs   "+-"
  192.   SaturateOnIntegerOverflow on
  193. }
  194. Block {
  195.   BlockType   ZeroOrderHold
  196.   Name   "Zero-OrdernHold"
  197.   Position   [120, 54, 155, 86]
  198.   SampleTime   "td"
  199. }
  200. Block {
  201.   BlockType   Outport
  202.   Name   "out_1"
  203.   Position   [335, 95, 355, 115]
  204.   Port   "1"
  205.   OutputWhenDisabled   "held"
  206.   InitialOutput   "[]"
  207. }
  208. Line {
  209.   SrcBlock   "Gain"
  210.   SrcPort   1
  211.   Points   [5, 0; 0, 30]
  212.   DstBlock   "Sum1"
  213.   DstPort   1
  214. }
  215. Line {
  216.   SrcBlock   "Gain diff"
  217.   SrcPort   1
  218.   Points   [10, 0; 0, -30]
  219.   DstBlock   "Sum1"
  220.   DstPort   2
  221. }
  222. Line {
  223.   SrcBlock   "Sum1"
  224.   SrcPort   1
  225.   DstBlock   "out_1"
  226.   DstPort   1
  227. }
  228. Line {
  229.   SrcBlock   "in_1"
  230.   SrcPort   1
  231.   DstBlock   "Zero-OrdernHold"
  232.   DstPort   1
  233. }
  234. Line {
  235.   SrcBlock   "Zero-OrdernHold"
  236.   SrcPort   1
  237.   DstBlock   "Gain"
  238.   DstPort   1
  239. }
  240.       }
  241.     }
  242.     Block {
  243.       BlockType       SubSystem
  244.       Name       "4-ASK demap"
  245.       Ports       [1, 1]
  246.       Position       [305, 184, 375, 226]
  247.       ShowPortLabels       on
  248.       TreatAsAtomicUnit       off
  249.       RTWSystemCode       "Auto"
  250.       RTWFcnNameOpts       "Auto"
  251.       RTWFileNameOpts       "Auto"
  252.       MaskType       "MASK demapping"
  253.       MaskDescription       "Reverse the MASK mapping processnConvert [-1 1"
  254. "] analog signal to [0, M-1] symbols."
  255.       MaskHelp       "This block demaps a MASK mapped signal back to "
  256. "digit symbols. You can place this block after a amplitude demodulation block."
  257. " The input of this block is an analog signal in the range [-1, 1]. The demodu"
  258. "lation decides the closest integer fitting in [0,M-1] range. When the input s"
  259. "ymbol interval is a two-elements vector, the second element is offset. The de"
  260. "fault offset value is 0."
  261.       MaskPromptString       "M-ary number (digit integers in ranger [0, M-1]"
  262. "):|Output symbol interval and offset (sec):"
  263.       MaskStyleString       "edit,edit"
  264.       MaskTunableValueString  "on,on"
  265.       MaskCallbackString      "|"
  266.       MaskEnableString       "on,on"
  267.       MaskVisibilityString    "on,on"
  268.       MaskToolTipString       "on,on"
  269.       MaskVariables       "N=@1;td=@2;"
  270.       MaskInitialization      "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
  271.       MaskDisplay       "disp('MASK\ndemapping')"
  272.       MaskIconFrame       on
  273.       MaskIconOpaque       on
  274.       MaskIconRotate       "none"
  275.       MaskIconUnits       "autoscale"
  276.       MaskValueString       "4|[1, .9]"
  277.       MaskVariableAliases     ","
  278.       System {
  279. Name "4-ASK demap"
  280. Location [617, 158, 1115, 458]
  281. Open off
  282. ModelBrowserVisibility off
  283. ModelBrowserWidth 200
  284. ScreenColor "white"
  285. PaperOrientation "landscape"
  286. PaperPositionMode "auto"
  287. PaperType "A4"
  288. PaperUnits "centimeters"
  289. ZoomFactor "100"
  290. Block {
  291.   BlockType   Inport
  292.   Name   "in_1"
  293.   Position   [40, 30, 60, 50]
  294.   Port   "1"
  295.   LatchInput   off
  296.   Interpolate   on
  297. }
  298. Block {
  299.   BlockType   Abs
  300.   Name   "Abs"
  301.   Position   [245, 37, 280, 63]
  302.   SaturateOnIntegerOverflow on
  303. }
  304. Block {
  305.   BlockType   "S-Function"
  306.   Name   "Minimum"
  307.   Ports   [1, 1]
  308.   Position   [325, 40, 380, 60]
  309.   FunctionName   "arymimai"
  310.   Parameters   "'min'"
  311.   PortCounts   "[]"
  312.   SFunctionModules   "''"
  313. }
  314. Block {
  315.   BlockType   Constant
  316.   Name   "Shift key"
  317.   Position   [125, 88, 145, 112]
  318.   Value   "sft"
  319.   VectorParams1D   on
  320. }
  321. Block {
  322.   BlockType   Sum
  323.   Name   "Sum2"
  324.   Ports   [2, 1]
  325.   Position   [190, 33, 210, 62]
  326.   IconShape   "rectangular"
  327.   Inputs   "+-"
  328.   SaturateOnIntegerOverflow on
  329. }
  330. Block {
  331.   BlockType   ZeroOrderHold
  332.   Name   "Zero-OrdernHold"
  333.   Position   [95, 24, 130, 56]
  334.   SampleTime   "td"
  335. }
  336. Block {
  337.   BlockType   Outport
  338.   Name   "out_1"
  339.   Position   [410, 40, 430, 60]
  340.   Port   "1"
  341.   OutputWhenDisabled   "held"
  342.   InitialOutput   "[]"
  343. }
  344. Line {
  345.   SrcBlock   "in_1"
  346.   SrcPort   1
  347.   DstBlock   "Zero-OrdernHold"
  348.   DstPort   1
  349. }
  350. Line {
  351.   SrcBlock   "Abs"
  352.   SrcPort   1
  353.   DstBlock   "Minimum"
  354.   DstPort   1
  355. }
  356. Line {
  357.   SrcBlock   "Zero-OrdernHold"
  358.   SrcPort   1
  359.   DstBlock   "Sum2"
  360.   DstPort   1
  361. }
  362. Line {
  363.   SrcBlock   "Minimum"
  364.   SrcPort   1
  365.   DstBlock   "out_1"
  366.   DstPort   1
  367. }
  368. Line {
  369.   SrcBlock   "Shift key"
  370.   SrcPort   1
  371.   Points   [15, 0; 0, -45]
  372.   DstBlock   "Sum2"
  373.   DstPort   2
  374. }
  375. Line {
  376.   SrcBlock   "Sum2"
  377.   SrcPort   1
  378.   DstBlock   "Abs"
  379.   DstPort   1
  380. }
  381.       }
  382.     }
  383.     Block {
  384.       BlockType       SubSystem
  385.       Name       "ButterworthLP filter"
  386.       Ports       [1, 1]
  387.       Position       [145, 280, 220, 330]
  388.       ShowPortLabels       on
  389.       TreatAsAtomicUnit       off
  390.       RTWSystemCode       "Auto"
  391.       RTWFcnNameOpts       "Auto"
  392.       RTWFileNameOpts       "Auto"
  393.       MaskType       "Lowpass Butterworth filter"
  394.       MaskPromptString       "Cutoff frequency (rad/s)|Filter order"
  395.       MaskStyleString       "edit,edit"
  396.       MaskTunableValueString  "on,on"
  397.       MaskCallbackString      "|"
  398.       MaskEnableString       "on,on"
  399.       MaskVisibilityString    "on,on"
  400.       MaskToolTipString       "on,on"
  401.       MaskVariables       "n=@2;"
  402.       MaskInitialization      "z = @1 * [];np = @1 * exp(i*(pi*(1:2:n-1)/(2*n"
  403. ") + pi/2));np = [p; conj(p)];np = p(:);nif rem(n,2)==1   % n is oddn    p"
  404. " = [p; -1];nendnk = real(prod(-p));"
  405.       MaskDisplay       "plot(0,0,100,100,[90,10,10],[10,10,90],[70,40,9"
  406. "],[10,70,70])"
  407.       MaskIconFrame       on
  408.       MaskIconOpaque       on
  409.       MaskIconRotate       "none"
  410.       MaskIconUnits       "autoscale"
  411.       MaskValueString       "5|4"
  412.       MaskVariableAliases     ","
  413.       System {
  414. Name "ButterworthLP filter"
  415. Location [433, 403, 972, 660]
  416. Open off
  417. ModelBrowserVisibility off
  418. ModelBrowserWidth 200
  419. ScreenColor "white"
  420. PaperOrientation "landscape"
  421. PaperPositionMode "auto"
  422. PaperType "A4"
  423. PaperUnits "centimeters"
  424. ZoomFactor "100"
  425. Block {
  426.   BlockType   Inport
  427.   Name   "In1"
  428.   Position   [110, 103, 140, 117]
  429.   Port   "1"
  430.   LatchInput   off
  431.   Interpolate   on
  432. }
  433. Block {
  434.   BlockType   ZeroPole
  435.   Name   "Zero-Pole"
  436.   Position   [250, 92, 310, 128]
  437.   Zeros   "z"
  438.   Poles   "p"
  439.   Gain   "k"
  440.   AbsoluteTolerance   "auto"
  441. }
  442. Block {
  443.   BlockType   Outport
  444.   Name   "Out1"
  445.   Position   [380, 103, 410, 117]
  446.   Port   "1"
  447.   OutputWhenDisabled   "held"
  448.   InitialOutput   "[]"
  449. }
  450. Line {
  451.   SrcBlock   "Zero-Pole"
  452.   SrcPort   1
  453.   DstBlock   "Out1"
  454.   DstPort   1
  455. }
  456. Line {
  457.   SrcBlock   "In1"
  458.   SrcPort   1
  459.   DstBlock   "Zero-Pole"
  460.   DstPort   1
  461. }
  462.       }
  463.     }
  464.     Block {
  465.       BlockType       SubSystem
  466.       Name       "Channel"
  467.       Ports       [1, 1]
  468.       Position       [155, 28, 235, 72]
  469.       ShowPortLabels       off
  470.       TreatAsAtomicUnit       off
  471.       RTWSystemCode       "Auto"
  472.       RTWFcnNameOpts       "Auto"
  473.       RTWFileNameOpts       "Auto"
  474.       MaskType       "AWGN channel, fixed parameter"
  475.       MaskDescription       "Additive white Gaussian noise channelnwith fix"
  476. "ed mean and variance."
  477.       MaskHelp       "This block adds white Gaussian noise to the inp"
  478. "ut signal. The mean and the variance can be a scalar or vector with the same "
  479. "length as the input signal."
  480.       MaskPromptString       "Mean value:|Variance (std^2):|Initial Seed:"
  481.       MaskStyleString       "edit,edit,edit"
  482.       MaskTunableValueString  "on,on,on"
  483.       MaskCallbackString      "||"
  484.       MaskEnableString       "on,on,on"
  485.       MaskVisibilityString    "on,on,on"
  486.       MaskToolTipString       "on,on,on"
  487.       MaskVariables       "m=@1;variance=@2;s=@3;"
  488.       MaskInitialization      "[m,variance,s]=gwnoise(m,variance,s);n"
  489.       MaskDisplay       "plot(0,0,100,100);ndisp('AWGN')"
  490.       MaskIconFrame       on
  491.       MaskIconOpaque       on
  492.       MaskIconRotate       "none"
  493.       MaskIconUnits       "autoscale"
  494.       MaskValueString       "0|0.00010|12345"
  495.       MaskVariableAliases     ",,"
  496.       System {
  497. Name "Channel"
  498. Location [43, 129, 305, 275]
  499. Open off
  500. ModelBrowserVisibility off
  501. ModelBrowserWidth 200
  502. ScreenColor "automatic"
  503. PaperOrientation "landscape"
  504. PaperPositionMode "auto"
  505. PaperType "A4"
  506. PaperUnits "centimeters"
  507. ZoomFactor "100"
  508. Block {
  509.   BlockType   Inport
  510.   Name   "in_1"
  511.   Position   [45, 10, 65, 30]
  512.   Port   "1"
  513.   LatchInput   off
  514.   Interpolate   on
  515. }
  516. Block {
  517.   BlockType   SubSystem
  518.   Name   "Gaussian noisengenerator"
  519.   Ports   [0, 1]
  520.   Position   [25, 48, 105, 92]
  521.   ShowPortLabels   off
  522.   TreatAsAtomicUnit   off
  523.   RTWSystemCode   "Auto"
  524.   RTWFcnNameOpts   "Auto"
  525.   RTWFileNameOpts   "Auto"
  526.   MaskType   "Gaussian noise generator"
  527.   MaskDescription   "Generate Gaussian distributed noise withng"
  528. "iven mean and variance value."
  529.   MaskHelp   "When the mean value and seed are vectors, t"
  530. "he output of this block is a vector. The length of the vector is the same as "
  531. "the length of the mean value vector or the length of the seed. When the varia"
  532. "nce entry is a vector, the variance is a diagonal matrix."
  533.   MaskPromptString   "Mean value:|Variance (vector or matrix):|In"
  534. "itial seed:"
  535.   MaskStyleString   "edit,edit,edit"
  536.   MaskTunableValueString  "on,on,on"
  537.   MaskCallbackString   "||"
  538.   MaskEnableString   "on,on,on"
  539.   MaskVisibilityString   "on,on,on"
  540.   MaskToolTipString   "on,on,on"
  541.   MaskVariables   "m=@1;variance=@2;s=@3;"
  542.   MaskInitialization   "[m,variance,s]=gwnoise(m,variance,s);[x,y]="
  543. "srcsicon(3);"
  544.   MaskDisplay   "plot(0,0,100,100,x,y);disp('Gaussian')"
  545.   MaskIconFrame   on
  546.   MaskIconOpaque   on
  547.   MaskIconRotate   "none"
  548.   MaskIconUnits   "autoscale"
  549.   MaskValueString   "m|variance|s"
  550.   MaskVariableAliases   ",,"
  551.   System {
  552.     Name     "Gaussian noisengenerator"
  553.     Location     [22, 119, 370, 243]
  554.     Open     off
  555.     ModelBrowserVisibility  off
  556.     ModelBrowserWidth     200
  557.     ScreenColor     "automatic"
  558.     PaperOrientation     "landscape"
  559.     PaperPositionMode     "auto"
  560.     PaperType     "A4"
  561.     PaperUnits     "centimeters"
  562.     ZoomFactor     "100"
  563.     Block {
  564.       BlockType       Constant
  565.       Name       "Constant"
  566.       Position       [140, 20, 160, 40]
  567.       Value       "m"
  568.       VectorParams1D       on
  569.     }
  570.     Block {
  571.       BlockType       StateSpace
  572.       Name       "MatrixnGain"
  573.       Position       [140, 61, 165, 89]
  574.       A       "[]"
  575.       B       "[]"
  576.       C       "[]"
  577.       D       "K"
  578.       X0       "0"
  579.       AbsoluteTolerance       "auto"
  580.       Realization       "auto"
  581.       MaskType       "Matrix Gain"
  582.       MaskDescription       "Matrix Gain."
  583.       MaskHelp       "Multiplies input vector by entered matr"
  584. "ix to produce output vector (y=Au)."
  585.       MaskPromptString       "Gain matrix:"
  586.       MaskStyleString       "edit"
  587.       MaskTunableValueString  "on"
  588.       MaskEnableString       "on"
  589.       MaskVisibilityString    "on"
  590.       MaskToolTipString       "on"
  591.       MaskInitialization      "K = @1;"
  592.       MaskDisplay       "disp('K')"
  593.       MaskIconFrame       on
  594.       MaskIconOpaque       on
  595.       MaskIconRotate       "none"
  596.       MaskIconUnits       "autoscale"
  597.       MaskValueString       "variance"
  598.     }
  599.     Block {
  600.       BlockType       RandomNumber
  601.       Name       "RandomnNumber"
  602.       Position       [35, 57, 80, 93]
  603.       Mean       "0"
  604.       Variance       "1"
  605.       Seed       "s"
  606.       SampleTime       "0"
  607.       VectorParams1D       on
  608.     }
  609.     Block {
  610.       BlockType       Sum
  611.       Name       "Sum"
  612.       Ports       [2, 1]
  613.       Position       [220, 60, 240, 80]
  614.       IconShape       "rectangular"
  615.       Inputs       "++"
  616.       SaturateOnIntegerOverflow on
  617.     }
  618.     Block {
  619.       BlockType       Outport
  620.       Name       "out_1"
  621.       Position       [285, 60, 305, 80]
  622.       Port       "1"
  623.       OutputWhenDisabled      "held"
  624.       InitialOutput       "[]"
  625.     }
  626.     Line {
  627.       SrcBlock       "Constant"
  628.       SrcPort       1
  629.       Points       [25, 0; 0, 35]
  630.       DstBlock       "Sum"
  631.       DstPort       1
  632.     }
  633.     Line {
  634.       SrcBlock       "Sum"
  635.       SrcPort       1
  636.       DstBlock       "out_1"
  637.       DstPort       1
  638.     }
  639.     Line {
  640.       SrcBlock       "MatrixnGain"
  641.       SrcPort       1
  642.       DstBlock       "Sum"
  643.       DstPort       2
  644.     }
  645.     Line {
  646.       SrcBlock       "RandomnNumber"
  647.       SrcPort       1
  648.       DstBlock       "MatrixnGain"
  649.       DstPort       1
  650.     }
  651.   }
  652. }
  653. Block {
  654.   BlockType   Sum
  655.   Name   "Sum"
  656.   Ports   [2, 1]
  657.   Position   [150, 55, 170, 75]
  658.   IconShape   "rectangular"
  659.   Inputs   "++"
  660.   SaturateOnIntegerOverflow on
  661. }
  662. Block {
  663.   BlockType   Outport
  664.   Name   "out_1"
  665.   Position   [200, 55, 220, 75]
  666.   Port   "1"
  667.   OutputWhenDisabled   "held"
  668.   InitialOutput   "[]"
  669. }
  670. Line {
  671.   SrcBlock   "Sum"
  672.   SrcPort   1
  673.   DstBlock   "out_1"
  674.   DstPort   1
  675. }
  676. Line {
  677.   SrcBlock   "in_1"
  678.   SrcPort   1
  679.   Points   [45, 0; 0, 40]
  680.   DstBlock   "Sum"
  681.   DstPort   1
  682. }
  683. Line {
  684.   SrcBlock   "Gaussian noisengenerator"
  685.   SrcPort   1
  686.   DstBlock   "Sum"
  687.   DstPort   2
  688. }
  689.       }
  690.     }
  691.     Block {
  692.       BlockType       SubSystem
  693.       Name       "Error rate"
  694.       Ports       [2]
  695.       Position       [290, 25, 370, 65]
  696.       Orientation       "down"
  697.       CopyFcn       "sbiterr([],[],[],'CopyBlock')"
  698.       DeleteFcn       "sbiterr([],[],[],'DeleteBlock')"
  699.       LoadFcn       "sbiterr([],[],[],'LoadBlock')"
  700.       StartFcn       "sbiterr([],[],[],'Start')"
  701.       StopFcn       "sbiterr([],[],[],'Stop')"
  702.       NameChangeFcn       "sbiterr([],[],[],'NameChange')"
  703.       ShowPortLabels       off
  704.       TreatAsAtomicUnit       off
  705.       RTWSystemCode       "Auto"
  706.       RTWFcnNameOpts       "Auto"
  707.       RTWFileNameOpts       "Auto"
  708.       MaskType       "Symbol/bit error counter"
  709.       MaskDescription       "Use the input data from the 1st port as the ref"
  710. "erence signal to detect the number of errors and error rate of the 2nd signal"
  711. "."
  712.       MaskHelp       "The signal from the first port must be a scalar"
  713. ". The second input port can be a vector with a delay to the first port signal"
  714. ". The comparison happens only at the sampling point."
  715.       MaskPromptString       "Bit per symbol:|Number of digits on display:|De"
  716. "lay between 1st port and 2nd port:|Sample time (sec):"
  717.       MaskStyleString       "edit,edit,edit,edit"
  718.       MaskTunableValueString  "on,on,on,on"
  719.       MaskCallbackString      "|||"
  720.       MaskEnableString       "on,on,on,on"
  721.       MaskVisibilityString    "on,on,on,on"
  722.       MaskToolTipString       "on,on,on,on"
  723.       MaskInitialization      "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
  724.       MaskDisplay       "disp('Error\nmeter')"
  725.       MaskIconFrame       on
  726.       MaskIconOpaque       on
  727.       MaskIconRotate       "none"
  728.       MaskIconUnits       "autoscale"
  729.       MaskValueString       "1|10|12|1"
  730.       MaskVariableAliases     ",,,"
  731.       System {
  732. Name "Error rate"
  733. Location [255, 368, 509, 510]
  734. Open off
  735. ModelBrowserVisibility off
  736. ModelBrowserWidth 200
  737. ScreenColor "white"
  738. PaperOrientation "landscape"
  739. PaperPositionMode "auto"
  740. PaperType "A4"
  741. PaperUnits "centimeters"
  742. ZoomFactor "100"
  743. Block {
  744.   BlockType   Inport
  745.   Name   "in_1"
  746.   Position   [15, 45, 35, 65]
  747.   Port   "1"
  748.   LatchInput   off
  749.   Interpolate   on
  750. }
  751. Block {
  752.   BlockType   Inport
  753.   Name   "in_2"
  754.   Position   [15, 60, 35, 80]
  755.   Port   "2"
  756.   LatchInput   off
  757.   Interpolate   on
  758. }
  759. Block {
  760.   BlockType   Mux
  761.   Name   "Mux"
  762.   Ports   [2, 1]
  763.   Position   [65, 46, 100, 79]
  764.   Inputs   "2"
  765.   DisplayOption   "none"
  766. }
  767. Block {
  768.   BlockType   "S-Function"
  769.   Name   "S-function"
  770.   Ports   [1]
  771.   Position   [130, 52, 195, 78]
  772.   FunctionName   "sbiterr"
  773.   Parameters   "num_lin, K, TDelay, Sample"
  774.   PortCounts   "[]"
  775.   SFunctionModules   "''"
  776. }
  777. Line {
  778.   SrcBlock   "Mux"
  779.   SrcPort   1
  780.   DstBlock   "S-function"
  781.   DstPort   1
  782. }
  783. Line {
  784.   SrcBlock   "in_1"
  785.   SrcPort   1
  786.   DstBlock   "Mux"
  787.   DstPort   1
  788. }
  789. Line {
  790.   SrcBlock   "in_2"
  791.   SrcPort   1
  792.   DstBlock   "Mux"
  793.   DstPort   2
  794. }
  795.       }
  796.     }
  797.     Block {
  798.       BlockType       SubSystem
  799.       Name       "MASK demap"
  800.       Ports       [1, 1]
  801.       Position       [135, 183, 215, 227]
  802.       ShowPortLabels       off
  803.       TreatAsAtomicUnit       off
  804.       RTWSystemCode       "Auto"
  805.       RTWFcnNameOpts       "Auto"
  806.       RTWFileNameOpts       "Auto"
  807.       MaskType       "MASK demap"
  808.       MaskDescription       "Reverse the MASK mapping processnConvert [-1 1"
  809. "] analog signal to [0, M-1] symbols."
  810.       MaskHelp       "This block demaps a MASK mapped signal back to "
  811. "digit symbols. You can place this block after a amplitude demodulation block."
  812. " The input of this block is an analog signal in the range [-1, 1]. The demodu"
  813. "lation decides the closest integer fitting in [0,M-1] range. When the input s"
  814. "ymbol interval is a two-elements vector, the second element is offset. The de"
  815. "fault offset value is 0."
  816.       MaskPromptString       "M-ary number (digit integers in ranger [0, M-1]"
  817. "):|Output symbol interval and offset (sec):"
  818.       MaskStyleString       "edit,edit"
  819.       MaskTunableValueString  "on,on"
  820.       MaskCallbackString      "|"
  821.       MaskEnableString       "on,on"
  822.       MaskVisibilityString    "on,on"
  823.       MaskToolTipString       "on,on"
  824.       MaskInitialization      "N=@1;Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;td=@2;"
  825.       MaskDisplay       "disp('MASK\ndemap')"
  826.       MaskIconFrame       on
  827.       MaskIconOpaque       on
  828.       MaskIconRotate       "none"
  829.       MaskIconUnits       "autoscale"
  830.       MaskValueString       "4|[1, .9]"
  831.       MaskVariableAliases     ","
  832.       System {
  833. Name "MASK demap"
  834. Location [80, 334, 521, 474]
  835. Open off
  836. ModelBrowserVisibility off
  837. ModelBrowserWidth 200
  838. ScreenColor "white"
  839. PaperOrientation "landscape"
  840. PaperPositionMode "auto"
  841. PaperType "A4"
  842. PaperUnits "centimeters"
  843. ZoomFactor "100"
  844. Block {
  845.   BlockType   Inport
  846.   Name   "in_1"
  847.   Position   [30, 35, 50, 55]
  848.   Port   "1"
  849.   LatchInput   off
  850.   Interpolate   on
  851. }
  852. Block {
  853.   BlockType   Abs
  854.   Name   "Abs"
  855.   Position   [235, 42, 270, 68]
  856.   SaturateOnIntegerOverflow on
  857. }
  858. Block {
  859.   BlockType   "S-Function"
  860.   Name   "Minimum"
  861.   Ports   [1, 1]
  862.   Position   [315, 45, 370, 65]
  863.   FunctionName   "arymimai"
  864.   Parameters   "'min'"
  865.   PortCounts   "[]"
  866.   SFunctionModules   "''"
  867. }
  868. Block {
  869.   BlockType   Constant
  870.   Name   "Shift key"
  871.   Position   [115, 93, 135, 117]
  872.   Value   "sft"
  873.   VectorParams1D   on
  874. }
  875. Block {
  876.   BlockType   Sum
  877.   Name   "Sum2"
  878.   Ports   [2, 1]
  879.   Position   [180, 38, 200, 67]
  880.   IconShape   "rectangular"
  881.   Inputs   "+-"
  882.   SaturateOnIntegerOverflow on
  883. }
  884. Block {
  885.   BlockType   ZeroOrderHold
  886.   Name   "Zero-OrdernHold"
  887.   Position   [85, 29, 120, 61]
  888.   SampleTime   "td"
  889. }
  890. Block {
  891.   BlockType   Outport
  892.   Name   "out_1"
  893.   Position   [400, 45, 420, 65]
  894.   Port   "1"
  895.   OutputWhenDisabled   "held"
  896.   InitialOutput   "[]"
  897. }
  898. Line {
  899.   SrcBlock   "in_1"
  900.   SrcPort   1
  901.   DstBlock   "Zero-OrdernHold"
  902.   DstPort   1
  903. }
  904. Line {
  905.   SrcBlock   "Abs"
  906.   SrcPort   1
  907.   DstBlock   "Minimum"
  908.   DstPort   1
  909. }
  910. Line {
  911.   SrcBlock   "Zero-OrdernHold"
  912.   SrcPort   1
  913.   DstBlock   "Sum2"
  914.   DstPort   1
  915. }
  916. Line {
  917.   SrcBlock   "Minimum"
  918.   SrcPort   1
  919.   DstBlock   "out_1"
  920.   DstPort   1
  921. }
  922. Line {
  923.   SrcBlock   "Shift key"
  924.   SrcPort   1
  925.   Points   [15, 0; 0, -45]
  926.   DstBlock   "Sum2"
  927.   DstPort   2
  928. }
  929. Line {
  930.   SrcBlock   "Sum2"
  931.   SrcPort   1
  932.   DstBlock   "Abs"
  933.   DstPort   1
  934. }
  935.       }
  936.     }
  937.     Block {
  938.       BlockType       SubSystem
  939.       Name       "MASK map"
  940.       Ports       [1, 1]
  941.       Position       [130, 93, 210, 137]
  942.       ShowPortLabels       off
  943.       TreatAsAtomicUnit       off
  944.       RTWSystemCode       "Auto"
  945.       RTWFcnNameOpts       "Auto"
  946.       RTWFileNameOpts       "Auto"
  947.       MaskType       "MASK map"
  948.       MaskDescription       "Map a digital symbol onto an analognsignal in "
  949. "the range [-1, 1] using M-arynamplitude shift keying modulation mapping."
  950.       MaskHelp       "This block maps an input digit signal onto a si"
  951. "gnal in the range [-1, 1]. The coded signal can be modulated using analog\nm"
  952. "odulation blocks. Input digits are in the range [0, M-1], where M is the M-ar"
  953. "y number. The input symbol interval can be a two-element vector with the seco"
  954. "nd element being offset. The default value offset is 0. Use the MODMAP functi"
  955. "on to see the constellation."
  956.       MaskPromptString       "M-ary number (input integers in range [0, M-1])"
  957. ":|Input symbol interval and offset (sec):"
  958.       MaskStyleString       "edit,edit"
  959.       MaskTunableValueString  "on,on"
  960.       MaskCallbackString      "|"
  961.       MaskEnableString       "on,on"
  962.       MaskVisibilityString    "on,on"
  963.       MaskToolTipString       "on,on"
  964.       MaskInitialization      "N=@1;Ac=1;Kc=Ac*2/(N-1);td=@2;"
  965.       MaskDisplay       "disp('MASK\nmap')"
  966.       MaskIconFrame       on
  967.       MaskIconOpaque       on
  968.       MaskIconRotate       "none"
  969.       MaskIconUnits       "autoscale"
  970.       MaskValueString       "4|1"
  971.       MaskVariableAliases     ","
  972.       System {
  973. Name "MASK map"
  974. Location [520, 162, 902, 335]
  975. Open off
  976. ModelBrowserVisibility off
  977. ModelBrowserWidth 200
  978. ScreenColor "white"
  979. PaperOrientation "landscape"
  980. PaperPositionMode "auto"
  981. PaperType "A4"
  982. PaperUnits "centimeters"
  983. ZoomFactor "100"
  984. Block {
  985.   BlockType   Inport
  986.   Name   "in_1"
  987.   Position   [40, 30, 60, 50]
  988.   Port   "1"
  989.   LatchInput   off
  990.   Interpolate   on
  991. }
  992. Block {
  993.   BlockType   Gain
  994.   Name   "Gain"
  995.   Position   [180, 25, 220, 55]
  996.   Gain   "Kc"
  997.   Multiplication   "Element-wise(K.*u)"
  998.   SaturateOnIntegerOverflow on
  999. }
  1000. Block {
  1001.   BlockType   Constant
  1002.   Name   "Gain diff"
  1003.   Position   [180, 96, 215, 124]
  1004.   Value   "Ac"
  1005.   VectorParams1D   on
  1006. }
  1007. Block {
  1008.   BlockType   Sum
  1009.   Name   "Sum1"
  1010.   Ports   [2, 1]
  1011.   Position   [250, 63, 270, 87]
  1012.   IconShape   "rectangular"
  1013.   Inputs   "+-"
  1014.   SaturateOnIntegerOverflow on
  1015. }
  1016. Block {
  1017.   BlockType   ZeroOrderHold
  1018.   Name   "Zero-OrdernHold"
  1019.   Position   [100, 24, 135, 56]
  1020.   SampleTime   "td"
  1021. }
  1022. Block {
  1023.   BlockType   Outport
  1024.   Name   "out_1"
  1025.   Position   [315, 65, 335, 85]
  1026.   Port   "1"
  1027.   OutputWhenDisabled   "held"
  1028.   InitialOutput   "[]"
  1029. }
  1030. Line {
  1031.   SrcBlock   "Gain"
  1032.   SrcPort   1
  1033.   Points   [5, 0; 0, 30]
  1034.   DstBlock   "Sum1"
  1035.   DstPort   1
  1036. }
  1037. Line {
  1038.   SrcBlock   "Gain diff"
  1039.   SrcPort   1
  1040.   Points   [10, 0; 0, -30]
  1041.   DstBlock   "Sum1"
  1042.   DstPort   2
  1043. }
  1044. Line {
  1045.   SrcBlock   "Sum1"
  1046.   SrcPort   1
  1047.   DstBlock   "out_1"
  1048.   DstPort   1
  1049. }
  1050. Line {
  1051.   SrcBlock   "in_1"
  1052.   SrcPort   1
  1053.   DstBlock   "Zero-OrdernHold"
  1054.   DstPort   1
  1055. }
  1056. Line {
  1057.   SrcBlock   "Zero-OrdernHold"
  1058.   SrcPort   1
  1059.   DstBlock   "Gain"
  1060.   DstPort   1
  1061. }
  1062.       }
  1063.     }
  1064.     Block {
  1065.       BlockType       SubSystem
  1066.       Name       "QPSK"
  1067.       Ports       [1, 2]
  1068.       Position       [435, 185, 510, 225]
  1069.       ShowPortLabels       on
  1070.       TreatAsAtomicUnit       off
  1071.       RTWSystemCode       "Auto"
  1072.       RTWFcnNameOpts       "Auto"
  1073.       RTWFileNameOpts       "Auto"
  1074.       MaskType       "MPSK"
  1075.       MaskDescription       "QASK mapping with circle constellation. The con"
  1076. "stellation is defined in NIC, RIC and PIC."
  1077.       MaskHelp       "This block maps a digital signal onto in-phase "
  1078. "and quadratic components, which are outputs in the first and second output po"
  1079. "rt respectively. The circle constellation is defined in NIC, RIC, and PIC. Th"
  1080. "e input symbol interval can be a two-element vector with the second element b"
  1081. "eing offset. The default value offset is 0. Use the MODMAP function to see th"
  1082. "e constellation."
  1083.       MaskPromptString       "Number of symbols in each circle NIC:|Radii in "
  1084. "each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and of"
  1085. "fset (sec):"
  1086.       MaskStyleString       "edit,edit,edit,edit"
  1087.       MaskTunableValueString  "on,on,on,on"
  1088.       MaskCallbackString      "|||"
  1089.       MaskEnableString       "on,on,on,on"
  1090.       MaskVisibilityString    "on,on,on,on"
  1091.       MaskToolTipString       "on,on,on,on"
  1092.       MaskVariables       "N=@1;A=@2;P=@3;td=@4;"
  1093.       MaskInitialization      "y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=imag("
  1094. "y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);"
  1095.       MaskDisplay       "disp('MPSK\nmapping')"
  1096.       MaskIconFrame       on
  1097.       MaskIconOpaque       on
  1098.       MaskIconRotate       "none"
  1099.       MaskIconUnits       "autoscale"
  1100.       MaskValueString       "[4]|[sqrt(2)]|[pi/4]|1"
  1101.       MaskVariableAliases     ",,,"
  1102.       System {
  1103. Name "QPSK"
  1104. Location [572, 160, 1070, 460]
  1105. Open off
  1106. ModelBrowserVisibility off
  1107. ModelBrowserWidth 200
  1108. ScreenColor "white"
  1109. PaperOrientation "landscape"
  1110. PaperPositionMode "auto"
  1111. PaperType "A4"
  1112. PaperUnits "centimeters"
  1113. ZoomFactor "100"
  1114. Block {
  1115.   BlockType   Inport
  1116.   Name   "in_1"
  1117.   Position   [40, 35, 60, 55]
  1118.   Port   "1"
  1119.   LatchInput   off
  1120.   Interpolate   on
  1121. }
  1122. Block {
  1123.   BlockType   ZeroOrderHold
  1124.   Name   "Zero-OrdernHold1"
  1125.   Position   [95, 29, 130, 61]
  1126.   SampleTime   "td"
  1127. }
  1128. Block {
  1129.   BlockType   Lookup
  1130.   Name   "imag part1"
  1131.   Position   [190, 112, 225, 138]
  1132.   InputValues   "x"
  1133.   OutputValues   "y2"
  1134. }
  1135. Block {
  1136.   BlockType   Lookup
  1137.   Name   "real part"
  1138.   Position   [195, 32, 230, 58]
  1139.   InputValues   "x"
  1140.   OutputValues   "y1"
  1141. }
  1142. Block {
  1143.   BlockType   Outport
  1144.   Name   "Real"
  1145.   Position   [290, 35, 310, 55]
  1146.   Port   "1"
  1147.   OutputWhenDisabled   "held"
  1148.   InitialOutput   "[]"
  1149. }
  1150. Block {
  1151.   BlockType   Outport
  1152.   Name   "Imag"
  1153.   Position   [290, 115, 310, 135]
  1154.   Port   "2"
  1155.   OutputWhenDisabled   "held"
  1156.   InitialOutput   "[]"
  1157. }
  1158. Line {
  1159.   SrcBlock   "in_1"
  1160.   SrcPort   1
  1161.   DstBlock   "Zero-OrdernHold1"
  1162.   DstPort   1
  1163. }
  1164. Line {
  1165.   SrcBlock   "Zero-OrdernHold1"
  1166.   SrcPort   1
  1167.   Points   [0, 0; 25, 0]
  1168.   Branch {
  1169.     DstBlock     "real part"
  1170.     DstPort     1
  1171.   }
  1172.   Branch {
  1173.     Points     [0, 80]
  1174.     DstBlock     "imag part1"
  1175.     DstPort     1
  1176.   }
  1177. }
  1178. Line {
  1179.   SrcBlock   "real part"
  1180.   SrcPort   1
  1181.   DstBlock   "Real"
  1182.   DstPort   1
  1183. }
  1184. Line {
  1185.   SrcBlock   "imag part1"
  1186.   SrcPort   1
  1187.   DstBlock   "Imag"
  1188.   DstPort   1
  1189. }
  1190.       }
  1191.     }
  1192.     Block {
  1193.       BlockType       SubSystem
  1194.       Name       "QPSK demap"
  1195.       Ports       [2, 1]
  1196.       Position       [585, 179, 660, 226]
  1197.       ShowPortLabels       on
  1198.       TreatAsAtomicUnit       off
  1199.       RTWSystemCode       "Auto"
  1200.       RTWFcnNameOpts       "Auto"
  1201.       RTWFileNameOpts       "Auto"
  1202.       MaskType       "MPSK demapping"
  1203.       MaskDescription       "Reverse the QASK map. Input in-phasenand quadr"
  1204. "ature components from thentwo inputs. Output demapped signal."
  1205.       MaskHelp       "This block demaps a QASK mapped signal using ci"
  1206. "rcle constellation. You can place this block after a QAM demodulation block. "
  1207. "The circle constellation is defined in NIC, RIC, and PIC. The symbol interval"
  1208. " can be a two elements vector with the first element being offset. The defaul"
  1209. "t offset is zero. Use function MODMAP to view the constellation."
  1210.       MaskPromptString       "Number of symbols on each circle NIC::|Radii fo"
  1211. "r each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and "
  1212. "offset (sec):"
  1213.       MaskStyleString       "edit,edit,edit,edit"
  1214.       MaskTunableValueString  "on,on,on,on"
  1215.       MaskCallbackString      "|||"
  1216.       MaskEnableString       "on,on,on,on"
  1217.       MaskVisibilityString    "on,on,on,on"
  1218.       MaskToolTipString       "on,on,on,on"
  1219.       MaskVariables       "N=@1;A=@2;P=@3;td=@4;"
  1220.       MaskInitialization      "y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);"
  1221.       MaskDisplay       "disp('MPSK\ndemapping')"
  1222.       MaskIconFrame       on
  1223.       MaskIconOpaque       on
  1224.       MaskIconRotate       "none"
  1225.       MaskIconUnits       "autoscale"
  1226.       MaskValueString       "[4]|[sqrt(2)]|[pi/4]|1"
  1227.       MaskVariableAliases     ",,,"
  1228.       System {
  1229. Name "QPSK demap"
  1230. Location [104, 488, 602, 788]
  1231. Open off
  1232. ModelBrowserVisibility off
  1233. ModelBrowserWidth 200
  1234. ScreenColor "white"
  1235. PaperOrientation "landscape"
  1236. PaperPositionMode "auto"
  1237. PaperType "A4"
  1238. PaperUnits "centimeters"
  1239. ZoomFactor "100"
  1240. Block {
  1241.   BlockType   Inport
  1242.   Name   "real"
  1243.   Position   [20, 45, 40, 65]
  1244.   Port   "1"
  1245.   LatchInput   off
  1246.   Interpolate   on
  1247. }
  1248. Block {
  1249.   BlockType   Inport
  1250.   Name   "imag"
  1251.   Position   [20, 130, 40, 150]
  1252.   Port   "2"
  1253.   LatchInput   off
  1254.   Interpolate   on
  1255. }
  1256. Block {
  1257.   BlockType   "S-Function"
  1258.   Name   "Minimum1"
  1259.   Ports   [1, 1]
  1260.   Position   [390, 95, 450, 115]
  1261.   FunctionName   "arymimai"
  1262.   Parameters   "'min'"
  1263.   PortCounts   "[]"
  1264.   SFunctionModules   "''"
  1265. }
  1266. Block {
  1267.   BlockType   Product
  1268.   Name   "Product"
  1269.   Ports   [2, 1]
  1270.   Position   [275, 55, 300, 75]
  1271.   Inputs   "2"
  1272.   Multiplication   "Element-wise(.*)"
  1273.   SaturateOnIntegerOverflow on
  1274. }
  1275. Block {
  1276.   BlockType   Product
  1277.   Name   "Product1"
  1278.   Ports   [2, 1]
  1279.   Position   [275, 140, 300, 160]
  1280.   Inputs   "2"
  1281.   Multiplication   "Element-wise(.*)"
  1282.   SaturateOnIntegerOverflow on
  1283. }
  1284. Block {
  1285.   BlockType   Sum
  1286.   Name   "Sum1"
  1287.   Ports   [2, 1]
  1288.   Position   [205, 48, 225, 77]
  1289.   ForegroundColor   "red"
  1290.   IconShape   "rectangular"
  1291.   Inputs   "+-"
  1292.   SaturateOnIntegerOverflow on
  1293. }
  1294. Block {
  1295.   BlockType   Sum
  1296.   Name   "Sum2"
  1297.   Ports   [2, 1]
  1298.   Position   [345, 88, 365, 117]
  1299.   IconShape   "rectangular"
  1300.   Inputs   "++"
  1301.   SaturateOnIntegerOverflow on
  1302. }
  1303. Block {
  1304.   BlockType   Sum
  1305.   Name   "Sum6"
  1306.   Ports   [2, 1]
  1307.   Position   [205, 133, 225, 162]
  1308.   ForegroundColor   "blue"
  1309.   IconShape   "rectangular"
  1310.   Inputs   "+-"
  1311.   SaturateOnIntegerOverflow on
  1312. }
  1313. Block {
  1314.   BlockType   ZeroOrderHold
  1315.   Name   "Zero-OrdernHold"
  1316.   Position   [95, 39, 130, 71]
  1317.   ForegroundColor   "red"
  1318.   SampleTime   "td"
  1319. }
  1320. Block {
  1321.   BlockType   ZeroOrderHold
  1322.   Name   "Zero-OrdernHold1"
  1323.   Position   [95, 124, 130, 156]
  1324.   ForegroundColor   "blue"
  1325.   SampleTime   "td"
  1326. }
  1327. Block {
  1328.   BlockType   Constant
  1329.   Name   "imag_pt"
  1330.   Position   [140, 179, 165, 201]
  1331.   BackgroundColor   "yellow"
  1332.   Value   "y2"
  1333.   VectorParams1D   on
  1334. }
  1335. Block {
  1336.   BlockType   Constant
  1337.   Name   "real_pt"
  1338.   Position   [145, 94, 170, 116]
  1339.   BackgroundColor   "green"
  1340.   Value   "y1"
  1341.   VectorParams1D   on
  1342. }
  1343. Block {
  1344.   BlockType   Outport
  1345.   Name   "out_1"
  1346.   Position   [470, 95, 490, 115]
  1347.   Port   "1"
  1348.   OutputWhenDisabled   "held"
  1349.   InitialOutput   "[]"
  1350. }
  1351. Line {
  1352.   SrcBlock   "Minimum1"
  1353.   SrcPort   1
  1354.   DstBlock   "out_1"
  1355.   DstPort   1
  1356. }
  1357. Line {
  1358.   SrcBlock   "Sum2"
  1359.   SrcPort   1
  1360.   DstBlock   "Minimum1"
  1361.   DstPort   1
  1362. }
  1363. Line {
  1364.   SrcBlock   "Product1"
  1365.   SrcPort   1
  1366.   Points   [10, 0; 0, -40]
  1367.   DstBlock   "Sum2"
  1368.   DstPort   2
  1369. }
  1370. Line {
  1371.   SrcBlock   "Product"
  1372.   SrcPort   1
  1373.   Points   [10, 0; 0, 30]
  1374.   DstBlock   "Sum2"
  1375.   DstPort   1
  1376. }
  1377. Line {
  1378.   SrcBlock   "Sum6"
  1379.   SrcPort   1
  1380.   Points   [0, 0; 15, 0]
  1381.   Branch {
  1382.     Points     [0, 5]
  1383.     DstBlock     "Product1"
  1384.     DstPort     2
  1385.   }
  1386.   Branch {
  1387.     Points     [0, -5]
  1388.     DstBlock     "Product1"
  1389.     DstPort     1
  1390.   }
  1391. }
  1392. Line {
  1393.   SrcBlock   "Sum1"
  1394.   SrcPort   1
  1395.   Points   [0, 0; 15, 0]
  1396.   Branch {
  1397.     Points     [0, 5]
  1398.     DstBlock     "Product"
  1399.     DstPort     2
  1400.   }
  1401.   Branch {
  1402.     Points     [0, -5]
  1403.     DstBlock     "Product"
  1404.     DstPort     1
  1405.   }
  1406. }
  1407. Line {
  1408.   SrcBlock   "imag_pt"
  1409.   SrcPort   1
  1410.   Points   [10, 0; 0, -35]
  1411.   DstBlock   "Sum6"
  1412.   DstPort   2
  1413. }
  1414. Line {
  1415.   SrcBlock   "Zero-OrdernHold1"
  1416.   SrcPort   1
  1417.   DstBlock   "Sum6"
  1418.   DstPort   1
  1419. }
  1420. Line {
  1421.   SrcBlock   "Zero-OrdernHold"
  1422.   SrcPort   1
  1423.   DstBlock   "Sum1"
  1424.   DstPort   1
  1425. }
  1426. Line {
  1427.   SrcBlock   "real_pt"
  1428.   SrcPort   1
  1429.   Points   [5, 0; 0, -35]
  1430.   DstBlock   "Sum1"
  1431.   DstPort   2
  1432. }
  1433. Line {
  1434.   SrcBlock   "imag"
  1435.   SrcPort   1
  1436.   DstBlock   "Zero-OrdernHold1"
  1437.   DstPort   1
  1438. }
  1439. Line {
  1440.   SrcBlock   "real"
  1441.   SrcPort   1
  1442.   DstBlock   "Zero-OrdernHold"
  1443.   DstPort   1
  1444. }
  1445.       }
  1446.     }
  1447.     Block {
  1448.       BlockType       SubSystem
  1449.       Name       "QPSK demapping"
  1450.       Ports       [2, 1]
  1451.       Position       [580, 93, 660, 137]
  1452.       ShowPortLabels       off
  1453.       TreatAsAtomicUnit       off
  1454.       RTWSystemCode       "Auto"
  1455.       RTWFcnNameOpts       "Auto"
  1456.       RTWFileNameOpts       "Auto"
  1457.       MaskType       "QASK C-demap"
  1458.       MaskDescription       "Reverse the QASK map. Input in-phasenand quadr"
  1459. "ature components from thentwo inputs. Output demapped signal."
  1460.       MaskHelp       "This block demaps a QASK mapped signal using ci"
  1461. "rcle constellation. You can place this block after a QAM demodulation block. "
  1462. "The circle constellation is defined in NIC, RIC, and PIC. The symbol interval"
  1463. " can be a two elements vector with the first element being offset. The defaul"
  1464. "t offset is zero. Use function MODMAP to view the constellation."
  1465.       MaskPromptString       "Number of symbols on each circle NIC::|Radii fo"
  1466. "r each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and "
  1467. "offset (sec):"
  1468.       MaskStyleString       "edit,edit,edit,edit"
  1469.       MaskTunableValueString  "on,on,on,on"
  1470.       MaskCallbackString      "|||"
  1471.       MaskEnableString       "on,on,on,on"
  1472.       MaskVisibilityString    "on,on,on,on"
  1473.       MaskToolTipString       "on,on,on,on"
  1474.       MaskInitialization      "N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y2=imag"
  1475. "(y1);y1=real(y1);"
  1476.       MaskDisplay       "disp('QASK\nC-demap')"
  1477.       MaskIconFrame       on
  1478.       MaskIconOpaque       on
  1479.       MaskIconRotate       "none"
  1480.       MaskIconUnits       "autoscale"
  1481.       MaskValueString       "[4]|[sqrt(2)]|[pi/4]|1"
  1482.       MaskVariableAliases     ",,,"
  1483.       System {
  1484. Name "QPSK demapping"
  1485. Location [96, 182, 645, 417]
  1486. Open off
  1487. ModelBrowserVisibility off
  1488. ModelBrowserWidth 200
  1489. ScreenColor "white"
  1490. PaperOrientation "landscape"
  1491. PaperPositionMode "auto"
  1492. PaperType "A4"
  1493. PaperUnits "centimeters"
  1494. ZoomFactor "100"
  1495. Block {
  1496.   BlockType   Inport
  1497.   Name   "real"
  1498.   Position   [45, 35, 65, 55]
  1499.   Port   "1"
  1500.   LatchInput   off
  1501.   Interpolate   on
  1502. }
  1503. Block {
  1504.   BlockType   Inport
  1505.   Name   "imag"
  1506.   Position   [45, 120, 65, 140]
  1507.   Port   "2"
  1508.   LatchInput   off
  1509.   Interpolate   on
  1510. }
  1511. Block {
  1512.   BlockType   "S-Function"
  1513.   Name   "Minimum1"
  1514.   Ports   [1, 1]
  1515.   Position   [415, 85, 475, 105]
  1516.   FunctionName   "arymimai"
  1517.   Parameters   "'min'"
  1518.   PortCounts   "[]"
  1519.   SFunctionModules   "''"
  1520. }
  1521. Block {
  1522.   BlockType   Product
  1523.   Name   "Product"
  1524.   Ports   [2, 1]
  1525.   Position   [300, 45, 325, 65]
  1526.   Inputs   "2"
  1527.   Multiplication   "Element-wise(.*)"
  1528.   SaturateOnIntegerOverflow on
  1529. }
  1530. Block {
  1531.   BlockType   Product
  1532.   Name   "Product1"
  1533.   Ports   [2, 1]
  1534.   Position   [300, 130, 325, 150]
  1535.   Inputs   "2"
  1536.   Multiplication   "Element-wise(.*)"
  1537.   SaturateOnIntegerOverflow on
  1538. }
  1539. Block {
  1540.   BlockType   Sum
  1541.   Name   "Sum1"
  1542.   Ports   [2, 1]
  1543.   Position   [230, 38, 250, 67]
  1544.   ForegroundColor   "red"
  1545.   IconShape   "rectangular"
  1546.   Inputs   "+-"
  1547.   SaturateOnIntegerOverflow on
  1548. }
  1549. Block {
  1550.   BlockType   Sum
  1551.   Name   "Sum2"
  1552.   Ports   [2, 1]
  1553.   Position   [370, 78, 390, 107]
  1554.   IconShape   "rectangular"
  1555.   Inputs   "++"
  1556.   SaturateOnIntegerOverflow on
  1557. }
  1558. Block {
  1559.   BlockType   Sum
  1560.   Name   "Sum6"
  1561.   Ports   [2, 1]
  1562.   Position   [230, 123, 250, 152]
  1563.   ForegroundColor   "blue"
  1564.   IconShape   "rectangular"
  1565.   Inputs   "+-"
  1566.   SaturateOnIntegerOverflow on
  1567. }
  1568. Block {
  1569.   BlockType   ZeroOrderHold
  1570.   Name   "Zero-OrdernHold"
  1571.   Position   [120, 29, 155, 61]
  1572.   ForegroundColor   "red"
  1573.   SampleTime   "td"
  1574. }
  1575. Block {
  1576.   BlockType   ZeroOrderHold
  1577.   Name   "Zero-OrdernHold1"
  1578.   Position   [120, 114, 155, 146]
  1579.   ForegroundColor   "blue"
  1580.   SampleTime   "td"
  1581. }
  1582. Block {
  1583.   BlockType   Constant
  1584.   Name   "imag_pt"
  1585.   Position   [165, 169, 190, 191]
  1586.   BackgroundColor   "yellow"
  1587.   Value   "y2"
  1588.   VectorParams1D   on
  1589. }
  1590. Block {
  1591.   BlockType   Constant
  1592.   Name   "real_pt"
  1593.   Position   [170, 84, 195, 106]
  1594.   BackgroundColor   "green"
  1595.   Value   "y1"
  1596.   VectorParams1D   on
  1597. }
  1598. Block {
  1599.   BlockType   Outport
  1600.   Name   "out_1"
  1601.   Position   [495, 85, 515, 105]
  1602.   Port   "1"
  1603.   OutputWhenDisabled   "held"
  1604.   InitialOutput   "[]"
  1605. }
  1606. Line {
  1607.   SrcBlock   "Minimum1"
  1608.   SrcPort   1
  1609.   DstBlock   "out_1"
  1610.   DstPort   1
  1611. }
  1612. Line {
  1613.   SrcBlock   "Sum2"
  1614.   SrcPort   1
  1615.   DstBlock   "Minimum1"
  1616.   DstPort   1
  1617. }
  1618. Line {
  1619.   SrcBlock   "Product1"
  1620.   SrcPort   1
  1621.   Points   [10, 0; 0, -40]
  1622.   DstBlock   "Sum2"
  1623.   DstPort   2
  1624. }
  1625. Line {
  1626.   SrcBlock   "Product"
  1627.   SrcPort   1
  1628.   Points   [10, 0; 0, 30]
  1629.   DstBlock   "Sum2"
  1630.   DstPort   1
  1631. }
  1632. Line {
  1633.   SrcBlock   "Sum6"
  1634.   SrcPort   1
  1635.   Points   [15, 0]
  1636.   Branch {
  1637.     Points     [0, -5]
  1638.     DstBlock     "Product1"
  1639.     DstPort     1
  1640.   }
  1641.   Branch {
  1642.     Points     [0, 5]
  1643.     DstBlock     "Product1"
  1644.     DstPort     2
  1645.   }
  1646. }
  1647. Line {
  1648.   SrcBlock   "Sum1"
  1649.   SrcPort   1
  1650.   Points   [15, 0]
  1651.   Branch {
  1652.     Points     [0, -5]
  1653.     DstBlock     "Product"
  1654.     DstPort     1
  1655.   }
  1656.   Branch {
  1657.     Points     [0, 5]
  1658.     DstBlock     "Product"
  1659.     DstPort     2
  1660.   }
  1661. }
  1662. Line {
  1663.   SrcBlock   "imag_pt"
  1664.   SrcPort   1
  1665.   Points   [10, 0; 0, -35]
  1666.   DstBlock   "Sum6"
  1667.   DstPort   2
  1668. }
  1669. Line {
  1670.   SrcBlock   "Zero-OrdernHold1"
  1671.   SrcPort   1
  1672.   DstBlock   "Sum6"
  1673.   DstPort   1
  1674. }
  1675. Line {
  1676.   SrcBlock   "Zero-OrdernHold"
  1677.   SrcPort   1
  1678.   DstBlock   "Sum1"
  1679.   DstPort   1
  1680. }
  1681. Line {
  1682.   SrcBlock   "real_pt"
  1683.   SrcPort   1
  1684.   Points   [5, 0; 0, -35]
  1685.   DstBlock   "Sum1"
  1686.   DstPort   2
  1687. }
  1688. Line {
  1689.   SrcBlock   "imag"
  1690.   SrcPort   1
  1691.   DstBlock   "Zero-OrdernHold1"
  1692.   DstPort   1
  1693. }
  1694. Line {
  1695.   SrcBlock   "real"
  1696.   SrcPort   1
  1697.   DstBlock   "Zero-OrdernHold"
  1698.   DstPort   1
  1699. }
  1700.       }
  1701.     }
  1702.     Block {
  1703.       BlockType       "S-Function"
  1704.       Name       "RandomnSource"
  1705.       Ports       [0, 1]
  1706.       Position       [55, 116, 90, 154]
  1707.       Diagnostics       "AllowInheritedTsInSrc"
  1708.       FunctionName       "sdsprandsrc2"
  1709.       Parameters       "SrcType,Min,Max,Mean,Var,SFcnSeed,Inherit,SampM"
  1710. "ode,SampTime,SampFrame,OutComplex,RepMode,Seed"
  1711.       PortCounts       "[]"
  1712.       SFunctionModules       "''"
  1713.       MaskType       "Random Source"
  1714.       MaskDescription       "Output a random signal with uniform or Gaussian"
  1715. " (normal) distribution.  Set output repeatability to Nonrepeatable (block ran"
  1716. "domly selects initial seed every time simulation starts), Repeatable (block r"
  1717. "andomly selects initial seed once and uses it every time simulation starts), "
  1718. "or Specify seed (block uses specified initial seed every time simulation star"
  1719. "ts, producing repeatable output)."
  1720.       MaskHelp       "web(dspbhelp);"
  1721.       MaskPromptString       "Source type:|Minimum:|Maximum:|Mean:|Variance:|"
  1722. "Repeatability:|Initial seed:|Inherit output port attributes|Sample mode: |Sam"
  1723. "ple time:|Samples per frame:|Output complexity:"
  1724.       MaskStyleString       "popup(Uniform|Gaussian),edit,edit,edit,edit,pop"
  1725. "up(Specify seed|Repeatable|Not repeatable),edit,checkbox,popup(Discrete|Conti"
  1726. "nuous),edit,edit,popup(Real|Complex)"
  1727.       MaskTunableValueString  "off,on,on,on,on,off,off,off,off,off,off,off"
  1728.       MaskCallbackString      "dspblkrandsrc2;|||||dspblkrandsrc2;||dspblkrand"
  1729. "src2;|dspblkrandsrc2;|||"
  1730.       MaskEnableString       "on,on,on,off,off,on,on,on,on,on,on,on"
  1731.       MaskVisibilityString    "on,on,on,on,on,on,on,on,on,on,on,on"
  1732.       MaskToolTipString       "on,on,on,on,on,on,on,on,on,on,on,on"
  1733.       MaskVariables       "SrcType=@1;Min=@2;Max=@3;Mean=@4;Var=@5;RepMode"
  1734. "=@6;Seed=@7;Inherit=@8;SampMode=@9;SampTime=@10;SampFrame=@11;OutComplex=@12"
  1735.       MaskInitialization      "[x,y]=dspblkrandsrc2('icon');SFcnSeed=eval(dspb"
  1736. "lkrandsrc2('seed'),'Seed');"
  1737.       MaskDisplay       "plot(x,y);n"
  1738.       MaskSelfModifiable      on
  1739.       MaskIconFrame       on
  1740.       MaskIconOpaque       on
  1741.       MaskIconRotate       "none"
  1742.       MaskIconUnits       "normalized"
  1743.       MaskValueString       "Gaussian|0|1|0|1|Specify seed|seed|on|Discrete|"
  1744. "1|1|Real"
  1745.       MaskVariableAliases     ",,,,,,,,,,,"
  1746.     }
  1747.     Block {
  1748.       BlockType       SubSystem
  1749.       Name       "Signal spacenconstellation"
  1750.       Ports       [1, 2]
  1751.       Position       [425, 93, 505, 137]
  1752.       ShowPortLabels       off
  1753.       TreatAsAtomicUnit       off
  1754.       RTWSystemCode       "Auto"
  1755.       RTWFcnNameOpts       "Auto"
  1756.       RTWFileNameOpts       "Auto"
  1757.       MaskType       "QASK C-map"
  1758.       MaskDescription       "QASK mapping with circle constellation. The con"
  1759. "stellation is defined in NIC, RIC and PIC."
  1760.       MaskHelp       "This block maps a digital signal onto in-phase "
  1761. "and quadratic components, which are outputs in the first and second output po"
  1762. "rt respectively. The circle constellation is defined in NIC, RIC, and PIC. Th"
  1763. "e input symbol interval can be a two-element vector with the second element b"
  1764. "eing offset. The default value offset is 0. Use the MODMAP function to see th"
  1765. "e constellation."
  1766.       MaskPromptString       "Number of symbols in each circle NIC:|Radii in "
  1767. "each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and of"
  1768. "fset (sec):"
  1769.       MaskStyleString       "edit,edit,edit,edit"
  1770.       MaskTunableValueString  "on,on,on,on"
  1771.       MaskCallbackString      "|||"
  1772.       MaskEnableString       "on,on,on,on"
  1773.       MaskVisibilityString    "on,on,on,on"
  1774.       MaskToolTipString       "on,on,on,on"
  1775.       MaskInitialization      "N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y1=[y1;"
  1776. "y1];y1=y1(:);y2=imag(y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum("
  1777. "N)]-.5;x=x(:);"
  1778.       MaskDisplay       "disp('QASK\nC-map')"
  1779.       MaskIconFrame       on
  1780.       MaskIconOpaque       on
  1781.       MaskIconRotate       "none"
  1782.       MaskIconUnits       "autoscale"
  1783.       MaskValueString       "[4]|[sqrt(2)]|[pi/4]|1"
  1784.       MaskVariableAliases     ",,,"
  1785.       System {
  1786. Name "Signal spacenconstellation"
  1787. Location [58, 103, 468, 327]
  1788. Open off
  1789. ModelBrowserVisibility off
  1790. ModelBrowserWidth 200
  1791. ScreenColor "white"
  1792. PaperOrientation "landscape"
  1793. PaperPositionMode "auto"
  1794. PaperType "A4"
  1795. PaperUnits "centimeters"
  1796. ZoomFactor "100"
  1797. Block {
  1798.   BlockType   Inport
  1799.   Name   "in_1"
  1800.   Position   [25, 20, 45, 40]
  1801.   Port   "1"
  1802.   LatchInput   off
  1803.   Interpolate   on
  1804. }
  1805. Block {
  1806.   BlockType   ZeroOrderHold
  1807.   Name   "Zero-OrdernHold1"
  1808.   Position   [80, 14, 115, 46]
  1809.   SampleTime   "td"
  1810. }
  1811. Block {
  1812.   BlockType   Lookup
  1813.   Name   "imag part1"
  1814.   Position   [175, 97, 210, 123]
  1815.   InputValues   "x"
  1816.   OutputValues   "y2"
  1817. }
  1818. Block {
  1819.   BlockType   Lookup
  1820.   Name   "real part"
  1821.   Position   [180, 17, 215, 43]
  1822.   InputValues   "x"
  1823.   OutputValues   "y1"
  1824. }
  1825. Block {
  1826.   BlockType   Outport
  1827.   Name   "Real"
  1828.   Position   [275, 20, 295, 40]
  1829.   Port   "1"
  1830.   OutputWhenDisabled   "held"
  1831.   InitialOutput   "[]"
  1832. }
  1833. Block {
  1834.   BlockType   Outport
  1835.   Name   "Imag"
  1836.   Position   [275, 100, 295, 120]
  1837.   Port   "2"
  1838.   OutputWhenDisabled   "held"
  1839.   InitialOutput   "[]"
  1840. }
  1841. Line {
  1842.   SrcBlock   "in_1"
  1843.   SrcPort   1
  1844.   DstBlock   "Zero-OrdernHold1"
  1845.   DstPort   1
  1846. }
  1847. Line {
  1848.   SrcBlock   "Zero-OrdernHold1"
  1849.   SrcPort   1
  1850.   Points   [25, 0]
  1851.   Branch {
  1852.     Points     [0, 80]
  1853.     DstBlock     "imag part1"
  1854.     DstPort     1
  1855.   }
  1856.   Branch {
  1857.     DstBlock     "real part"
  1858.     DstPort     1
  1859.   }
  1860. }
  1861. Line {
  1862.   SrcBlock   "real part"
  1863.   SrcPort   1
  1864.   DstBlock   "Real"
  1865.   DstPort   1
  1866. }
  1867. Line {
  1868.   SrcBlock   "imag part1"
  1869.   SrcPort   1
  1870.   DstBlock   "Imag"
  1871.   DstPort   1
  1872. }
  1873.       }
  1874.     }
  1875.     Block {
  1876.       BlockType       SubSystem
  1877.       Name       "transmitterndiagrams"
  1878.       Ports       [1]
  1879.       Position       [45, 25, 100, 65]
  1880.       ShowPortLabels       off
  1881.       TreatAsAtomicUnit       off
  1882.       RTWSystemCode       "Auto"
  1883.       RTWFcnNameOpts       "Auto"
  1884.       RTWFileNameOpts       "Auto"
  1885.       MaskType       "Diagrams"
  1886.       MaskDescription       "Eye pattern,  signal-space trajectory and scatt"
  1887. "er plot"
  1888.       MaskPromptString       "Plot start time:|samples per time slot|decision"
  1889. " offset"
  1890.       MaskStyleString       "edit,edit,edit"
  1891.       MaskTunableValueString  "on,on,on"
  1892.       MaskCallbackString      "||"
  1893.       MaskEnableString       "on,on,on"
  1894.       MaskVisibilityString    "on,on,on"
  1895.       MaskToolTipString       "on,on,on"
  1896.       MaskVariables       "starttime=@1;anzahl=@2;offset=@3;"
  1897.       MaskInitialization      " [x, y] = srcsicon(10);"
  1898.       MaskDisplay       "plot(0,0,100,100,x,y)"
  1899.       MaskIconFrame       on
  1900.       MaskIconOpaque       on
  1901.       MaskIconRotate       "none"
  1902.       MaskIconUnits       "autoscale"
  1903.       MaskValueString       "6|40|0"
  1904.       MaskVariableAliases     ",,"
  1905.       System {
  1906. Name "transmitterndiagrams"
  1907. Location [638, 293, 1006, 534]
  1908. Open off
  1909. ModelBrowserVisibility off
  1910. ModelBrowserWidth 200
  1911. ScreenColor "white"
  1912. PaperOrientation "landscape"
  1913. PaperPositionMode "auto"
  1914. PaperType "A4"
  1915. PaperUnits "centimeters"
  1916. ZoomFactor "100"
  1917. Block {
  1918.   BlockType   Inport
  1919.   Name   "in_1"
  1920.   Position   [35, 40, 55, 60]
  1921.   Port   "1"
  1922.   LatchInput   off
  1923.   Interpolate   on
  1924. }
  1925. Block {
  1926.   BlockType   Constant
  1927.   Name   "Constant"
  1928.   Position   [35, 130, 55, 150]
  1929.   Value   "Inf"
  1930.   VectorParams1D   on
  1931. }
  1932. Block {
  1933.   BlockType   Constant
  1934.   Name   "Constant1"
  1935.   Position   [130, 130, 150, 150]
  1936.   Value   "0"
  1937.   VectorParams1D   on
  1938. }
  1939. Block {
  1940.   BlockType   SubSystem
  1941.   Name   "Eye pattern ntransmitter"
  1942.   Ports   [1]
  1943.   Position   [275, 37, 330, 73]
  1944.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  1945.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  1946.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  1947.   StartFcn   "eyesampl([],[],[],'Start')"
  1948.   StopFcn   "eyesampl([],[],[],'Stop')"
  1949.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  1950.   ShowPortLabels   off
  1951.   TreatAsAtomicUnit   off
  1952.   RTWSystemCode   "Auto"
  1953.   RTWFcnNameOpts   "Auto"
  1954.   RTWFileNameOpts   "Auto"
  1955.   MaskType   "Eye-diagram/scatter plot"
  1956.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  1957. "plot."
  1958.   MaskHelp   "This plot opens one, or two plots by assign"
  1959. "ing the line type parameters. The scatter plot point is selected by the decis"
  1960. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  1961. "attern diagram. The plot is updated at the plot update sample time point."
  1962.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  1963. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  1964. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  1965. "or scatter plot (0 for no plot):|Plot update sample time:"
  1966.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  1967.   MaskTunableValueString  "on,on,on,on,on,on"
  1968.   MaskCallbackString   "|||||"
  1969.   MaskEnableString   "on,on,on,on,on,on"
  1970.   MaskVisibilityString   "on,on,on,on,on,on"
  1971.   MaskToolTipString   "on,on,on,on,on,on"
  1972.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  1973. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  1974.   MaskDisplay   "plot(0,0,100,100,x,y);"
  1975.   MaskIconFrame   on
  1976.   MaskIconOpaque   on
  1977.   MaskIconRotate   "none"
  1978.   MaskIconUnits   "autoscale"
  1979.   MaskValueString   "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2/anz"
  1980. "ahl"
  1981.   MaskVariableAliases   ",,,,,"
  1982.   System {
  1983.     Name     "Eye pattern ntransmitter"
  1984.     Location     [116, 253, 411, 439]
  1985.     Open     off
  1986.     ModelBrowserVisibility  off
  1987.     ModelBrowserWidth     200
  1988.     ScreenColor     "white"
  1989.     PaperOrientation     "landscape"
  1990.     PaperPositionMode     "auto"
  1991.     PaperType     "A4"
  1992.     PaperUnits     "centimeters"
  1993.     ZoomFactor     "100"
  1994.     Block {
  1995.       BlockType       Inport
  1996.       Name       "in_1"
  1997.       Position       [75, 80, 95, 100]
  1998.       Port       "1"
  1999.       LatchInput       off
  2000.       Interpolate       on
  2001.     }
  2002.     Block {
  2003.       BlockType       "S-Function"
  2004.       Name       "Plot1"
  2005.       Ports       [1]
  2006.       Position       [130, 70, 200, 110]
  2007.       FunctionName       "eyesampl"
  2008.       Parameters       "time_range, boundary, kept_length, eye_"
  2009. "line, scatter_line, two_d_line"
  2010.       PortCounts       "[]"
  2011.       SFunctionModules       "''"
  2012.     }
  2013.     Line {
  2014.       SrcBlock       "in_1"
  2015.       SrcPort       1
  2016.       DstBlock       "Plot1"
  2017.       DstPort       1
  2018.     }
  2019.   }
  2020. }
  2021. Block {
  2022.   BlockType   Mux
  2023.   Name   "Mux"
  2024.   Ports   [2, 1]
  2025.   Position   [185, 36, 220, 69]
  2026.   Inputs   "2"
  2027.   DisplayOption   "none"
  2028. }
  2029. Block {
  2030.   BlockType   Mux
  2031.   Name   "Mux1"
  2032.   Ports   [2, 1]
  2033.   Position   [185, 96, 220, 129]
  2034.   Inputs   "2"
  2035.   DisplayOption   "none"
  2036. }
  2037. Block {
  2038.   BlockType   SubSystem
  2039.   Name   "Scatter plotntransmitter"
  2040.   Ports   [1]
  2041.   Position   [275, 173, 330, 207]
  2042.   CopyFcn   "eyesampl([],[],[],'CopyBlock')"
  2043.   DeleteFcn   "eyesampl([],[],[],'DeleteBlock')"
  2044.   LoadFcn   "eyesampl([],[],[],'LoadBlock')"
  2045.   StartFcn   "eyesampl([],[],[],'Start')"
  2046.   StopFcn   "eyesampl([],[],[],'Stop')"
  2047.   NameChangeFcn   "eyesampl([],[],[],'NameChange')"
  2048.   ShowPortLabels   off
  2049.   TreatAsAtomicUnit   off
  2050.   RTWSystemCode   "Auto"
  2051.   RTWFcnNameOpts   "Auto"
  2052.   RTWFileNameOpts   "Auto"
  2053.   MaskType   "Eye-diagram/scatter plot"
  2054.   MaskDescription   "Produce eye-pattern diagram and/or scatter "
  2055. "plot."
  2056.   MaskHelp   "This plot opens one, or two plots by assign"
  2057. "ing the line type parameters. The scatter plot point is selected by the decis"
  2058. "ion point in the first parameter entry. A decision line is drawn in the eye-p"
  2059. "attern diagram. The plot is updated at the plot update sample time point."
  2060.   MaskPromptString   "[Symbol interval, plot offset, decision poi"
  2061. "nt offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of"
  2062. " saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type f"
  2063. "or scatter plot (0 for no plot):|Plot update sample time:"
  2064.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2065.   MaskTunableValueString  "on,on,on,on,on,on"
  2066.   MaskCallbackString   "|||||"
  2067.   MaskEnableString   "on,on,on,on,on,on"
  2068.   MaskVisibilityString   "on,on,on,on,on,on"
  2069.   MaskToolTipString   "on,on,on,on,on,on"
  2070.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2071. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
  2072.   MaskDisplay   "plot(0,0,100,100,x,y);"
  2073.   MaskIconFrame   on
  2074.   MaskIconOpaque   on
  2075.   MaskIconRotate   "none"
  2076.   MaskIconUnits   "autoscale"
  2077.   MaskValueString   "[1 .5 .999]|[-1.5 1.5]|0|0|'b.'|[.5 offset]"
  2078.   MaskVariableAliases   ",,,,,"
  2079.   System {
  2080.     Name     "Scatter plotntransmitter"
  2081.     Location     [165, 242, 460, 428]
  2082.     Open     off
  2083.     ModelBrowserVisibility  off
  2084.     ModelBrowserWidth     200
  2085.     ScreenColor     "white"
  2086.     PaperOrientation     "landscape"
  2087.     PaperPositionMode     "auto"
  2088.     PaperType     "A4"
  2089.     PaperUnits     "centimeters"
  2090.     ZoomFactor     "100"
  2091.     Block {
  2092.       BlockType       Inport
  2093.       Name       "in_1"
  2094.       Position       [75, 80, 95, 100]
  2095.       Port       "1"
  2096.       LatchInput       off
  2097.       Interpolate       on
  2098.     }
  2099.     Block {
  2100.       BlockType       "S-Function"
  2101.       Name       "Plot1"
  2102.       Ports       [1]
  2103.       Position       [130, 70, 200, 110]
  2104.       FunctionName       "eyesampl"
  2105.       Parameters       "time_range, boundary, kept_length, eye_"
  2106. "line, scatter_line, two_d_line"
  2107.       PortCounts       "[]"
  2108.       SFunctionModules       "''"
  2109.     }
  2110.     Line {
  2111.       SrcBlock       "in_1"
  2112.       SrcPort       1
  2113.       DstBlock       "Plot1"
  2114.       DstPort       1
  2115.     }
  2116.   }
  2117. }
  2118. Block {
  2119.   BlockType   Step
  2120.   Name   "Step input"
  2121.   Position   [35, 85, 55, 105]
  2122.   Time   "starttime"
  2123.   Before   "0"
  2124.   After   "1"
  2125.   SampleTime   "1"
  2126.   VectorParams1D   on
  2127. }
  2128. Block {
  2129.   BlockType   Switch
  2130.   Name   "Switch"
  2131.   Position   [110, 44, 135, 76]
  2132.   Threshold   "1"
  2133. }
  2134. Block {
  2135.   BlockType   SubSystem
  2136.   Name   "Trajectoryntransmitter"
  2137.   Ports   [2]
  2138.   Position   [275, 105, 330, 140]
  2139.   CopyFcn   "eyediasi([],[],[],'CopyBlock')"
  2140.   DeleteFcn   "eyediasi([],[],[],'DeleteBlock')"
  2141.   LoadFcn   "eyediasi([],[],[],'LoadBlock')"
  2142.   StartFcn   "eyediasi([],[],[],'Start')"
  2143.   StopFcn   "eyediasi([],[],[],'Stop')"
  2144.   NameChangeFcn   "eyediasi([],[],[],'NameChange')"
  2145.   ShowPortLabels   off
  2146.   TreatAsAtomicUnit   off
  2147.   RTWSystemCode   "Auto"
  2148.   RTWFcnNameOpts   "Auto"
  2149.   RTWFileNameOpts   "Auto"
  2150.   MaskType   "Eye-diagram/scatter plot"
  2151.   MaskDescription   "Produce eye-pattern diagram/scatternplot/x"
  2152. "-y plot with the rising edge of the second input as the decision line."
  2153.   MaskHelp   "This plot opens one, two, or three plots by"
  2154. " assigning the line type parameters. The scatter plot point is selected by th"
  2155. "e rising edge of a trigger signal. A decision line is drawn at the rising edg"
  2156. "e of the trigger signal."
  2157.   MaskPromptString   "Eye-pattern plot time frame:|Lower and uppe"
  2158. "r bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type f"
  2159. "or eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no "
  2160. "plot):|Line-type for x-y plot (0 for no plot):"
  2161.   MaskStyleString   "edit,edit,edit,edit,edit,edit"
  2162.   MaskTunableValueString  "on,on,on,on,on,on"
  2163.   MaskCallbackString   "|||||"
  2164.   MaskEnableString   "on,on,on,on,on,on"
  2165.   MaskVisibilityString   "on,on,on,on,on,on"
  2166.   MaskToolTipString   "on,on,on,on,on,on"
  2167.   MaskInitialization   "time_range=@1;boundary=@2;kept_length=@3;ey"
  2168. "e_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,2"
  2169. "5,get_param(gcb,'orientation'),2);"
  2170.   MaskDisplay   "plot(0,0,100,100,x,y,v,w);"
  2171.   MaskIconFrame   on
  2172.   MaskIconOpaque   on
  2173.   MaskIconRotate   "none"
  2174.   MaskIconUnits   "autoscale"
  2175.   MaskValueString   "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
  2176.   MaskVariableAliases   ",,,,,"
  2177.   System {
  2178.     Name     "Trajectoryntransmitter"
  2179.     Location     [165, 242, 460, 428]
  2180.     Open     off
  2181.     ModelBrowserVisibility  off
  2182.     ModelBrowserWidth     200
  2183.     ScreenColor     "white"
  2184.     PaperOrientation     "landscape"
  2185.     PaperPositionMode     "auto"
  2186.     PaperType     "A4"
  2187.     PaperUnits     "centimeters"
  2188.     ZoomFactor     "100"
  2189.     Block {
  2190.       BlockType       Inport
  2191.       Name       "in_1"
  2192.       Position       [15, 55, 35, 75]
  2193.       Port       "1"
  2194.       LatchInput       off
  2195.       Interpolate       on
  2196.     }
  2197.     Block {
  2198.       BlockType       Inport
  2199.       Name       "in_2"
  2200.       Position       [20, 115, 40, 135]
  2201.       Port       "2"
  2202.       LatchInput       off
  2203.       Interpolate       on
  2204.     }
  2205.     Block {
  2206.       BlockType       Mux
  2207.       Name       "Mux"
  2208.       Ports       [2, 1]
  2209.       Position       [65, 70, 100, 105]
  2210.       Inputs       "2"
  2211.       DisplayOption       "none"
  2212.     }
  2213.     Block {
  2214.       BlockType       "S-Function"
  2215.       Name       "Plot1"
  2216.       Ports       [1]
  2217.       Position       [130, 70, 200, 110]
  2218.       FunctionName       "eyediasi"
  2219.       Parameters       "time_range, boundary, kept_length, eye_"
  2220. "line, scatter_line, two_d_line"
  2221.       PortCounts       "[]"
  2222.       SFunctionModules       "''"
  2223.     }
  2224.     Line {
  2225.       SrcBlock       "Mux"
  2226.       SrcPort       1
  2227.       DstBlock       "Plot1"
  2228.       DstPort       1
  2229.     }
  2230.     Line {
  2231.       SrcBlock       "in_2"
  2232.       SrcPort       1
  2233.       Points       [5, 0]
  2234.       DstBlock       "Mux"
  2235.       DstPort       2
  2236.     }
  2237.     Line {
  2238.       SrcBlock       "in_1"
  2239.       SrcPort       1
  2240.       Points       [5, 0; 0, 15]
  2241.       DstBlock       "Mux"
  2242.       DstPort       1
  2243.     }
  2244.   }
  2245. }
  2246. Line {
  2247.   SrcBlock   "Mux"
  2248.   SrcPort   1
  2249.   DstBlock   "Eye pattern ntransmitter"
  2250.   DstPort   1
  2251. }
  2252. Line {
  2253.   SrcBlock   "in_1"
  2254.   SrcPort   1
  2255.   DstBlock   "Switch"
  2256.   DstPort   1
  2257. }
  2258. Line {
  2259.   SrcBlock   "Step input"
  2260.   SrcPort   1
  2261.   Points   [15, 0; 0, -35]
  2262.   DstBlock   "Switch"
  2263.   DstPort   2
  2264. }
  2265. Line {
  2266.   SrcBlock   "Constant"
  2267.   SrcPort   1
  2268.   Points   [35, 0]
  2269.   DstBlock   "Switch"
  2270.   DstPort   3
  2271. }
  2272. Line {
  2273.   SrcBlock   "Mux1"
  2274.   SrcPort   1
  2275.   Points   [25, 0]
  2276.   Branch {
  2277.     Points     [0, 75]
  2278.     DstBlock     "Scatter plotntransmitter"
  2279.     DstPort     1
  2280.   }
  2281.   Branch {
  2282.     DstBlock     "Trajectoryntransmitter"
  2283.     DstPort     1
  2284.   }
  2285. }
  2286. Line {
  2287.   SrcBlock   "Constant1"
  2288.   SrcPort   1
  2289.   Points   [10, 0; 0, -20]
  2290.   Branch {
  2291.     DstBlock     "Mux1"
  2292.     DstPort     2
  2293.   }
  2294.   Branch {
  2295.     Points     [0, -75]
  2296.     DstBlock     "Mux"
  2297.     DstPort     1
  2298.   }
  2299. }
  2300. Line {
  2301.   SrcBlock   "Switch"
  2302.   SrcPort   1
  2303.   Points   [10, 0]
  2304.   Branch {
  2305.     Points     [0, 45]
  2306.     DstBlock     "Mux1"
  2307.     DstPort     1
  2308.   }
  2309.   Branch {
  2310.     DstBlock     "Mux"
  2311.     DstPort     2
  2312.   }
  2313. }
  2314.       }
  2315.     }
  2316.   }
  2317. }