\doxysection{Puncturing}
\label{group__punct}\index{Puncturing@{Puncturing}}
\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ punct.\+h}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 puncturing header. \end{DoxyCompactList}\item 
file \textbf{ punct.\+c}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 puncturing implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gmr1\+\_\+puncturer}
\begin{DoxyCompactList}\small\item\em structure describing a puncturing code \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \textbf{ gmr1\+\_\+puncturer\+\_\+generate} (struct \textbf{ osmo\+\_\+conv\+\_\+code} $\ast$code, const struct \textbf{ gmr1\+\_\+puncturer} $\ast$punct\+\_\+pre, const struct \textbf{ gmr1\+\_\+puncturer} $\ast$punct\+\_\+main, const struct \textbf{ gmr1\+\_\+puncturer} $\ast$punct\+\_\+post, int repeat)
\begin{DoxyCompactList}\small\item\em Generate convolutional code puncturing array for a \textbf{ osmo\+\_\+conv\+\_\+code}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{group__punct_gaa03eb3f46b3027767323ccc546414c5b}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gabea6708a946be5c940ac734ef6a0238f}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaecda3c501174763dac7c5c646ea44690}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga77ed0b501d05b89717919e77cb66f55c}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P311}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gae61e6323084580be44337702851f0560}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P412}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga134d1e54bfe1d47a0841e6dbe9b27cd8}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps412}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaa8bce8b6ca73fc45c3c0c596037c1849}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaf6f62025e6ad2089904f214fea702a49}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga6b3c25e254784f342165a138f7b000a4}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+A}
\begin{DoxyCompactList}\small\item\em GMR-\/1 A puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga5fba7e4ebdfdf45715b68bc77ad55b56}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+B}
\begin{DoxyCompactList}\small\item\em GMR-\/1 B puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga3d7fe225e1e537f88f58220d8dd68076}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+C}
\begin{DoxyCompactList}\small\item\em GMR-\/1 C puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gad04e1754667748acd42c3fb6867dc09d}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+D}
\begin{DoxyCompactList}\small\item\em GMR-\/1 D puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga94c4d51e0dfe595be3d2505f64c3ea5c}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+E}
\begin{DoxyCompactList}\small\item\em GMR-\/1 E puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gadd9a431fb84f6c100472f428642cece3}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P38}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gac052cb5f0bd3f9f828b1c23d03ea4f22}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P26}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga04fe577ed7854a24812ccc020b7777cc}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P37}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga6288534135f6da5447232a7b5337448f}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P16}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga9118d1c2fa81fdaf5f15ffc633e66a88}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga8f444be2364421750572d3b2b3e4d442}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P15}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaa4d4874e4d1a51d70b1d67113f0bfeb2}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+Ps15}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaa4798a84b9662a863f7cfeaa6206aba5}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P78}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga9d6d7b1b48148bb4cc4678790a68b5ff}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga0c42fa663dd288c81566d1616420e3fb}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P53}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga589d0f7c6ab25753c32664969414f1fd}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+Ps53}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga97a416384feb6b6e73215576b377faa5}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga2db6a1bba45111d8398a77a8ea8dc72d}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P410}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga069c9fc93f97ac8f81874ad3486d8e2c}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P512}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gac001aebb5c9026aa629a95146427736a}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P116}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gad360cd4e2a33eedc63954a5a8731d1ac}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P148}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;48) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga642a5293a4366ad2c0eddadc92cac23b}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P184}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;84) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gafecfb0fbfb4f49c8a370362b98bb5aff}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P1152}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;152) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga0eb3ce9d40905c17c808223aac3a5543}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga6ec3a6b25235d2e5bac464c1f7a1fe85}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P245}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga6de89b61b5d5cd075a2edfa5da3acb8d}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P13}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga4aefdbb9d3ed87e0e57bff3289700de1}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P47}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaf7fd0ce78be41fd48a1509a477ff7c0c}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P34}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga793c265d459c6c7d263edfd9fa5d82c8}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P17}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga2864cbf423bbdf1aa723b865aa5670cf}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P19}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaca082b213957ed2b9f2ea17c74ff76c5}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P26}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaa7ef8a86ffc3fe190ba8e501cc161208}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P110}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga78cb3a5553a7c084c637e1845049c2a3}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P14}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaac0e2e21cdb173c9f7b8ce64b4fcad3a}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga2d84992ac096d9b4fe041d0a9aaf33df}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P234}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga780e4af9db89c4bb51808bd2a35fa593}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k6\+\_\+14\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gadf567a87a9c00c73dbb132863871c24c}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P148}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga767c7a63fdd42bcf8e9e3b8da7e8dbe7}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P65}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga3221eef995a6154b1a5976b64e17f269}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga868634869b605e0b4ab7694d11f816da}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P1213}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga073c0a4550a5f828a5eac48b9e3ca06c}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P44}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga5cc77e83e90a1186a931981b40aa9f1e}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P33}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gaa9d92cbd0a8bbeedb9cd7860e3422f17}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P65}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P311}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P412}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps412}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+A}
\begin{DoxyCompactList}\small\item\em GMR-\/1 A puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+B}
\begin{DoxyCompactList}\small\item\em GMR-\/1 B puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+C}
\begin{DoxyCompactList}\small\item\em GMR-\/1 C puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+D}
\begin{DoxyCompactList}\small\item\em GMR-\/1 D puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+E}
\begin{DoxyCompactList}\small\item\em GMR-\/1 E puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P38}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P26}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P37}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P16}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P15}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+Ps15}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P78}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P53}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+Ps53}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P410}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P512}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P116}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gad360cd4e2a33eedc63954a5a8731d1ac}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P148}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;48) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_ga642a5293a4366ad2c0eddadc92cac23b}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P184}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;84) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
\mbox{\label{group__punct_gafecfb0fbfb4f49c8a370362b98bb5aff}} 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P1152}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;152) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P245}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P13}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P47}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P34}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P17}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P19}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P26}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P110}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P14}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P234}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k6\+\_\+14\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P148}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P65}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P1213}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P44}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P33}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} \textbf{ gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P65}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\label{group__punct_ga95a97b9c89435bf6826fdeb21d881ff2}} 
\index{Puncturing@{Puncturing}!gmr1\_puncturer\_generate@{gmr1\_puncturer\_generate}}
\index{gmr1\_puncturer\_generate@{gmr1\_puncturer\_generate}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_puncturer\_generate()}
{\footnotesize\ttfamily int gmr1\+\_\+puncturer\+\_\+generate (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+conv\+\_\+code} $\ast$}]{code,  }\item[{const struct \textbf{ gmr1\+\_\+puncturer} $\ast$}]{punct\+\_\+pre,  }\item[{const struct \textbf{ gmr1\+\_\+puncturer} $\ast$}]{punct\+\_\+main,  }\item[{const struct \textbf{ gmr1\+\_\+puncturer} $\ast$}]{punct\+\_\+post,  }\item[{int}]{repeat }\end{DoxyParamCaption})}



