4410-4412/RAM: add amplitude ramp example
This commit is contained in:
parent
4b3f0c5612
commit
9251da4ce0
|
@ -566,11 +566,59 @@ Urukul was operated with a 50$\Omega$ termination to produce the waveform.
|
||||||
\end{axis}
|
\end{axis}
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|
||||||
\begin{figure}[h]
|
\subsection{Simple Amplitude Ramp (AD9910 Only)}
|
||||||
\centering
|
An amplitude ramp of an RF signal can be generated by modifying the \texttt{self.amp} array in the previous example.
|
||||||
\includegraphics[width=\textwidth]{ad9910_amp_mod.png}
|
\begin{minted}{python}
|
||||||
\caption{Expected waveform from the RAM modulation example}
|
def prepare(self):
|
||||||
\end{figure}
|
# Reversed Order
|
||||||
|
self.amp = [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]
|
||||||
|
self.asf_ram = [0] * len(self.amp)
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
The generated RF output has an incrementing amplitude scale factor (ASF), increasing by 0.1 at every microsecond.
|
||||||
|
Once the ASF reaches 1.0, it drops back to 0.0 at the next microsecond.
|
||||||
|
The expected waveform over 1 cycle is plotted on the following figure.
|
||||||
|
Note that phase of the RF pulses may drift gradually.
|
||||||
|
Urukul was operated with a 50$\Omega$ termination to produce the waveform.
|
||||||
|
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
declare function={
|
||||||
|
func(\x)= and(\x>=0, \x<1) * (0) +
|
||||||
|
and(\x>=1, \x<2) * (0.05*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=2, \x<3) * (0.1*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=3, \x<4) * (0.15*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=4, \x<5) * (0.2*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=5, \x<6) * (0.25*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=6, \x<7) * (0.3*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=7, \x<8) * (0.35*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=8, \x<9) * (0.4*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=9, \x<10) * (0.45*cos(deg(10*pi*\x))) +
|
||||||
|
and(\x>=10, \x<11) * (0.5*cos(deg(10*pi*\x)));
|
||||||
|
}
|
||||||
|
]
|
||||||
|
\begin{axis}[
|
||||||
|
axis x line=middle, axis y line=middle,
|
||||||
|
every axis x label/.style={
|
||||||
|
at={(ticklabel* cs:1.05)},
|
||||||
|
anchor=west,
|
||||||
|
},
|
||||||
|
every axis y label/.style={
|
||||||
|
at={(ticklabel* cs:1.05)},
|
||||||
|
anchor=south,
|
||||||
|
},
|
||||||
|
minor tick num=4,
|
||||||
|
grid=both,
|
||||||
|
height=8cm,
|
||||||
|
width=16cm,
|
||||||
|
ymin=-0.7, ymax=0.7, ytick={-0.5,...,0,...,0.5}, ylabel=Voltage ($V$),
|
||||||
|
xmin=0, xmax=11.5, xtick={0,...,11}, xlabel=Time ($\mu s$),
|
||||||
|
]
|
||||||
|
|
||||||
|
\addplot[blue, samples=1500, domain=0:11]{func(x)};
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
Multiple RAM channels can also be synchronized.
|
Multiple RAM channels can also be synchronized.
|
||||||
Similar to the 10 MHz single-tone RF signals, specify \texttt{phase} when calling \texttt{dds.set()} in \texttt{configure\char`_ram\char`_mode}.
|
Similar to the 10 MHz single-tone RF signals, specify \texttt{phase} when calling \texttt{dds.set()} in \texttt{configure\char`_ram\char`_mode}.
|
||||||
|
|
Loading…
Reference in New Issue