\doxysection{include/osmocom/gmr1/sdr/pi4cxpsk.h File Reference} \label{pi4cxpsk_8h}\index{include/osmocom/gmr1/sdr/pi4cxpsk.h@{include/osmocom/gmr1/sdr/pi4cxpsk.h}} Osmocom GMR-\/1 pi2-\/\+CBPSK, pi4-\/\+CBPSK and pi4-\/\+CQPSK modulation support header. {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/bits.\+h$>$}\newline {\ttfamily \#include $<$osmocom/dsp/cxvec.\+h$>$}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+symbol} \begin{DoxyCompactList}\small\item\em pi4-\/\+Cx\+PSK symbol description \end{DoxyCompactList}\item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+modulation} \begin{DoxyCompactList}\small\item\em pi4-\/\+Cx\+PSK modulation description \end{DoxyCompactList}\item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+sync} \begin{DoxyCompactList}\small\item\em pi4-\/\+Cx\+PSK Synchronization sequence segment description \end{DoxyCompactList}\item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+data} \begin{DoxyCompactList}\small\item\em pi4-\/\+Cx\+PSK Data segment description \end{DoxyCompactList}\item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+burst} \begin{DoxyCompactList}\small\item\em pi4-\/\+Cx\+PSK Burst format description \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define {\bfseries GMR1\+\_\+\+MAX\+\_\+\+SYM\+\_\+\+EBITS}~2 \begin{DoxyCompactList}\small\item\em Max e bits in a symbol. \end{DoxyCompactList}\item \#define {\bfseries GMR1\+\_\+\+MAX\+\_\+\+SYNC}~4 \begin{DoxyCompactList}\small\item\em Max diff. sync seqs ~\newline \end{DoxyCompactList}\item \#define {\bfseries GMR1\+\_\+\+MAX\+\_\+\+SYNC\+\_\+\+SYMS}~32 \begin{DoxyCompactList}\small\item\em Max sym in a sync seq ~\newline \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item int \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+demod} (struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+burst} $\ast$burst\+\_\+type, struct \textbf{ osmo\+\_\+cxvec} $\ast$burst\+\_\+in, int sps, float freq\+\_\+shift, \textbf{ sbit\+\_\+t} $\ast$ebits, int $\ast$sync\+\_\+id\+\_\+p, float $\ast$toa\+\_\+p, float $\ast$freq\+\_\+err\+\_\+p) \begin{DoxyCompactList}\small\item\em All-\/in-\/one pi4-\/\+Cx\+PSK demodulation method. \end{DoxyCompactList}\item int \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+detect} (struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+burst} $\ast$$\ast$burst\+\_\+types, float e\+\_\+toa, struct \textbf{ osmo\+\_\+cxvec} $\ast$burst\+\_\+in, int sps, float freq\+\_\+shift, int $\ast$bt\+\_\+id\+\_\+p, int $\ast$sync\+\_\+id\+\_\+p, float $\ast$toa\+\_\+p) \begin{DoxyCompactList}\small\item\em Try to identify burst type by matching training sequences. \end{DoxyCompactList}\item int \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+mod\+\_\+order} (struct \textbf{ osmo\+\_\+cxvec} $\ast$burst\+\_\+in, int sps, float freq\+\_\+shift) \begin{DoxyCompactList}\small\item\em Estimates modulation order by comparing power of x$^\wedge$2 vs x$^\wedge$4. \end{DoxyCompactList}\item int \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+mod} (struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+burst} $\ast$burst\+\_\+type, \textbf{ ubit\+\_\+t} $\ast$ebits, int sync\+\_\+id, struct \textbf{ osmo\+\_\+cxvec} $\ast$burst\+\_\+out) \begin{DoxyCompactList}\small\item\em Modulates (currently at 1 sps) \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+modulation} {\bfseries gmr1\+\_\+pi2cbpsk} \begin{DoxyCompactList}\small\item\em pi2-\/\+CBPSK modulation description \end{DoxyCompactList}\item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+modulation} {\bfseries gmr1\+\_\+pi4cbpsk} \begin{DoxyCompactList}\small\item\em pi4-\/\+CBPSK modulation description \end{DoxyCompactList}\item struct \textbf{ gmr1\+\_\+pi4cxpsk\+\_\+modulation} {\bfseries gmr1\+\_\+pi4cqpsk} \begin{DoxyCompactList}\small\item\em pi4-\/\+CQPSK modulation description \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} Osmocom GMR-\/1 pi2-\/\+CBPSK, pi4-\/\+CBPSK and pi4-\/\+CQPSK modulation support header.