Generate convolutional code puncturing array for a \textbf{ osmo\+\_\+conv\+\_\+code}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em code} & The code for which to generate the puncturing array \\
\hline
\mbox{\texttt{ in}}  & {\em punct\+\_\+pre} & The puncturing scheme for first block (can be NULL) \\
\hline
\mbox{\texttt{ in}}  & {\em punct\+\_\+main} & The puncturing scheme \\
\hline
\mbox{\texttt{ in}}  & {\em punct\+\_\+post} & The puncturing scheme for last block (can be NULL) \\
\hline
\mbox{\texttt{ in}}  & {\em repeat} & How many time to apply main punctured (0 = auto) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 for success, $<$0 for error codes.
\end{DoxyReturn}
The array is allocated with malloc and must be free\textquotesingle{}d by the caller when no longer required. 

References \textbf{ gmr1\+\_\+puncturer\+::L}, \textbf{ gmr1\+\_\+puncturer\+::mask}, \textbf{ osmo\+\_\+conv\+\_\+code\+::N}, \textbf{ gmr1\+\_\+puncturer\+::N}, \textbf{ osmo\+\_\+conv\+\_\+get\+\_\+output\+\_\+length()}, \textbf{ osmo\+\_\+conv\+\_\+code\+::puncture}, and \textbf{ gmr1\+\_\+puncturer\+::r}.



