📄 sw.mp
字号:
\verbatimtex
\documentclass{article}
\usepackage{times}
\usepackage[mtbold]{mathtime}
\usepackage{bm,amsmath,amssymb}
\def\stk#1#2{\begin{tabular}{l} #1\\#2\end{tabular}}
\def\bigupdownstrut{\vrule height 2.5\ht\strutbox depth 3\dp\strutbox width0pt}
\def\Bigupdownstrut{\vrule height 10\ht\strutbox depth 40\dp\strutbox width0pt}
\begin{document}
etex
def Arrow(expr Position, Theta) =
begingroup;
path p;
p = (0,0)--(-1,2)--(5,0)--(-1,-2)--cycle;
fill p rotated Theta shifted Position;
endgroup
enddef;
marksize=4pt;
def draw_mark(expr p, a) =
begingroup
save t, dm; pair dm;
t = arctime a of p;
dm = marksize*unitvector direction t of p
rotated 90;
draw (-.5dm.. .5dm) shifted point t of p;
endgroup
enddef;
def draw_marked(expr p, n) =
begingroup
save amid;
amid = .5*arclength p;
for i=-(n-1)/2 upto (n-1)/2:
drawmark(p, amid+.6marksize*i);
endfor
draw p;
endgroup
enddef;
angle_radius=8pt;
def mark_angle(expr a, b, c, n) =
begingroup
save s, p; path p;
p = unitvector(a-b){(a-b)rotated 90}..unitvector(c-b);
s = .9marksize/length(point 1 of p - point 0 of p);
if s<angle_radius: s:=angle_radius; fi
draw_marked(p scaled s shifted b, n);
endgroup
enddef;
def mark_rt_angle(expr a, b, c) =
draw ((1,0)--(1,1)--(0,1))
zscaled (4pt*unitvector(a-b)) shifted b
enddef;
def draw_angle(expr a, b, c, s) =
begingroup
path p;
p = unitvector(a-b){(a-b)rotated 90}..unitvector(c-b);
draw p scaled s shifted b;
endgroup
enddef;
def Angle(expr apex, alphab, alphae, radius) =
begingroup
path p;
p = fullcircle; % length of p is 8
draw subpath (alphab/45,alphae/45) of p scaled radius shifted apex;
endgroup
enddef;
labeloffset:=6bp;
u=1cm;
beginfig(1);
z0=(0,0);
z1=(-3u,0);
z2=(4u,0);
z3=(0,4u);
z4=(2u,0);
z5=(2u,3u);
z6=(-2u,3u);
z7=(-2u,0);
draw z1--z2; Arrow(z2,0);
draw z0..z3; Arrow(z3,90);
pickup pencircle scaled 1pt;
draw z4--z5--z6--z7;
pickup pencircle scaled .4pt;
label.llft(btex time $t$ etex, z2);
label.llft(btex $f(t)$ etex, z3);
label.rt(btex $(T/2,1)$ etex, z5);
label.bot(btex $T/2$ etex, z4);
label.bot(btex $-T/2$ etex, z7);
label.lft(btex $(-T/2,1)$ etex, z6);
endfig;
beginfig(2);
z0=(2u,0);
z1=(0,2u);
z2=(-2u,0);
z3=(-2.5u,0);
z4=(3u,0);
z5=(0,-.8u);
z6=(0,3u);
draw z3--z4; Arrow(z4,0);
draw z5--z6; Arrow(z6,90);
label.llft(btex $r_f(\tau)$ etex, z6);
label.llft(btex $\tau$ etex, z4);
label.bot(btex $T$ etex, z0);
label.bot(btex $-T$ etex, z2);
label.rt(btex $(0,T)$ etex, z1);
pickup pencircle scaled 1pt;
draw z0--z1--z2;
pickup pencircle scaled .4pt;
endfig;
beginfig(3);
z0=(2u,0);
z1=(0,2u);
z2=(-2u,0);
z3=(-2.5u,0);
z4=(3u,0);
z5=(0,-.8u);
z6=(0,3u);
draw z3--z4; Arrow(z4,0);
draw z5--z6; Arrow(z6,90);
label.llft(btex $r_X(\tau)$ etex, z6);
label.llft(btex $\tau$ etex, z4);
label.bot(btex $T$ etex, z0);
label.bot(btex $-T$ etex, z2);
label.rt(btex $(0,1)$ etex, z1);
pickup pencircle scaled 1pt;
draw z0--z1--z2;
pickup pencircle scaled .4pt;
endfig;
beginfig(4);
z0=(0,0);
z1=(-3u,0);
z2=(3u,0);
z3=(0,-3u);
z4=(0,3u);
z5=(1.9u,.6245u);
z6=(-1.9u,-.6245u);
z7=(2.17u,0);
z8=(0,2.17u);
z9=(-2.17u,0);
z10=(0,-2.17u);
draw z7..z8..z9..z10..cycle;
draw z1--z2; Arrow(z2,0);
draw z3--z4; Arrow(z4,90);
label.llft(btex $I$ etex, z2);
label.llft(btex $Q$ etex, z4);
pickup pencircle scaled 1pt;
draw z0--z5; Arrow(z5,18.19);
draw z0--z6 dashed evenly scaled 2; Arrow(z6,198.19);
pickup pencircle scaled .4pt;
mark_angle(z2,z0,z5,0);
label.rt(btex $\varphi$ etex, (.7u,.15u));
mark_angle(z1,z0,z6,0);
label.lft(btex $\varphi$ etex, (-.7u,-.2u));
endfig;
beginfig(5);
z0 = (0,0);
z1 = (0,1u);
z2 = (0,2u);
z3 = (0,3u);
z4 = (3u,3u);
z5 = (3u,2u);
z6 = (3u,1u);
z7 = (.5u,3u);
z8 = (1u,2u);
z9 = (1.5u,1u);
z10 = (.5u,0);
z11 = (1u,0);
z12 = (1.5u,0);
z13 = (3u,0);
z14 = (3.6u,0);
z15 = (3.6u,1u);
z16 = (3.6u,2u);
z17 = (3.6u,3u);
z18 = (5u,3u);
z19 = (5u,2.5u);
z20 = (5u,2u);
z21 = (5u,1u);
z22 = (5u,.5u);
z23 = (5u,0);
z24 = (6u,-0.5u);
z25 = (6u,.5u);
z26 = (6u,2.5u);
z27 = (6u,3.5u);
z28 = (6.5u,2.5u);
z29 = (6.5u,1.5u);
z30 = (6.5u,.5u);
z31 = (8u,1.5u);
label.rt(btex L1 OS, data etex, (-2u,3u));
label.rt(btex L1 OS, pilot etex, (-2u,2u));
label.rt(btex L1 PRS etex, (-2u,1u));
%label.rt(btex L1Int etex, (-2u,0));
draw z3--z4;
draw z2--z5;
draw z1--z6;
draw z7--z10--z13;
draw z8--z11;
draw z9--z12;
path p[];
p1 = (-1u,-1.5u)--(2u,0)--(-1u,1.5u)--(-1u,-1.5u);
p2 = p1 scaled 0.2 shifted (3.2u,3u);
draw p2;
p3 = p1 scaled 0.2 shifted (3.2u,2u);
draw p3;
p4 = p1 scaled 0.2 shifted (3.2u,1u);
draw p4;
p5 = p1 scaled 0.2 shifted (3.2u,0);
draw p5;
draw z17--z18;
draw z16--z20--z18;
draw z15--z21--z23--z14;
draw z19--z28--z29--z31;
draw z22--z30--z29;
label(btex $\bigoplus$ etex, z19);
label(btex $\bigoplus$ etex, z22);
label(btex $\bigoplus$ etex, z29);
label.rt(btex $\alpha$ etex, (2.9u,3u));
label.rt(btex $\alpha$ etex, (2.9u,2u));
label.rt(btex $\beta$ etex, (2.9u,.95u));
label.rt(btex $\gamma$ etex, (2.9u,0));
label.ulft(btex $e_B(t)$ etex, z4);
label.ulft(btex $e_C(t)$ etex, z5);
label.ulft(btex $e_A(t)$ etex, z6);
label.ulft(btex $e_Ae_Be_C$ etex, z13);
label.top(btex $\cos(2\pi f_1 t)$ etex, z27);
label.bot(btex $\sin(2\pi f_1t)$ etex, z24);
draw z24--z25;
draw z26--z27;
path a;
a = fullcircle scaled 3.2mm;
fill a shifted (1u,0) withcolor 1white;
fill a shifted (1.5u,0) withcolor 1white;
fill a shifted (6u,.5u) withcolor 1white;
fill a shifted (6u,2.5u) withcolor 1white;
label(btex $\bigotimes$ etex, z11);
label(btex $\bigotimes$ etex, z12);
label(btex $\bigotimes$ etex, z25);
label(btex $\bigotimes$ etex, z26);
Arrow(z31,0);
label.ulft(btex $+$ etex, z19);
label.llft(btex $-$ etex, z19);
label.ulft(btex $+$ etex, z22);
label.llft(btex $+$ etex, z22);
label.ulft(btex $+$ etex, z29);
label.llft(btex $-$ etex, z29);
label.llft(btex $S(t)$ etex, z31);
endfig;
input boxes
beginfig(6);
boxit.sk(btex \strut \hskip 42.75mm superframe \# $k$\hskip 42.75mm etex);
drawboxed(sk);
interim defaultdy:=7bp;
label.rt(btex \strut superframe \# $(k+1)$ etex, sk.e);
draw sk.ne--sk.ne+(32mm,0mm);
draw sk.se--sk.se+(32mm,0mm);
%
boxjoin(a.se=b.sw; a.ne=b.nw);
boxit.f1(btex \strut frame \# $1$ etex);
boxit.c1(btex \strut $\cdots$ etex);
boxit.i1(btex \strut frame \# $(i-1)$ etex);
boxit.i(btex \strut frame \# $i$ etex);
boxit.i2(btex \strut frame \# $(i+1)$ etex);
boxit.c2(btex \strut $\cdots$ etex);
boxit.n(btex \strut frame \# $N$ etex);
boxit.f2(btex \strut frame \# $1$ etex);
sk.sw=f1.nw+(0bp,40bp);
drawboxed(i1,f1,c1,i,i2,c2,n,f2);
interim defaultdy:=7bp;
label.rt(btex \strut $\cdots$ etex, f2.e);
draw f2.ne--f2.ne+(10mm,0mm);
draw f2.se--f2.se+(10mm,0mm);
%
boxjoin(a.se=b.sw; a.ne=b.nw);
boxit.sf1(btex \strut subframe \# $1$ etex);
boxit.sc1(btex \strut $\cdots$ etex);
boxit.si1(btex \strut subframe \# $(j-1)$ etex);
boxit.si(btex \strut subframe \# $j$ etex);
boxit.si2(btex \strut subframe \# $(j+1)$ etex);
boxit.sc2(btex \strut $\cdots$ etex);
boxit.sn(btex \strut subframe \# $P$ etex);
f1.sw=sf1.nw+(0bp,40bp);
drawboxed(si1,sf1,sc1,si,si2,sc2,sn);
interim defaultdy:=7bp;
%
boxjoin(a.se=b.sw; a.ne=b.nw);
boxit.tsf1(btex \strut SW etex);
boxit.tsc1(btex \strut \hskip 10mm Data field\hskip 10mm etex);
boxit.tsi1(btex \strut CRC etex);
boxit.tsi(btex \strut Tail bits etex);
sf1.sw=tsf1.nw+(-100bp,40bp);
drawboxed(tsi1,tsf1,tsc1,tsi);
interim defaultdy:=7bp;
draw sk.sw--f1.nw;
draw sk.se--n.ne;
draw i.sw--sf1.nw;
draw i.se--sn.ne;
draw si.sw--tsf1nw;
draw si.se--tsi.ne;
z0=tsf1.se-(0bp,10bp);
z1=tsi.se-(0bp,10bp);
drawdblarrow z0--z1;
label(btex FEC encoded, then block-interleaved etex, .5[z0-(0,10bp),z1-(0bp,10bp)]);
endfig;
beginfig(7); % Notation for data
z0 = (0,0);
z1 = (6u,0);
z2 = (0,2u);
z3 = (6u,2u);
draw z0--z1--z3--z2--cycle;
label.lrt(btex MSB etex, z0);
label.ulft(btex LSB etex, z0);
label.llft(btex MSB etex, z2);
label.llft(btex LSB etex, z1);
label.lft(btex \begin{tabular}{c} Direction of data\\flow from SV\end{tabular} etex, (-1u,1u));
label.top(btex Direction of data flow from SV etex, (3u,2.5u));
label(btex Data etex,(0.7u,1.75u));
label(btex Data etex,(3.8u,1.75u));
label(btex Data etex,(3.1u,1.25u));
label(btex Data etex,(2u,.75u));
label(btex Data etex,(5.1u,.75u));
label(btex Data etex, (3.1u,.25u));
drawarrow (-1.1u,0)--(-1.1u,2u);
drawarrow z3+(0,0.5u)--z2+(0,0.5u);
draw (0,0.5u)--(6u,0.5u);
draw (0,1u)--(6u,1u);
draw (0,1.5u)--(6u,1.5u);
draw (4u,0.5u)--(4u,1u);
draw (1.5u,1.5u)--(1.5u,2u);
endfig;
beginfig(8); % Dennis' front-end
labeloffset:=10bp; %6b
z0 = (0,3u);
z1 = (0,5u);
z2 = (1u,3u);
z3 = (2.5u,3u);
z4 = (4.5u,3u);
z5 = (6u,3u);
z6 = (7.5u,3u);
z7 = (9u,3u);
z8 = (11u,3u);
z9 = (12.5u,3u);
z10 = (12.5u,2u);
z11 = (11u,0); %1u
z12 = (8u,0);
z13 = (4.5u,0);
z14 = (4.5u,-.5u);
z15 = (2.5u,-.5u);
label.top(btex \small\begin{tabular}{c} Active antenna\\ $\text{Gain}\approx 30\,$dB\\
$\text{Noise figure} \approx 2.5\,$dB\end{tabular} etex, z1);
label.lft(btex \small\begin{tabular}{c} Rooftop cable\\Loss $\approx$ 8.0\,dB\end{tabular} etex, 0.5[z0,z1]);
label.bot(btex \small\begin{tabular}{c} Bandpass filter\\$f_{\text{center}} = 1\,575.42$\,MHz\\
$3\,\text{dB BW}\approx 50$\,MHz \end{tabular} etex, z2);
label.top(btex \small\begin{tabular}{c} Amplifier(s)\\$\text{Gain} \approx 50\,$dB\\
$\text{Noise figure} \approx 4.0\,$dB\end{tabular} etex, z3);
label.top(btex \small\begin{tabular}{c} Amplifier(s)\\ $\text{Gain} \approx 50\,$dB\\
$\text{Noise figure} \approx 4.0\,$dB\end{tabular} etex, z6);
label.top(btex \small\begin{tabular}{c} Analog-to-digital\\converter\\ $f_{\text{sampling}} \approx 38.192\,$MHz\\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -