| 1 | \documentclass[10pt]{article} |
|---|
| 2 | |
|---|
| 3 | \usepackage[pdftex]{graphicx} |
|---|
| 4 | \usepackage{listings} |
|---|
| 5 | \usepackage{color} |
|---|
| 6 | \usepackage[left=2cm,top=1cm,right=3cm,nohead,nofoot]{geometry} |
|---|
| 7 | |
|---|
| 8 | \definecolor{darkgreen}{rgb}{0,0.5,0} |
|---|
| 9 | \definecolor{darkblue}{rgb}{0,0,0.5} |
|---|
| 10 | |
|---|
| 11 | \lstloadlanguages{bash} |
|---|
| 12 | \lstset{% |
|---|
| 13 | language=bash, |
|---|
| 14 | basicstyle=\ttfamily, |
|---|
| 15 | keywordstyle=\color{darkblue}\bfseries, |
|---|
| 16 | morekeywords={chmod,cp,grep,man,mkdir,killall,ps,rm,su,sudo}, |
|---|
| 17 | morecomment=[l][\color{darkgreen}]{\#!}, |
|---|
| 18 | columns=fullflexible |
|---|
| 19 | } |
|---|
| 20 | |
|---|
| 21 | \newcommand{\osfig}[2]% |
|---|
| 22 | {% |
|---|
| 23 | \begin{figure}[h!] |
|---|
| 24 | \centering |
|---|
| 25 | \includegraphics[width=300px]{#1.png} |
|---|
| 26 | \caption{#2 \label{fig:#1}} |
|---|
| 27 | \end{figure} |
|---|
| 28 | } |
|---|
| 29 | |
|---|
| 30 | \newcommand{\osfigvs}[3]% |
|---|
| 31 | {% |
|---|
| 32 | \begin{figure}[h!] |
|---|
| 33 | |
|---|
| 34 | \centering |
|---|
| 35 | \includegraphics[scale=#3]{#1.png} |
|---|
| 36 | \caption{#2 \label{fig:#1}} |
|---|
| 37 | \end{figure} |
|---|
| 38 | } |
|---|
| 39 | |
|---|
| 40 | \newcommand{\osblock}% |
|---|
| 41 | {% |
|---|
| 42 | \begin{figure}[h!] |
|---|
| 43 | \label{fig:block} |
|---|
| 44 | \centering |
|---|
| 45 | \includegraphics[width=300px]{lab_6/figures/block.png} |
|---|
| 46 | \end{figure} |
|---|
| 47 | } |
|---|
| 48 | |
|---|
| 49 | |
|---|
| 50 | \newcommand{\osref}[1]% |
|---|
| 51 | {% |
|---|
| 52 | Figure~\ref{fig:#1}% |
|---|
| 53 | } |
|---|
| 54 | |
|---|
| 55 | %opening |
|---|
| 56 | \title{OSSIE Lab \#:The OSSIETalk Waveform} |
|---|
| 57 | \author{Haris I. Volos, \textit{et al}\\ |
|---|
| 58 | Virginia Tech, Blacksburg, VA\\ |
|---|
| 59 | Developed using OSSIE 0.7.x\\ |
|---|
| 60 | } |
|---|
| 61 | \date{July 2009} |
|---|
| 62 | |
|---|
| 63 | \begin{document} |
|---|
| 64 | |
|---|
| 65 | \maketitle |
|---|
| 66 | |
|---|
| 67 | \section{Acknowledgments} |
|---|
| 68 | This work was supported in part by NSF award \#0520418, and would not be possible without |
|---|
| 69 | the contributions of numerous students on the OSSIE team and other OSSIE users and |
|---|
| 70 | developers. |
|---|
| 71 | |
|---|
| 72 | \section{Objective} |
|---|
| 73 | The objective of this lab is to familiarize the user with the OSSIETalkUSRP waveform. |
|---|
| 74 | |
|---|
| 75 | \section{Version} |
|---|
| 76 | This lab is for use with OSSIE version 0.7.x and the OSSIE Eclipse Feature (OEF), running on a |
|---|
| 77 | computer or VMware image that uses Fedora Core 7 or Ubuntu 8.04. The following components are required: OSSIETalk, PacketResizer, Conv\_Enc, DigitalModulator, FrameAssembler, amplifier, Interpolator, USRP\_Commander, amplifier, Decimator, AutomaticGainControl, FrameSynchronizer, DigitalDemodulator, and Conv\_Dec. |
|---|
| 78 | |
|---|
| 79 | \section{Procedure} |
|---|
| 80 | \subsection{Procedure Overview} |
|---|
| 81 | \begin{enumerate} |
|---|
| 82 | \item Using OEF, build the OSSIETalkStep1 waveform. |
|---|
| 83 | \item Run nodeBooter |
|---|
| 84 | \item Run the waveform |
|---|
| 85 | \item Repeat the above for OSSIETalkStep2 and OSSIETalkUSRP. |
|---|
| 86 | \end{enumerate} |
|---|
| 87 | If only interested to OSSIETalkUSRP, you may skip directly to that step. |
|---|
| 88 | |
|---|
| 89 | \subsection{Getting Started} |
|---|
| 90 | \subsection{Step 1} |
|---|
| 91 | \osfigvs{blockdiagram1}{Step 1 Block Diagram}{0.6} |
|---|
| 92 | \subsubsection{Overview} |
|---|
| 93 | In this step the waveform will be built up to the modulator and the operation of the waveform will be tested using the Channel component. |
|---|
| 94 | |
|---|
| 95 | \osref{blockdiagram1} provides the block diagram of the waveform. The following components are used: |
|---|
| 96 | \paragraph{OSSIETalk} |
|---|
| 97 | This component performs two functions: |
|---|
| 98 | \begin{enumerate} |
|---|
| 99 | \item When the user presses the ``Press to talk'' button it captures audio through the microphone, applies CVSD encoding and forwards the samples to the next component. |
|---|
| 100 | \item It accepts CVSD encoded samples and plays them through the sound card. |
|---|
| 101 | \end{enumerate} |
|---|
| 102 | This component can be considered as the application layer interface. It is adviced that no other program is using the sound device when this component is used. You may need to adjust the microphone mixer settings in order to capture sound properly. You may look under the recording devices settings. Also it is suggested to check the ``microphone'' boost if it is available. |
|---|
| 103 | |
|---|
| 104 | \paragraph{PacketResizer1} |
|---|
| 105 | This component ensures that its output packets are of a fixed size. It buffers or breaks appart input packets as necessary. This is useful for ensuring predictable packet sizes in the waveform chain. |
|---|
| 106 | |
|---|
| 107 | \paragraph{Conv\_Enc1/Conv\_Dec1} |
|---|
| 108 | These components implement convolutional enconding/decoding offering a wide range of rates. In this waveform we use a $2/3$ rate codec with a contraint lenght $K=4$. The output bits size, when the encoder finishes at the zero state,would be: $\textrm{Number of output bits}=3\times \textrm{Number of input bits} /2 +3\times 4$ |
|---|
| 109 | |
|---|
| 110 | |
|---|
| 111 | \paragraph{DigitalModulator1/DigitalDemodulator1} |
|---|
| 112 | Modulates/demodulates bits/symbols into symbols/bits respectively. |
|---|
| 113 | \paragraph{amplifier1} |
|---|
| 114 | Multiplies the input signal by a gain number. In this waveform the gain is 0.2 in order to ensure that subsequent processing of the modulator's output does not get out of the +/-32767 range of the short int datatype used. |
|---|
| 115 | |
|---|
| 116 | \subsubsection{Builting the waveform} |
|---|
| 117 | \begin{enumerate} |
|---|
| 118 | \item Start OEF |
|---|
| 119 | \item File $\rightarrow$ New $\rightarrow$ OSSIE Waveform |
|---|
| 120 | \item Project name: ``OSSIETalkStep1'' |
|---|
| 121 | \item Add the following components in the waveform panel:OSSIETalk, PacketResizer, Conv\_Enc, DigitalModulator, FrameAssembler, amplifier,Channel, DigitalDemodulator, and Conv\_Dec |
|---|
| 122 | \item Add the default\_GPP\_USRP\_node to the platform panel |
|---|
| 123 | \item Expand the the node, and add all the components, one by one, the the GPP device. |
|---|
| 124 | \item Set the OSSIETalk component as the assemply controler |
|---|
| 125 | \item Make the following connections: |
|---|
| 126 | \begin{enumerate} |
|---|
| 127 | \item OSSIETalk1.to\_radio $\rightarrow$ PacketResizer1.packet\_in |
|---|
| 128 | \item PacketResizer1.packet\_out $\rightarrow$ Conv\_Enc1.bits\_to\_Enc |
|---|
| 129 | \item Conv\_Enc1.encoded\_bits $\rightarrow$ DigitalModulator1.bitsin |
|---|
| 130 | \item DigitalModulator1.symbolsOut $\rightarrow$ FrameAssembler1.SymbolsIn |
|---|
| 131 | \item FrameAssembler1.FrameSymbolsOut $\rightarrow$ amplifier1.datain |
|---|
| 132 | \item amplifer1.dataout $\rightarrow$ Channel1.data\_in |
|---|
| 133 | \item Channel1.data\_out $\rightarrow$ DigitalDemodulator1.SymbolsIn |
|---|
| 134 | \item DigitalDemodulator1.DataBitsOut $\rightarrow$ Conv\_Dec1.bits\_to\_dec\_in |
|---|
| 135 | \item Conv\_Dec1.decoded\_bits $\rightarrow$ OSSIETalk1.from\_radio |
|---|
| 136 | \end{enumerate} |
|---|
| 137 | \end{enumerate} |
|---|
| 138 | \subsubsection{Component Properties} |
|---|
| 139 | For each component set the listed properties. |
|---|
| 140 | \paragraph{PacketResizer1} |
|---|
| 141 | \begin{verbatim} |
|---|
| 142 | Packet Size=256 |
|---|
| 143 | \end{verbatim} |
|---|
| 144 | |
|---|
| 145 | \paragraph{Conv\_Enc1 and Conv\_Dec1} |
|---|
| 146 | \begin{verbatim} |
|---|
| 147 | mode=1 |
|---|
| 148 | rate_index=3 |
|---|
| 149 | \end{verbatim} |
|---|
| 150 | |
|---|
| 151 | \paragraph{DigitalModulato1} |
|---|
| 152 | \begin{verbatim} |
|---|
| 153 | ModScheme=QPSK |
|---|
| 154 | \end{verbatim} |
|---|
| 155 | |
|---|
| 156 | |
|---|
| 157 | \paragraph{amplifier1} |
|---|
| 158 | \begin{verbatim} |
|---|
| 159 | I_gain=0.2 |
|---|
| 160 | Q_gain=0.2 |
|---|
| 161 | \end{verbatim} |
|---|
| 162 | |
|---|
| 163 | \paragraph{Channel1} |
|---|
| 164 | \begin{verbatim} |
|---|
| 165 | \end{verbatim} |
|---|
| 166 | |
|---|
| 167 | |
|---|
| 168 | \paragraph{DigitalDemodulator1} |
|---|
| 169 | \begin{verbatim} |
|---|
| 170 | DemodScheme=QPSK |
|---|
| 171 | \end{verbatim} |
|---|
| 172 | \subsubsection{Waveform Testing} |
|---|
| 173 | Run the waveform and press the ``Push to Talk'' button while talking at the microphone. You should hear your voice from the speakers. Note that the CVSD encoding used has an inherent distorsion. At 400000 noise power (20dB SNR) the any channel distorsion should is negligible. |
|---|
| 174 | Change the noise power to 1265000 (approx. 15dB SNR), the voice should be still comprehensible. |
|---|
| 175 | Change the noise power to 400000 (approx. 10dB SNR), voice will come through. |
|---|
| 176 | Now change the rate\_index to the convolutional encoder/decoder to 6 (1/4), now the the voice should be comprehensible again. |
|---|
| 177 | |
|---|
| 178 | \subsection{Step 2} |
|---|
| 179 | \osfigvs{blockdiagram2}{Step 2 Block Diagram}{0.6} |
|---|
| 180 | \subsubsection{Overview} |
|---|
| 181 | In this step the waveform will be built up to the FrameAssembler component (TX side) and up to the AutomaticGainControl componet for the RX side. In a few words the waveform would include all the components up to the symbol level. The next step would add pulse shaping and over-the-air operation. This step still uses the Channel component for testing the waveform's operation. |
|---|
| 182 | |
|---|
| 183 | \osref{blockdiagram2} provides the block diagram of the waveform. The following additional components are used: |
|---|
| 184 | \paragraph{FrameAssembler1} |
|---|
| 185 | Adds headers for syncronization, modulation and frame size identification. It supports four frame sizes. |
|---|
| 186 | |
|---|
| 187 | \paragraph{FrameSynchronizer1} |
|---|
| 188 | Performs carrier recovery, symbol sychnronization and extracts the frame information added by the FrameAssembler component. |
|---|
| 189 | |
|---|
| 190 | \paragraph{AutomaticGainControl1} |
|---|
| 191 | Automatically adjusts the input signal level amplification |
|---|
| 192 | |
|---|
| 193 | \begin{enumerate} |
|---|
| 194 | \item Start OEF |
|---|
| 195 | \item File $\rightarrow$ New $\rightarrow$ OSSIE Waveform |
|---|
| 196 | \item Project name: ``OSSIETalkStep2'' |
|---|
| 197 | \item Add the following components in the waveform panel:OSSIETalk, PacketResizer, Conv\_Enc, DigitalModulator, FrameAssembler, amplifier, Channel, AutomaticGainControl, FrameSynchronizer, DigitalDemodulator, and Conv\_Dec |
|---|
| 198 | \item Add the default\_GPP\_USRP\_node to the platform panel |
|---|
| 199 | \item Expand the the node, and add all the components, one by one, the the GPP device. |
|---|
| 200 | \item Set the USRPTalk as the assemply controler |
|---|
| 201 | \item Make the following connections: |
|---|
| 202 | \begin{enumerate} |
|---|
| 203 | \item OSSIETalk1.to\_radio $\rightarrow$ PacketResizer1.packet\_in |
|---|
| 204 | \item PacketResizer1.packet\_out $\rightarrow$ Conv\_Enc1.bits\_to\_Enc |
|---|
| 205 | \item Conv\_Enc1.encoded\_bits $\rightarrow$ DigitalModulator1.bitsin |
|---|
| 206 | \item DigitalModulator1.symbolsOut $\rightarrow$ FrameAssembler1.SymbolsIn |
|---|
| 207 | \item FrameAssembler1.FrameSymbolsOut $\rightarrow$ amplifier1.datain |
|---|
| 208 | \item amplifer1.dataout $\rightarrow$ Channel1.data\_in |
|---|
| 209 | \item Channel1.data\_out $\rightarrow$ Decimator1.outData |
|---|
| 210 | \item Decimator1.outData $\rightarrow$ AutomaticGainControl1.data\_in |
|---|
| 211 | \item AutomaticGainControl1.data\_out $\rightarrow$ FrameSynchronizer1.IF\_in |
|---|
| 212 | \item FrameSynchronizer1.symbols\_out $\rightarrow$ DigitalDemodulator1.SymbolsIn |
|---|
| 213 | \item DigitalDemodulator1.DataBitsOut $\rightarrow$ Conv\_Dec1.bits\_to\_dec\_in |
|---|
| 214 | \item Conv\_Dec1.decoded\_bits $\rightarrow$ OSSIETalk1.from\_radio |
|---|
| 215 | \end{enumerate} |
|---|
| 216 | \end{enumerate} |
|---|
| 217 | \subsubsection{Component Properties} |
|---|
| 218 | For each component set the listed properties. For the components that are not listed, used the properties from the previous step. |
|---|
| 219 | \paragraph{FrameAssembler1} |
|---|
| 220 | \begin{verbatim} |
|---|
| 221 | FrameSizeOption1=512 |
|---|
| 222 | FrameSizeOption2=1584 |
|---|
| 223 | FrameSizeOption3=3168 |
|---|
| 224 | FrameSizeOption4=6336 |
|---|
| 225 | mod_type=QPSK |
|---|
| 226 | FrameOptionNumber=3 |
|---|
| 227 | \end{verbatim} |
|---|
| 228 | |
|---|
| 229 | |
|---|
| 230 | \paragraph{AutomaticGainControl1} |
|---|
| 231 | \begin{verbatim} |
|---|
| 232 | rssi_pass=1 |
|---|
| 233 | g_max=2000 |
|---|
| 234 | g_min=0.5 |
|---|
| 235 | k_release=0.002 |
|---|
| 236 | k_attack=0.01 |
|---|
| 237 | energy_hi=10000 |
|---|
| 238 | energy_lo=10000 |
|---|
| 239 | \end{verbatim} |
|---|
| 240 | |
|---|
| 241 | \paragraph{FrameSynchronizer1} |
|---|
| 242 | \begin{verbatim} |
|---|
| 243 | BufferSize=198 |
|---|
| 244 | FrameSizeOption1=512 |
|---|
| 245 | FrameSizeOption2=1584 |
|---|
| 246 | FrameSizeOption3=3168 |
|---|
| 247 | FrameSizeOption4=6336 |
|---|
| 248 | Npfb=32 |
|---|
| 249 | beta=0.33 |
|---|
| 250 | m=4 |
|---|
| 251 | k=2 |
|---|
| 252 | pulse_shape=rrcos |
|---|
| 253 | \end{verbatim} |
|---|
| 254 | |
|---|
| 255 | \subsection{Step 3} |
|---|
| 256 | \osfigvs{blockdiagram3}{Block Diagram}{0.6} |
|---|
| 257 | |
|---|
| 258 | \subsection{Building the waveform} |
|---|
| 259 | \osfig{waveformOEF}{OEF Waveform Structure} |
|---|
| 260 | %\osfig{blockdiagram}{Block Diagram} |
|---|
| 261 | |
|---|
| 262 | \begin{enumerate} |
|---|
| 263 | \item Start OEF |
|---|
| 264 | \item File $\rightarrow$ New $\rightarrow$ OSSIE Waveform |
|---|
| 265 | \item Project name: ``OSSIETalkUSRP'' |
|---|
| 266 | \item Add the following components in the waveform panel:OSSIETalk, PacketResizer, Conv\_Enc, DigitalModulator, FrameAssembler, amplifier, Interpolator, USRP\_Commander, amplifier, Decimator, AutomaticGainControl, FrameSynchronizer, DigitalDemodulator, and Conv\_Dec |
|---|
| 267 | \item Add the default\_GPP\_USRP\_node to the platform panel |
|---|
| 268 | \item Expand the the node, and add all the components, one by one, the the GPP device. |
|---|
| 269 | \item Set the USRP\_Commander as the assemply controler |
|---|
| 270 | \item Make the following connections: |
|---|
| 271 | \begin{enumerate} |
|---|
| 272 | \item OSSIETalk1.to\_radio $\rightarrow$ PacketResizer1.packet\_in |
|---|
| 273 | \item PacketResizer1.packet\_out $\rightarrow$ Conv\_Enc1.bits\_to\_Enc |
|---|
| 274 | \item Conv\_Enc1.encoded\_bits $\rightarrow$ DigitalModulator1.bitsin |
|---|
| 275 | \item DigitalModulator1.symbolsOut $\rightarrow$ FrameAssembler1.SymbolsIn |
|---|
| 276 | \item FrameAssembler1.FrameSymbolsOut $\rightarrow$ amplifier1.datain |
|---|
| 277 | \item amplifer1.dataout $\rightarrow$ Interpolator1.inData |
|---|
| 278 | \item Interpolator1.outData $\rightarrow$ USRP1.TX\_Data |
|---|
| 279 | \item USRP\_Commander1.TX\_Control $\rightarrow$ USRP1.TX\_Control |
|---|
| 280 | \item USRP\_Commander1.RX\_Control $\rightarrow$ USRP1.RX\_Control |
|---|
| 281 | \item amplifier2.dataIn $\rightarrow$ USRP1.RX\_Data\_1 |
|---|
| 282 | \item amplifier2.dataOut $\rightarrow$ Decimator1.inData |
|---|
| 283 | \item Decimator1.outData $\rightarrow$ AutomaticGainControl1.data\_in |
|---|
| 284 | \item AutomaticGainControl1.data\_out $\rightarrow$ FrameSynchronizer1.IF\_in |
|---|
| 285 | \item FrameSynchronizer1.symbols\_out $\rightarrow$ DigitalDemodulator1.SymbolsIn |
|---|
| 286 | \item DigitalDemodulator1.DataBitsOut $\rightarrow$ Conv\_Dec1.bits\_to\_dec\_in |
|---|
| 287 | \item Conv\_Dec1.decoded\_bits $\rightarrow$ OSSIETalk1.from\_radio |
|---|
| 288 | \end{enumerate} |
|---|
| 289 | \end{enumerate} |
|---|
| 290 | \subsubsection{Component Properties} |
|---|
| 291 | For each component set the listed properties. |
|---|
| 292 | \paragraph{PacketResizer1} |
|---|
| 293 | \begin{verbatim} |
|---|
| 294 | Packet Size=256 |
|---|
| 295 | \end{verbatim} |
|---|
| 296 | |
|---|
| 297 | \paragraph{Conv\_Enc1 and Conv\_Dec1} |
|---|
| 298 | \begin{verbatim} |
|---|
| 299 | mode=1 |
|---|
| 300 | rate_index=3 |
|---|
| 301 | \end{verbatim} |
|---|
| 302 | |
|---|
| 303 | \paragraph{DigitalModulato1} |
|---|
| 304 | \begin{verbatim} |
|---|
| 305 | ModScheme=QPSK |
|---|
| 306 | \end{verbatim} |
|---|
| 307 | |
|---|
| 308 | \paragraph{FrameAssembler1} |
|---|
| 309 | \begin{verbatim} |
|---|
| 310 | FrameSizeOption1=512 |
|---|
| 311 | FrameSizeOption2=1584 |
|---|
| 312 | FrameSizeOption3=3168 |
|---|
| 313 | FrameSizeOption4=6336 |
|---|
| 314 | mod_type=QPSK |
|---|
| 315 | FrameOptionNumber=3 |
|---|
| 316 | \end{verbatim} |
|---|
| 317 | |
|---|
| 318 | \paragraph{amplifier1} |
|---|
| 319 | \begin{verbatim} |
|---|
| 320 | I_gain=0.2 |
|---|
| 321 | Q_gain=0.2 |
|---|
| 322 | \end{verbatim} |
|---|
| 323 | |
|---|
| 324 | \paragraph{Interpolator1} |
|---|
| 325 | \begin{verbatim} |
|---|
| 326 | beta=0.33 |
|---|
| 327 | m=4 |
|---|
| 328 | pulse_shape=rrcos |
|---|
| 329 | InterpFactor(k)=8 |
|---|
| 330 | \end{verbatim} |
|---|
| 331 | |
|---|
| 332 | \paragraph{USRP\_Commander1} |
|---|
| 333 | \begin{verbatim} |
|---|
| 334 | rx_start=1 |
|---|
| 335 | tx_start=1 |
|---|
| 336 | rx_gain=1 |
|---|
| 337 | rx_size=2048 |
|---|
| 338 | rx_decim=256 |
|---|
| 339 | tx_interp=512 |
|---|
| 340 | tx_freq=462.5625e6 |
|---|
| 341 | rx_freq=462.5625e6 |
|---|
| 342 | \end{verbatim} |
|---|
| 343 | |
|---|
| 344 | \paragraph{amplifer2} |
|---|
| 345 | \begin{verbatim} |
|---|
| 346 | I_gain=1 |
|---|
| 347 | Q_gain=-1 |
|---|
| 348 | \end{verbatim} |
|---|
| 349 | |
|---|
| 350 | \paragraph{Decimator1} |
|---|
| 351 | \begin{verbatim} |
|---|
| 352 | Filter Type=IIR |
|---|
| 353 | DecimateBy=4 |
|---|
| 354 | \end{verbatim} |
|---|
| 355 | |
|---|
| 356 | \paragraph{AutomaticGainControl1} |
|---|
| 357 | \begin{verbatim} |
|---|
| 358 | rssi_pass=1 |
|---|
| 359 | g_max=2000 |
|---|
| 360 | g_min=0.5 |
|---|
| 361 | k_release=0.002 |
|---|
| 362 | k_attack=0.01 |
|---|
| 363 | energy_hi=10000 |
|---|
| 364 | energy_lo=10000 |
|---|
| 365 | \end{verbatim} |
|---|
| 366 | |
|---|
| 367 | \paragraph{FrameSynchronizer1} |
|---|
| 368 | \begin{verbatim} |
|---|
| 369 | BufferSize=198 |
|---|
| 370 | FrameSizeOption1=512 |
|---|
| 371 | FrameSizeOption2=1584 |
|---|
| 372 | FrameSizeOption3=3168 |
|---|
| 373 | FrameSizeOption4=6336 |
|---|
| 374 | Npfb=32 |
|---|
| 375 | beta=0.33 |
|---|
| 376 | m=4 |
|---|
| 377 | k=2 |
|---|
| 378 | pulse_shape=rrcos |
|---|
| 379 | \end{verbatim} |
|---|
| 380 | |
|---|
| 381 | \paragraph{DigitalDemodulator1} |
|---|
| 382 | \begin{verbatim} |
|---|
| 383 | DemodScheme=QPSK |
|---|
| 384 | \end{verbatim} |
|---|
| 385 | \end{document} |
|---|