\doxysubsection{Variable Documentation}
\mbox{\label{group__punct_ga6b3c25e254784f342165a138f7b000a4}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_A@{gmr1\_punct\_k5\_12\_A}}
\index{gmr1\_punct\_k5\_12\_A@{gmr1\_punct\_k5\_12\_A}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_A}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+A}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 0,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 A puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga5fba7e4ebdfdf45715b68bc77ad55b56}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_B@{gmr1\_punct\_k5\_12\_B}}
\index{gmr1\_punct\_k5\_12\_B@{gmr1\_punct\_k5\_12\_B}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_B}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+B}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 B puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga3d7fe225e1e537f88f58220d8dd68076}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_C@{gmr1\_punct\_k5\_12\_C}}
\index{gmr1\_punct\_k5\_12\_C@{gmr1\_punct\_k5\_12\_C}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_C}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+C}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 C puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gad04e1754667748acd42c3fb6867dc09d}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_D@{gmr1\_punct\_k5\_12\_D}}
\index{gmr1\_punct\_k5\_12\_D@{gmr1\_punct\_k5\_12\_D}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_D}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+D}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 D puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga94c4d51e0dfe595be3d2505f64c3ea5c}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_E@{gmr1\_punct\_k5\_12\_E}}
\index{gmr1\_punct\_k5\_12\_E@{gmr1\_punct\_k5\_12\_E}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_E}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+E}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 2,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 E puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaa8bce8b6ca73fc45c3c0c596037c1849}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P12@{gmr1\_punct\_k5\_12\_P12}}
\index{gmr1\_punct\_k5\_12\_P12@{gmr1\_punct\_k5\_12\_P12}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P12}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P12}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 2,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaa03eb3f46b3027767323ccc546414c5b}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P23@{gmr1\_punct\_k5\_12\_P23}}
\index{gmr1\_punct\_k5\_12\_P23@{gmr1\_punct\_k5\_12\_P23}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P23}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P23}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gabea6708a946be5c940ac734ef6a0238f}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P25@{gmr1\_punct\_k5\_12\_P25}}
\index{gmr1\_punct\_k5\_12\_P25@{gmr1\_punct\_k5\_12\_P25}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P25}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P25}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gac052cb5f0bd3f9f828b1c23d03ea4f22}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P26@{gmr1\_punct\_k5\_12\_P26}}
\index{gmr1\_punct\_k5\_12\_P26@{gmr1\_punct\_k5\_12\_P26}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P26}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P26}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 6,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga77ed0b501d05b89717919e77cb66f55c}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P311@{gmr1\_punct\_k5\_12\_P311}}
\index{gmr1\_punct\_k5\_12\_P311@{gmr1\_punct\_k5\_12\_P311}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P311}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P311}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 11,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga04fe577ed7854a24812ccc020b7777cc}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P37@{gmr1\_punct\_k5\_12\_P37}}
\index{gmr1\_punct\_k5\_12\_P37@{gmr1\_punct\_k5\_12\_P37}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P37}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P37}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 7,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gadd9a431fb84f6c100472f428642cece3}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P38@{gmr1\_punct\_k5\_12\_P38}}
\index{gmr1\_punct\_k5\_12\_P38@{gmr1\_punct\_k5\_12\_P38}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P38}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P38}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 8,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gae61e6323084580be44337702851f0560}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_P412@{gmr1\_punct\_k5\_12\_P412}}
\index{gmr1\_punct\_k5\_12\_P412@{gmr1\_punct\_k5\_12\_P412}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_P412}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P412}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 12,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaf6f62025e6ad2089904f214fea702a49}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_Ps12@{gmr1\_punct\_k5\_12\_Ps12}}
\index{gmr1\_punct\_k5\_12\_Ps12@{gmr1\_punct\_k5\_12\_Ps12}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_Ps12}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps12}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 2,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaecda3c501174763dac7c5c646ea44690}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_Ps25@{gmr1\_punct\_k5\_12\_Ps25}}
\index{gmr1\_punct\_k5\_12\_Ps25@{gmr1\_punct\_k5\_12\_Ps25}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_Ps25}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps25}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga134d1e54bfe1d47a0841e6dbe9b27cd8}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_12\_Ps412@{gmr1\_punct\_k5\_12\_Ps412}}
\index{gmr1\_punct\_k5\_12\_Ps412@{gmr1\_punct\_k5\_12\_Ps412}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_12\_Ps412}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps412}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 12,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga8f444be2364421750572d3b2b3e4d442}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_13\_P15@{gmr1\_punct\_k5\_13\_P15}}
\index{gmr1\_punct\_k5\_13\_P15@{gmr1\_punct\_k5\_13\_P15}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_13\_P15}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P15}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder. 

\mbox{\label{group__punct_ga6288534135f6da5447232a7b5337448f}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_13\_P16@{gmr1\_punct\_k5\_13\_P16}}
\index{gmr1\_punct\_k5\_13\_P16@{gmr1\_punct\_k5\_13\_P16}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_13\_P16}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P16}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 6,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder. 

\mbox{\label{group__punct_ga9118d1c2fa81fdaf5f15ffc633e66a88}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_13\_P25@{gmr1\_punct\_k5\_13\_P25}}
\index{gmr1\_punct\_k5\_13\_P25@{gmr1\_punct\_k5\_13\_P25}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_13\_P25}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P25}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder. 

\mbox{\label{group__punct_gaa4798a84b9662a863f7cfeaa6206aba5}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_13\_P78@{gmr1\_punct\_k5\_13\_P78}}
\index{gmr1\_punct\_k5\_13\_P78@{gmr1\_punct\_k5\_13\_P78}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_13\_P78}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P78}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 7,}
\DoxyCodeLine{        .L = 8,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 0, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder. 

\mbox{\label{group__punct_gaa4d4874e4d1a51d70b1d67113f0bfeb2}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_13\_Ps15@{gmr1\_punct\_k5\_13\_Ps15}}
\index{gmr1\_punct\_k5\_13\_Ps15@{gmr1\_punct\_k5\_13\_Ps15}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_13\_Ps15}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+Ps15}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder. 

