\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.