From def80d4bf628e55afc31ccd8b9648c0308323b80 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Sun, 19 Nov 2023 10:29:28 +1030 Subject: [PATCH] building up sinusoid figure --- doc/codec2.pdf | Bin 120193 -> 120512 bytes doc/codec2.tex | 35 ++++++++++++++++++----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/doc/codec2.pdf b/doc/codec2.pdf index 77877b1e81418613704ba72be5bbbca0eae6b055..8aa38cee273cced1b1ec9565af6d8f69bc2f8225 100644 GIT binary patch delta 19765 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 45,x=1.0cm,y=1.0cm] -\newcommand{\DrawSine}[4]{% x, y, x_scale, y_scale -\begin{tikzpicture} -%\draw plot [smooth] coordinates {(#1,#2) (0.5,0.707) (1,1) (1.5,0.707) (2,0) (2.5,-0.707) (3,-1) (3.5,-0.707) (4,0)}; +% draws little sine wave squiggle +\newcommand{\drawSine}[4]{% x, y, x_scale, y_scale \draw plot [smooth] coordinates {(#1-2*#3, #2 ) (#1-1.5*#3,#2+0.707*#4) (#1-1*#3, #2+1*#4) (#1-0.5*#3,#2+0.707*#4) (#1 ,#2+0) (#1+0.5*#3,#2-0.707*#4) (#1+1*#3,#2-1*#4) (#1+1.5*#3,#2-0.707*#4) - (#1+2*#3,#2+0)}; -\end{tikzpicture} + (#1+2*#3,#2+0)} } -%%\draw plot [smooth] coordinates {(0,0) (0.5,0.707) (1,1) (1.5,0.707) (2,0) (2.5,-0.707) (3,-1) (3.5,-0.707) (4,0)}; +% three sine wave sources +\draw (0, 2.0) circle (0.5); \drawSine{0}{ 2.0}{0.2}{0.2}; +\draw (0, 0.5) circle (0.5); \drawSine{0}{ 0.5}{0.2}{0.2}; +\draw (0,-1.5) circle (0.5); \drawSine{0}{-1.5}{0.2}{0.2}; -\DrawSine {0}{1}{0.5}{0.5} - -\draw (0,2) circle (0.5); -\draw (0,0.5) circle (0.5); -\draw (0,-1.5) circle (0.5); - -\draw (1,2) -- (2,2); -\draw (2.5,0.75) -- (2.5,1.5); +% summer \draw (2.5,2) circle (0.5); \draw (2.25,2) -- (2.75,2); \draw (2.5,1.75) -- (2.5,2.25); -\draw (3,2) -- (4,2); + +% connecting lines +\draw [->] (0.5,2) -- (2,2); +\draw [->] (0.45,0.7) -- (2.05,1.8); +\draw [->] (0.3,-1.1) -- (2.2,1.6); + +% output +\draw [->] (3,2) -- (4,2); \end{tikzpicture}