\mbox{\label{group__punct_ga9d6d7b1b48148bb4cc4678790a68b5ff}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_15\_P23@{gmr1\_punct\_k5\_15\_P23}}
\index{gmr1\_punct\_k5\_15\_P23@{gmr1\_punct\_k5\_15\_P23}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_15\_P23}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P23}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 5,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 1, 1, 1,}
\DoxyCodeLine{                1, 1, 0, 1, 1,}
\DoxyCodeLine{                1, 1, 1, 1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder. 

\mbox{\label{group__punct_ga0c42fa663dd288c81566d1616420e3fb}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_15\_P53@{gmr1\_punct\_k5\_15\_P53}}
\index{gmr1\_punct\_k5\_15\_P53@{gmr1\_punct\_k5\_15\_P53}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_15\_P53}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P53}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 5,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 5,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 1, 0, 1,}
\DoxyCodeLine{                1, 0, 0, 1, 1,}
\DoxyCodeLine{                1, 1, 1, 0, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder. 

\mbox{\label{group__punct_ga589d0f7c6ab25753c32664969414f1fd}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k5\_15\_Ps53@{gmr1\_punct\_k5\_15\_Ps53}}
\index{gmr1\_punct\_k5\_15\_Ps53@{gmr1\_punct\_k5\_15\_Ps53}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k5\_15\_Ps53}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+Ps53}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 5,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 5,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 1, 0, 0,}
\DoxyCodeLine{                1, 0, 0, 1, 1,}
\DoxyCodeLine{                1, 1, 1, 0, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder. 

\mbox{\label{group__punct_ga780e4af9db89c4bb51808bd2a35fa593}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k6\_14\_P45@{gmr1\_punct\_k6\_14\_P45}}
\index{gmr1\_punct\_k6\_14\_P45@{gmr1\_punct\_k6\_14\_P45}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k6\_14\_P45}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k6\+\_\+14\+\_\+\+P45}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 4,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0, 1, 1,}
\DoxyCodeLine{                1, 0, 1, 1,}
\DoxyCodeLine{                1, 1, 1, 0,}
\DoxyCodeLine{                1, 1, 1, 1,}
\DoxyCodeLine{                1, 1, 1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder. 

\mbox{\label{group__punct_gac001aebb5c9026aa629a95146427736a}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k7\_12\_P116@{gmr1\_punct\_k7\_12\_P116}}
\index{gmr1\_punct\_k7\_12\_P116@{gmr1\_punct\_k7\_12\_P116}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k7\_12\_P116}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P116}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 16,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga97a416384feb6b6e73215576b377faa5}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k7\_12\_P23@{gmr1\_punct\_k7\_12\_P23}}
\index{gmr1\_punct\_k7\_12\_P23@{gmr1\_punct\_k7\_12\_P23}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k7\_12\_P23}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P23}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga6ec3a6b25235d2e5bac464c1f7a1fe85}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k7\_12\_P245@{gmr1\_punct\_k7\_12\_P245}}
\index{gmr1\_punct\_k7\_12\_P245@{gmr1\_punct\_k7\_12\_P245}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k7\_12\_P245}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P245}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga2db6a1bba45111d8398a77a8ea8dc72d}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k7\_12\_P410@{gmr1\_punct\_k7\_12\_P410}}
\index{gmr1\_punct\_k7\_12\_P410@{gmr1\_punct\_k7\_12\_P410}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k7\_12\_P410}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P410}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 10,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga0eb3ce9d40905c17c808223aac3a5543}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k7\_12\_P45@{gmr1\_punct\_k7\_12\_P45}}
\index{gmr1\_punct\_k7\_12\_P45@{gmr1\_punct\_k7\_12\_P45}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k7\_12\_P45}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P45}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga069c9fc93f97ac8f81874ad3486d8e2c}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k7\_12\_P512@{gmr1\_punct\_k7\_12\_P512}}
\index{gmr1\_punct\_k7\_12\_P512@{gmr1\_punct\_k7\_12\_P512}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k7\_12\_P512}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P512}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 5,}
\DoxyCodeLine{        .L = 12,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaa7ef8a86ffc3fe190ba8e501cc161208}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P110@{gmr1\_punct\_k9\_12\_P110}}
\index{gmr1\_punct\_k9\_12\_P110@{gmr1\_punct\_k9\_12\_P110}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P110}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P110}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 10,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga6de89b61b5d5cd075a2edfa5da3acb8d}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P13@{gmr1\_punct\_k9\_12\_P13}}
\index{gmr1\_punct\_k9\_12\_P13@{gmr1\_punct\_k9\_12\_P13}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P13}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P13}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga78cb3a5553a7c084c637e1845049c2a3}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P14@{gmr1\_punct\_k9\_12\_P14}}
\index{gmr1\_punct\_k9\_12\_P14@{gmr1\_punct\_k9\_12\_P14}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P14}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P14}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga793c265d459c6c7d263edfd9fa5d82c8}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P17@{gmr1\_punct\_k9\_12\_P17}}
\index{gmr1\_punct\_k9\_12\_P17@{gmr1\_punct\_k9\_12\_P17}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P17}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P17}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 7,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga2864cbf423bbdf1aa723b865aa5670cf}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P19@{gmr1\_punct\_k9\_12\_P19}}
\index{gmr1\_punct\_k9\_12\_P19@{gmr1\_punct\_k9\_12\_P19}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P19}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P19}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 9,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga2d84992ac096d9b4fe041d0a9aaf33df}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P234@{gmr1\_punct\_k9\_12\_P234}}
\index{gmr1\_punct\_k9\_12\_P234@{gmr1\_punct\_k9\_12\_P234}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P234}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P234}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaca082b213957ed2b9f2ea17c74ff76c5}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P26@{gmr1\_punct\_k9\_12\_P26}}
\index{gmr1\_punct\_k9\_12\_P26@{gmr1\_punct\_k9\_12\_P26}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P26}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P26}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 2,}
\DoxyCodeLine{        .L = 6,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaf7fd0ce78be41fd48a1509a477ff7c0c}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P34@{gmr1\_punct\_k9\_12\_P34}}
\index{gmr1\_punct\_k9\_12\_P34@{gmr1\_punct\_k9\_12\_P34}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P34}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P34}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_gaac0e2e21cdb173c9f7b8ce64b4fcad3a}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P45@{gmr1\_punct\_k9\_12\_P45}}
\index{gmr1\_punct\_k9\_12\_P45@{gmr1\_punct\_k9\_12\_P45}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P45}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P45}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga4aefdbb9d3ed87e0e57bff3289700de1}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_12\_P47@{gmr1\_punct\_k9\_12\_P47}}
\index{gmr1\_punct\_k9\_12\_P47@{gmr1\_punct\_k9\_12\_P47}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_12\_P47}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P47}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 7,}
\DoxyCodeLine{        .N = 2,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{                1, 1,}
\DoxyCodeLine{                1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder. 

\mbox{\label{group__punct_ga3221eef995a6154b1a5976b64e17f269}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_13\_P12@{gmr1\_punct\_k9\_13\_P12}}
\index{gmr1\_punct\_k9\_13\_P12@{gmr1\_punct\_k9\_13\_P12}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_13\_P12}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P12}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 1,}
\DoxyCodeLine{        .L = 2,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder. 

\mbox{\label{group__punct_ga868634869b605e0b4ab7694d11f816da}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_13\_P1213@{gmr1\_punct\_k9\_13\_P1213}}
\index{gmr1\_punct\_k9\_13\_P1213@{gmr1\_punct\_k9\_13\_P1213}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_13\_P1213}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P1213}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 12,}
\DoxyCodeLine{        .L = 13,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder. 

\mbox{\label{group__punct_ga5cc77e83e90a1186a931981b40aa9f1e}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_13\_P33@{gmr1\_punct\_k9\_13\_P33}}
\index{gmr1\_punct\_k9\_13\_P33@{gmr1\_punct\_k9\_13\_P33}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_13\_P33}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P33}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 3,}
\DoxyCodeLine{        .L = 3,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder. 

\mbox{\label{group__punct_ga073c0a4550a5f828a5eac48b9e3ca06c}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_13\_P44@{gmr1\_punct\_k9\_13\_P44}}
\index{gmr1\_punct\_k9\_13\_P44@{gmr1\_punct\_k9\_13\_P44}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_13\_P44}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P44}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 4,}
\DoxyCodeLine{        .L = 4,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder. 

\mbox{\label{group__punct_gaa9d92cbd0a8bbeedb9cd7860e3422f17}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_13\_P65@{gmr1\_punct\_k9\_13\_P65}}
\index{gmr1\_punct\_k9\_13\_P65@{gmr1\_punct\_k9\_13\_P65}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_13\_P65}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P65}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 6,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 3,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0, 1,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 0, 0,}
\DoxyCodeLine{                0, 1, 1,}
\DoxyCodeLine{                1, 1, 0,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder. 

\mbox{\label{group__punct_gadf567a87a9c00c73dbb132863871c24c}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_14\_P148@{gmr1\_punct\_k9\_14\_P148}}
\index{gmr1\_punct\_k9\_14\_P148@{gmr1\_punct\_k9\_14\_P148}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_14\_P148}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P148}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 14,}
\DoxyCodeLine{        .L = 8,}
\DoxyCodeLine{        .N = 4,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                1, 0, 0, 1,}
\DoxyCodeLine{                1, 0, 1, 0,}
\DoxyCodeLine{                1, 0, 1, 0,}
\DoxyCodeLine{                1, 0, 0, 1,}
\DoxyCodeLine{                1, 1, 0, 1,}
\DoxyCodeLine{                1, 0, 0, 1,}
\DoxyCodeLine{                1, 0, 0, 1,}
\DoxyCodeLine{                1, 1, 0, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder. 

\mbox{\label{group__punct_ga767c7a63fdd42bcf8e9e3b8da7e8dbe7}} 
\index{Puncturing@{Puncturing}!gmr1\_punct\_k9\_14\_P65@{gmr1\_punct\_k9\_14\_P65}}
\index{gmr1\_punct\_k9\_14\_P65@{gmr1\_punct\_k9\_14\_P65}!Puncturing@{Puncturing}}
\doxysubsubsection{gmr1\_punct\_k9\_14\_P65}
{\footnotesize\ttfamily const struct \textbf{ gmr1\+\_\+puncturer} gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P65}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .r = 6,}
\DoxyCodeLine{        .L = 5,}
\DoxyCodeLine{        .N = 4,}
\DoxyCodeLine{        .mask = \{}
\DoxyCodeLine{                0, 1, 1, 1,}
\DoxyCodeLine{                1, 0, 1, 1,}
\DoxyCodeLine{                1, 1, 1, 1,}
\DoxyCodeLine{                0, 0, 1, 0,}
\DoxyCodeLine{                1, 0, 1, 1,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder. 

