📄 sw.mp
字号:
beginfig(16); % Figure 2.2
path a, p[], q;
p1 = (0,0){up}..tension 2 and 5..(.05u,.5u)..tension 5
and 2..(.1u,0)..tension 2 and 5..(.15u,-.5u)..tension 5 and 2..{up}(.2u,0);
p2 = p1..(p1 shifted (.2u,0));
p0 = p2;
for i = 1 upto 7: p0:=p0..p2 shifted (i*.4u,0);
endfor
draw p0;
draw p0 shifted (3.2u,0);
draw p0 shifted (7.9u,0);
q = (0,0.5u)--(.2u,.5u)--(.2u,-.5u)--(.6u,-.5u)--(.6u,.5u)--(.8u,.5u)--
(.8u,-.5u)--(1u,-.5u)--(1u,.5u)--(1.4u,.5u)--(1.4u,-.5u)--(1.6u,-.5u)--
(1.6u,0.5u)--(1.8u,.5u)--(1.8u,-.5u)--(2u,-.5u)--(2u,.5u)--(2.4u,.5u)--
(2.4u,-.5u)--(2.8u,-.5u)--(2.8u,.5u)--(3u,.5u)--(3u,-.5u)--(3.2u,-.5u);
draw q shifted (0,-1.5u);
draw q shifted (3.2u,-1.5u);
draw q shifted (7.9u,-1.5u);
draw (0,-2.5u)--(7.9u,-2.5u);
draw (7.9u,-3.5u)--(11.1u,-3.5u);
draw (0,-4.5u)--(11.5u,-4.5u);
pickup pencircle scaled 1pt;
draw (0,-4.5u)--(0,1u);
draw (3.2u,-4.5u)--(3.2u,1u);
draw (6.4u,-4.5u)--(6.4u,1u);
draw (7.9u,-4.5u)--(7.9u,1u);
draw (11.1u,-4.5u)--(11.1u,1u);
pickup pencircle scaled .4pt;
label(btex Carrier $f(t)$ etex,(-1.2u,0));
label(btex Code $C(t)$ etex,(-1.2u,-1.5u));
label(btex Data $D(t)$ etex,(-1.2u,-3u));
label.bot(btex $0$ etex,(0,-4.5u));
label.bot(btex $1$ etex,(3.2u,-4.5u));
label.bot(btex $2$ etex,(6.4u,-4.5u));
label.bot(btex $20$ etex,(7.9u,-4.5u));
label.bot(btex $21$ etex,(11.1u,-4.5u));
label.bot(btex Time [ms] etex,(5.8u,-5u));
path a;
a = fullcircle scaled 6mm;
fill a shifted (7.15u,-4.5u) withcolor 1white;
fill a shifted (7.15u,-2.5u) withcolor 1white;
endfig;
beginfig(17); % Figure 7.21
path a, q;
q = (0,-.5u)--(0,0.5u)--(.2u,.5u)--(.2u,-.5u)--(.6u,-.5u)--(.6u,.5u)--(.8u,.5u)--
(.8u,-.5u)--(1u,-.5u)--(1u,.5u)--(1.4u,.5u)--(1.4u,-.5u)--(1.6u,-.5u)--
(1.6u,0.5u)--(1.8u,.5u)--(1.8u,-.5u)--(2u,-.5u)--(2u,.5u)--(2.4u,.5u)--
(2.4u,-.5u)--(2.8u,-.5u)--(2.8u,.5u)--(3u,.5u)--(3u,-.5u)--(3.2u,-.5u);
draw q shifted (0,-1.5u);
draw q shifted (4.9u,-3u); %shifted .2u additionally
draw q shifted (8.1u,-3u);
draw (0,-4.5u)--(11.5u,-4.5u); % x-axis
pickup pencircle scaled 1pt;
draw (0,-4.5u)--(0,-.5u);
draw (3.2u,-4.5u)--(3.2u,-.5u);
draw (4.7u,-4.5u)--(4.7u,-.5u);
draw (7.9u,-4.5u)--(7.9u,-.5u);
pickup pencircle scaled .4pt;
label(btex \begin{tabular}{c} Transmitted\\ code\end{tabular} etex,(-1.2u,-1.5u));
label(btex \begin{tabular}{c} Received\\ code\end{tabular} etex,(-1.2u,-3u));
label.bot(btex 0 etex, (0,-4.5u));
label.bot(btex 1 etex, (3.2u,-4.5u));
label.bot(btex 70 etex, (4.7u,-4.5u));
label.bot(btex 71 etex, (7.9u,-4.5u));
Arrow((11.5u,-4.5u),0);
label.bot(btex Time [ms] etex,(5.8u,-5u));
label.top(btex Frame 1 etex, (1.6u,-4.5u));
label.top(btex Frame 71 etex, (6.3u,-4.5u));
label.top(btex Frame 72 etex, (9.5u,-4.5u));
path a;
a = fullcircle scaled 6mm;
fill a shifted (3.95u,-4.5u) withcolor 1white;
endfig;
beginfig(18); % Figure 7.22
path q;
q = (0,-.5u)--(0,0.5u)--(.2u,.5u)--(.2u,-.5u)--(.6u,-.5u)--(.6u,.5u)--(.8u,.5u)--
(.8u,-.5u)--(1u,-.5u)--(1u,.5u)--(1.4u,.5u)--(1.4u,-.5u)--(1.6u,-.5u)--
(1.6u,0.5u)--(1.8u,.5u)--(1.8u,-.5u)--(2u,-.5u)--(2u,.5u)--(2.4u,.5u)--
(2.4u,-.5u)--(2.8u,-.5u)--(2.8u,.5u)--(3u,.5u)--(3u,-.5u)--(3.2u,-.5u);
draw q shifted (9.075u,-3u);
draw (0,-4.5u)--(11.5u,-4.5u); % x-axis
draw (0,-4.5u)--(0,-4.3u);
draw (1.5u,-4.5u)--(1.5u,-4.3u); % tick at 100
draw (3u,-4.5u)--(3u,-4.3u);
draw (4.5u,-4.5u)--(4.5u,-4.3u);
draw (6u,-4.5u)--(6u,-4.3u);
draw (7.5u,-4.5u)--(7.5u,-4.3u);
draw (9u,-4.5u)--(9u,-4.3u);
draw (10.5u,-4.5u)--(10.5u,-4.3u);
pickup pencircle scaled 1pt;
draw (9.075u,-4.5u)--(9.075u,-2u);
pickup pencircle scaled .4pt;
label(btex \begin{tabular}{c} Received\\ code\end{tabular} etex,(-1.2u,-3u));
label.bot(btex 0 etex, (0,-4.5u));
label.bot(btex 100 etex, (1.5u,-4.5u));
label.bot(btex 200 etex, (3u,-4.5u));
label.bot(btex 300 etex, (4.5u,-4.5u));
label.bot(btex 400 etex, (6u,-4.5u));
label.bot(btex 500 etex, (7.5u,-4.5u));
label.bot(btex 600 etex, (9u,-4.5u));
label.bot(btex 700 etex, (10.5u,-4.5u));
label.top(btex 605 etex, (9.075u,-2u));
Arrow((11.5u,-4.5u),0);
label.bot(btex Time [samples] etex,(5.8u,-5u));
label.top(btex Frame 71 etex, (6.3u,-4.5u));
endfig;
beginfig(19); % Figure B.7
z0 = (0,0);
z1 = (2.5u,0);
z2 = (5u,0);
z3 = (7.5u,0);
z4 = (10u,0);
z5 = (11.5u,0);
z6 = (2.5u,.3u);
z7 = (5u,.3u);
z8 = (7.5u,.3u);
z9 = (10u,.3u);
z10 = (7.5u,2.5u);
z11 = (7.5u,1.7u);
draw z1--z5;
draw z1--z6;
draw z2--z7;
draw z3--z8;
draw z4--z9;
draw z10--z11;
draw (13.3u,0)--(14u,0);
draw (2.5u,1.7u)--(2.5u,2.8u)--(7.5u,2.8u);
draw (5u,1.7u)--(5u,5.3u)--(8.5u,5.3u);
draw z11--(7.5u,3.4u)--(8.5u,3.4u);
draw (10u,1.7u)--(10u,2.2u)--(7.5u,2.2u);
draw (2.5u,2.8u)--(2.5u,3.5u)--(5u,3.5u);
draw (8u,7u)--(14u,7u);
draw (11.5u,3.45u)--(14u,3.45u); % double line pilot
draw (11.5u,3.41u)--(14u,3.41u);
draw (11.5u,5.45u)--(14u,5.45u); % double line data
draw (11.5u,5.41u)--(14u,5.41u);
draw (4.5u,7u)--(6.1u,7u); % west of Carrier NCO
draw (4.5u,6.96u)--(6.1u,6.96u);
draw (4.5u,7u)--(4.5u,5.6u); % north of IF
draw (4.54u,7u)--(4.54u,5.6u);
draw (6.5u,5.6u)--(6.5u,3.7u); % south of I,Q
draw (6.54u,5.6u)--(6.54u,3.7u);
draw (6.5u,3.7u)--(8.5u,3.7u);
draw (6.5u,3.74u)--(8.5u,3.74u);
draw (2.5u,5.6u)--(4.5u,5.6u); % IF line
draw (4.5u,5.62u)--(8.5u,5.62u);
draw (4.5u,5.58u)--(8.5u,5.58u);
label.urt(btex IF etex, (2.5u,5.6u));
Arrow((8.3u,5.6u),0); % IF arrow
Arrow((4.2u,5.6u),0); % IF arrow
Arrow((8.1u,7u),180);
Arrow((2.5u,.15u),90);
Arrow((5u,.15u),90);
Arrow((7.5u,.15u),90);
Arrow((10u,.15u),90);
Arrow((13.5u,0),180);
Arrow((13.8u,3.43u),0); % double pilot
Arrow((13.8u,5.43u),0); % double data
Arrow((4.7u,3.5u),0);
Arrow((5u,3.2u),90);
Arrow((7.2u,2.8u),0);
Arrow((7.5u,2.5u),90);
Arrow((7.8u,2.2u),180);
Arrow((8.3u,3.4u),0);
Arrow((8.3u,5.3u),0);
Arrow((4.52u,5.95u),-90);
Arrow ((8.3u,3.72u),0);
path a;
a = fullcircle scaled 3mm;
fill a shifted (7.5u,2.2u) withcolor 1white;
fill a shifted (7.5u,2.8u) withcolor 1white;
fill a shifted (5u,3.5u) withcolor 1white;
fill a shifted (4.5u,5.6u) withcolor 1white;
label(btex $\bigotimes$ etex, (7.5u,2.2u));
label(btex $\bigotimes$ etex, (7.5u,2.8u));
label(btex $\bigotimes$ etex, (5u,3.5u));
label(btex $\bigotimes$ etex, (4.5u,5.6u));
label.top(btex $(I,Q)$ etex, (6.5u,5.4u));
label(btex \framebox[18mm]{\bigupdownstrut\begin{tabular}{c} BOC\\ generator\end{tabular}} etex,(2.5u,1u));
label(btex \framebox[18mm]{\bigupdownstrut\begin{tabular}{c} PRN\\ generator 1\end{tabular}} etex,(5u,1u));
label(btex \framebox[18mm]{\bigupdownstrut\begin{tabular}{c} PRN\\ generator 2\end{tabular}} etex,(7.5u,1u));
label(btex \framebox[18mm]{\bigupdownstrut\begin{tabular}{c} Secondary\\code\end{tabular}} etex,(10u,1u));
label(btex \framebox[18mm]{\bigupdownstrut\begin{tabular}{c} Code\\ NCO\end{tabular}} etex,(12.4u,0));
label(btex \framebox[30mm]{\bigupdownstrut\begin{tabular}{c} E, P, L correlator\\ pilot\end{tabular}} etex,(10u,3.5u));
label(btex \framebox[30mm]{\bigupdownstrut\begin{tabular}{c} E, P, L correlator\\ data\end{tabular}} etex,(10u,5.5u));
label(btex \framebox[18mm]{\bigupdownstrut\begin{tabular}{c} Carrier\\ NCO\end{tabular}} etex,(7u,7u));
label(btex \framebox[18mm]{\Bigupdownstrut\begin{tabular}{c}
Loop\\discrimin-\\ators/ \\ filters\end{tabular}} etex,(14.9u,3.5u));
endfig;
beginfig(20); % Fig 1.10 Simple linear system
z0 = (0,0);
z1 = (8u,1.5u);
z2 = (4u,0);
z3 = (8u,0);
z4 = (10u,0);
z5 = (8u,3u);
z6 = (4u,3u);
z7 = (0,3u);
z8 = (-1u,3u);
z9 = (0,1.5u);
z10 = (4u,1.5u);
draw z7--z0--z4;
draw z5--z8;
draw z2--z6;
draw z3--z5;
pickup pencircle scaled 1pt;
draw (1.5u,3u)--(2.5u,3u) withcolor 1white;
draw (5.5u,3u)--(6.5u,3u) withcolor 1white;
pickup pencircle scaled .4pt;
label(btex $\framebox{Delay}$ etex, .5[z6,z7]);
label(btex $\framebox{Delay}$ etex, .5[z5,z6]);
path a;
a = fullcircle scaled 7mm;
fill a shifted z9 withcolor 1white;
fill a shifted z2 withcolor 1white;
fill a shifted z3 withcolor 1white;
fill a shifted z1 withcolor 1white;
fill a shifted z10 withcolor 1white;
label(btex $1$ etex, z9);
label(btex $a_1$ etex, z10);
label(btex $a_2$ etex, z1);
label(btex $\Sigma$ etex, z2);
label(btex $\Sigma$ etex, z3);
draw a shifted z10;
draw a shifted z9;
draw a shifted z1;
draw a shifted z2;
draw a shifted z3;
label.top(btex $x(n)$ etex, z7);
label.top(btex $x(n-1)$ etex, z6);
label.top(btex $x(n-2)$ etex, (7.4u,3u)); %%%
label.ulft(btex $y(n)$ etex, z4);
Arrow(z4,0);
Arrow((1.3u,3u),0);
Arrow((3.5u,0),0);
Arrow((7.5u,0),0);
Arrow((4u,.5u),-90);
Arrow((8u,.5u),-90);
endfig;
beginfig(21); % Figure 1.12 Magnitude spectrum of bandpass ...
path a, b, c, d;
z0 = (4u,-3.3u);
z1 = (4u,-1u);
z2 = (4u,3.5u);
z3 = (6u,3.5u);
z4 = (8u,3.2u);
z5 = (-1u,-3.3u);
z6 = (8u,-3.3u);
z7 = (0,4u);
a = (-.7u,-3.3u)--(-.7u,-2.4u)--(0,-2.4u)--(.7u,-3.3u);
d = (-.7u,-3.3u)--(0,-2.4u)--(.7u,-2.4u)--(.7u,-3.3u);
%lower part
label.bot(btex $W$ etex, (4.7u,-3.3u));
label.bot(btex $-W$ etex, (3.3u,-3.3u));
b = z5--z6;
draw b; Arrow(z6,0);
label.llft(btex $f$ etex, z6);
c = z0--z1;
draw c; Arrow(z1,90);
label.bot(btex $0$ etex, z0);
label.lrt(btex $|\widetilde{S}(f)|$ etex, z1);
label.rt(btex $2|S(f_c)|$ etex, (4u,-2.5u));
pickup pencircle scaled 1pt;
draw a shifted (4u,0);
pickup pencircle scaled 0.4pt;
draw c shifted z7; Arrow((4u,-1u),90);
%upper part
draw b shifted z7; Arrow(z6+z7,0);
label.llft(btex $f$ etex, z6+z7);
label.lrt(btex $|S(f)|$ etex, z1+z7);
label.bot(btex $f_c$ etex, (6u,0.7u));
label.bot(btex $-f_c$ etex, (2u,0.7u));
Arrow((4u,2.8u),90);
label.rt(btex $|S(f_c)|$ etex,(3.8u,1.9u));
pickup pencircle scaled 1pt;
draw (2.7u,1.6u)--(5.3u,1.6u) dashed evenly;
draw d shifted (2u,4u);
draw a shifted (6u,4u);
pickup pencircle scaled 0.4pt;
draw (2u,0.6u)--(2u,0.8u);
draw (6u,0.6u)--(6u,0.8u);
draw (1.3u,-.2u)--(2.7u,-.2u);
Arrow((1.5u,-.2u),180);
Arrow((2.5u,-.2u),0);
label(btex $2W$ etex,(2.05u,-.5u));
draw (5.3u,-.2u)--(6.7u,-.2u);
Arrow((5.5u,-.2u),180);
Arrow((6.5u,-.2u),0);
label(btex $2W$ etex,(6.05u,-.5u));
endfig;
beginfig(22);
path a;
z0 = (-2.5u,0);
z1 = (3u,0);
z2 = (0,-2.5u);
z3 = (0,3u);
draw z0--z1;
draw z2--z3;
Arrow(z1,0);
Arrow(z3,90);
a = fullcircle scaled 40mm;
draw a;
label.llft(btex $I$ etex,z1);
label.llft(btex $Q$ etex,z3);
label(btex $\bullet$ etex, (1.8856u,.666u));
label(btex $\bullet$ etex, (1.8856u,-.666u));
label(btex $\bullet$ etex, (-1.8856u,-.666u));
label(btex $\bullet$ etex, (-1.8856u,.666u));
label(btex $\bullet$ etex, (0,2u));
label(btex $\bullet$ etex, (0,-2u));
label.urt(btex $(0,i)$ etex, (0,2u));
label.lrt(btex $(0,-i)$ etex, (0,-2u));
endfig;
beginfig(23);
v = 0.2875cm;
z0 = (0,0);
z1 = (-4.5u,0);
z2 = (5u,0);
z3 = (0,-1.5u);
z4 = (0,2u);
z5 = (-3v,1u);
z6 = (-2v,0);
z7 = (-2v,1u);
z8 = (-1v,0);
z9 = (-1v,1u);
z10 = (1v,-1u);
z11 = (1v,0);
z12 = (2v,-1u);
z13 = (2v,0);
z14 = (3v,-1u);
z15 = (3v,0);
z16 = (4v,-1u);
draw z1--z2; Arrow(z2,0);
draw z3--z4; Arrow(z4,90);
dotlabel.rt(btex $(0,\pi)$ etex, (0,1u));
dotlabel.lft(btex $(0,-\pi)$ etex, (0,-1u));
label.llft(btex $\omega$ etex, z2);
label.lrt(btex $\arg\bigl(F(\omega)\bigr)$ etex, z4);
draw z5--z6--z7--z8--z9--z10--z11--z12--z13--z14--z15--z16;
label.llft(btex $\ldots$ etex, z5);
label.urt(btex $\ldots$ etex, z16);
endfig;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -