From fe42982bb12f5841e967f12f4ef952f821f0fd81 Mon Sep 17 00:00:00 2001 From: mrequena Date: Fri, 20 May 2011 13:48:31 +0200 Subject: [PATCH] mcs index figure --- src/lte/doc/source/figures/lte-mcs-index.eps | 841 +++++++++++++++++++ src/lte/doc/source/figures/lte-mcs-index.pdf | Bin 0 -> 4450 bytes src/lte/doc/source/figures/lte-mcs-index.png | Bin 0 -> 13640 bytes 3 files changed, 841 insertions(+) create mode 100644 src/lte/doc/source/figures/lte-mcs-index.eps create mode 100644 src/lte/doc/source/figures/lte-mcs-index.pdf create mode 100644 src/lte/doc/source/figures/lte-mcs-index.png diff --git a/src/lte/doc/source/figures/lte-mcs-index.eps b/src/lte/doc/source/figures/lte-mcs-index.eps new file mode 100644 index 000000000..8f23b5620 --- /dev/null +++ b/src/lte/doc/source/figures/lte-mcs-index.eps @@ -0,0 +1,841 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: lte-mcs-index.eps +%%Creator: gnuplot 4.2 patchlevel 6 +%%CreationDate: Fri May 20 13:08:10 2011 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color true def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -46 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (lte-mcs-index.eps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 6 ) + /Author (Manuel Requena) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri May 20 13:08:10 2011) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {show} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} bind def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get stringwidth pop add} {pop} ifelse} ifelse} forall} bind def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +1.000 UL +LTa +770 448 M +6220 0 V +stroke +LTb +770 448 M +63 0 V +6157 0 R +-63 0 V +stroke +686 448 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 1185 M +6220 0 V +stroke +LTb +770 1185 M +63 0 V +6157 0 R +-63 0 V +stroke +686 1185 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 1923 M +6220 0 V +stroke +LTb +770 1923 M +63 0 V +6157 0 R +-63 0 V +stroke +686 1923 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 2660 M +6220 0 V +stroke +LTb +770 2660 M +63 0 V +6157 0 R +-63 0 V +stroke +686 2660 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 15)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 3397 M +6220 0 V +stroke +LTb +770 3397 M +63 0 V +6157 0 R +-63 0 V +stroke +686 3397 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 20)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 4135 M +6220 0 V +stroke +LTb +770 4135 M +63 0 V +6157 0 R +-63 0 V +stroke +686 4135 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 25)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 4872 M +6220 0 V +stroke +LTb +770 4872 M +63 0 V +6157 0 R +-63 0 V +stroke +686 4872 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 30)] +] -46.7 MRshow +1.000 UL +LTb +1.000 UL +LTa +770 448 M +0 4424 V +stroke +LTb +770 448 M +0 63 V +0 4361 R +0 -63 V +stroke +770 308 M +[ [(Helvetica) 140.0 0.0 true true 0 (-5)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +1659 448 M +0 4424 V +stroke +LTb +1659 448 M +0 63 V +0 4361 R +0 -63 V +stroke +1659 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +2547 448 M +0 4424 V +stroke +LTb +2547 448 M +0 63 V +0 4361 R +0 -63 V +stroke +2547 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +3436 448 M +0 4424 V +stroke +LTb +3436 448 M +0 63 V +0 4361 R +0 -63 V +stroke +3436 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +4324 448 M +0 4424 V +stroke +LTb +4324 448 M +0 63 V +0 4361 R +0 -63 V +stroke +4324 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 15)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +5213 448 M +0 4424 V +stroke +LTb +5213 448 M +0 63 V +0 4361 R +0 -63 V +stroke +5213 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 20)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +6101 448 M +0 63 V +0 420 R +0 3941 V +stroke +LTb +6101 448 M +0 63 V +0 4361 R +0 -63 V +stroke +6101 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 25)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTa +6990 448 M +0 4424 V +stroke +LTb +6990 448 M +0 63 V +0 4361 R +0 -63 V +stroke +6990 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 30)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +770 4872 N +770 448 L +6220 0 V +0 4424 V +-6220 0 V +Z stroke +LCb setrgbcolor +280 2660 M +currentpoint gsave translate 90 rotate 0 0 moveto +[ [(Helvetica) 140.0 0.0 true true 0 (MCS index)] +] -46.7 MCshow +grestore +LTb +LCb setrgbcolor +3880 98 M +[ [(Helvetica) 140.0 0.0 true true 0 (SINR [dB])] +] -46.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +1.000 UP +4.000 UL +LT0 +LTb +6339 861 M +[ [(Helvetica) 140.0 0.0 true true 0 (QPSK)] +] -46.7 MRshow +LT0 +6423 861 M +399 0 V +1303 448 M +178 0 V +178 295 V +177 0 V +178 0 V +178 295 V +177 0 V +178 295 V +178 0 V +178 295 V +177 0 V +178 295 V +1303 448 TriU +1481 448 TriU +1659 743 TriU +1836 743 TriU +2014 743 TriU +2192 1038 TriU +2369 1038 TriU +2547 1333 TriU +2725 1333 TriU +2903 1628 TriU +3080 1628 TriU +3258 1923 TriU +6622 861 TriU +1.000 UP +4.000 UL +LT1 +LTb +6339 721 M +[ [(Helvetica) 140.0 0.0 true true 0 (16QAM)] +] -46.7 MRshow +LT1 +6423 721 M +399 0 V +3436 2218 M +177 0 V +178 295 V +178 0 V +178 294 V +177 295 V +178 0 V +3436 2218 Box +3613 2218 Box +3791 2513 Box +3969 2513 Box +4147 2807 Box +4324 3102 Box +4502 3102 Box +6622 721 Box +1.000 UP +4.000 UL +LT2 +LTb +6339 581 M +[ [(Helvetica) 140.0 0.0 true true 0 (64QAM)] +] -46.7 MRshow +LT2 +6423 581 M +399 0 V +4680 3397 M +177 0 V +178 295 V +178 0 V +178 295 V +177 0 V +178 295 V +178 0 V +177 295 V +178 0 V +178 0 V +178 0 V +177 0 V +178 0 V +4680 3397 TriD +4857 3397 TriD +5035 3692 TriD +5213 3692 TriD +5391 3987 TriD +5568 3987 TriD +5746 4282 TriD +5924 4282 TriD +6101 4577 TriD +6279 4577 TriD +6457 4577 TriD +6635 4577 TriD +6812 4577 TriD +6990 4577 TriD +6622 581 TriD +1.000 UL +LTb +770 4872 N +770 448 L +6220 0 V +0 4424 V +-6220 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/src/lte/doc/source/figures/lte-mcs-index.pdf b/src/lte/doc/source/figures/lte-mcs-index.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6f5c1969fa3ef7ad4611724f2541d2642570afe4 GIT binary patch literal 4450 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 literal 0 HcmV?d00001