Commit b61e8007 authored by Florian Kaltenberger's avatar Florian Kaltenberger

adding LDPC encoder and decoder (from mwc18 branch)

parent 4b0a1c06
......@@ -1064,12 +1064,18 @@ set(PHY_TURBOSRC
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder.c
)
set(PHY_LDPCSRC
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_generate_coefficient.c
)
set(PHY_TURBOIF
${OPENAIR1_DIR}/PHY/CODING/coding_load.c
)
add_library(coding MODULE ${PHY_TURBOSRC} )
add_library(coding MODULE ${PHY_TURBOSRC} ${PHY_LDPCSRC})
set(PHY_SRC
# depend on code generation from asn1c
${RRC_FULL_DIR}/asn1_constants.h
......
This diff is collapsed.
This diff is collapsed.
%
% Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
% contributor license agreements. See the NOTICE file distributed with
% this work for additional information regarding copyright ownership.
% The OpenAirInterface Software Alliance licenses this file to You under
% the OAI Public License, Version 1.1 (the "License"); you may not use this file
% except in compliance with the License.
% You may obtain a copy of the License at
%
% http://www.openairinterface.org/?page_id=698
%
% Unless required by applicable law or agreed to in writing, software
% distributed under the License is distributed on an "AS IS" BASIS,
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
% See the License for the specific language governing permissions and
% limitations under the License.
%-------------------------------------------------------------------------------
% For more information about the OpenAirInterface (OAI) Software Alliance:
% contact@openairinterface.org
%
@online{3gpp5gTimeline,
author = {3GPP},
title = {{3GPP 5G Timeline}},
year = 2016,
urldate = {2017-06-14},
url = {http://www.3gpp.org/images/articleimages/5g_timeline.jpg}
}
@techreport{3gppTR38913,
author = "{Technical Specification Group Radio Access Network}",
title = "{Study on Scenarios and Requirements for Next Generation Access Technologies}",
institution = "{3GPP TR 38.913 V14.2.0}",
month = mar,
year = 2017,
};
@techreport{iturM2038,
author = "{ITU-R}",
title = "{IMT Vision -- Framework and overall objectives of the future development of IMT for 2020 and beyond}",
institution = "{Radiocommunication Sector of ITU}",
month = sep,
year = 2015,
};
@techreport{3gpp2014seb,
author = "{Samsung, Nokia Networks}",
title = "{New SID Proposal: Study on Elevation Beamforming/Full-Dimension (FD) MIMO for LTE}",
institution = "3GPP",
month = sep,
year = 2014,
};
@techreport{3gpp2015fdm,
author = "{Technical Specification Group Radio Access Network}",
title = "{Study on elevation beamforming / Full-Dimension (FD) Multiple Input Multiple Output (MIMO) for LTE}",
institution = "3GPP TR 36.897 V13.0.0",
month = jun,
year = 2015,
};
@techreport{3gpp2008tsg,
author = "{Technical Specification Group Radio Access Network;
Evolved Universal Terrestrial Radio Access (E-UTRA)}",
title = "{Further advancements for E-UTRA physical layer aspects (Release 9)}",
institution = "{3GPP TR 36.814 V9.0.0}",
month = mar,
year = 2010,
};
@techreport{3gpp2011uer,
author = "{Technical Specification Group Radio Access Network;
Evolved Universal Terrestrial Radio Access (E-UTRA)}",
title = "{User Equipment (UE) Radio Transmission and Reception}",
institution = "{3GPP TR 36.101 V10.3.0}",
month = jun,
year = 2011,
};
@techreport{3gpp2009_36211,
author = "{3rd Generation Partnership Project}",
title = "{Physical Channels and Modulation (Release 8)}",
institution = "{3GPP TS 36.211 V8.6.0}",
month = mar,
year = 2009,
};
@techreport{3gpp2017_38212,
author = "{3rd Generation Partnership Project}",
title = "{Multiplexing and channel coding (Release 15)}",
institution = "{3GPP TS 38.212 V15.0.1}",
month = mar,
year = 2018,
};
@article{gallager1962low,
title={Low-density parity-check codes},
author={Gallager, Robert},
journal={IRE Transactions on information theory},
volume={8},
number={1},
pages={21--28},
year={1962},
publisher={IEEE}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*!\file nrLDPC_decoder.h
* \brief Defines the LDPC decoder core prototypes
* \author Sebastian Wagner (TCL Communications) Email: <mailto:sebastian.wagner@tcl.com>
* \date 27-03-2018
* \version 1.0
* \note
* \warning
*/
#ifndef __NR_LDPC_DECODER__H__
#define __NR_LDPC_DECODER__H__
#include "nrLDPC_types.h"
/**
\brief LDPC decoder
\param p_decParams LDPC decoder parameters
\param p_llr Input LLRs
\param p_llrOut Output vector
\param p_profiler LDPC profiler statistics
*/
int32_t nrLDPC_decoder(t_nrLDPC_dec_params* p_decParams, int8_t* p_llr, int8_t* p_llrOut, t_nrLDPC_time_stats* p_profiler);
#endif
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
static const uint32_t lut_cn2bnProcBuf_BG1_Z10_R23[1440] = {52227, 52228, 52229, 52230, 52231, 52232, 52233, 52224, 52225, 52226, 47621, 47622, 47623, 47624, 47625, 47616, 47617, 47618, 47619, 47620, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 53378, 53379, 53380, 53381, 53382, 53383, 53384, 53385, 53376, 53377, 49540, 49541, 49542, 49543, 49544, 49545, 49536, 49537, 49538, 49539, 54921, 54912, 54913, 54914, 54915, 54916, 54917, 54918, 54919, 54920, 48392, 48393, 48384, 48385, 48386, 48387, 48388, 48389, 48390, 48391, 13440, 13441, 13442, 13443, 13444, 13445, 13446, 13447, 13448, 13449, 50309, 50310, 50311, 50312, 50313, 50304, 50305, 50306, 50307, 50308, 22673, 22674, 22675, 22666, 22667, 22668, 22669, 22670, 22671, 22672, 25355, 25356, 25357, 25358, 25359, 25360, 25361, 25362, 25363, 25354, 43401, 43392, 43393, 43394, 43395, 43396, 43397, 43398, 43399, 43400, 22676, 22677, 22678, 22679, 22680, 22681, 22682, 22683, 22684, 22685, 25369, 25370, 25371, 25372, 25373, 25364, 25365, 25366, 25367, 25368, 43410, 43411, 43402, 43403, 43404, 43405, 43406, 43407, 43408, 43409, 22691, 22692, 22693, 22694, 22695, 22686, 22687, 22688, 22689, 22690, 25375, 25376, 25377, 25378, 25379, 25380, 25381, 25382, 25383, 25374, 43427, 43428, 43429, 43430, 43431, 43422, 43423, 43424, 43425, 43426, 22702, 22703, 22704, 22705, 22696, 22697, 22698, 22699, 22700, 22701, 25385, 25386, 25387, 25388, 25389, 25390, 25391, 25392, 25393, 25384, 43444, 43445, 43446, 43447, 43448, 43449, 43450, 43451, 43442, 43443, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 52611, 52612, 52613, 52614, 52615, 52616, 52617, 52608, 52609, 52610, 54534, 54535, 54536, 54537, 54528, 54529, 54530, 54531, 54532, 54533, 48002, 48003, 48004, 48005, 48006, 48007, 48008, 48009, 48000, 48001, 49927, 49928, 49929, 49920, 49921, 49922, 49923, 49924, 49925, 49926, 22656, 22657, 22658, 22659, 22660, 22661, 22662, 22663, 22664, 22665, 43412, 43413, 43414, 43415, 43416, 43417, 43418, 43419, 43420, 43421, 37276, 37277, 37268, 37269, 37270, 37271, 37272, 37273, 37274, 37275, 43441, 43432, 43433, 43434, 43435, 43436, 43437, 43438, 43439, 43440, 37289, 37290, 37291, 37292, 37293, 37294, 37295, 37296, 37297, 37288, 43459, 43460, 43461, 43452, 43453, 43454, 43455, 43456, 43457, 43458, 37315, 37316, 37317, 37308, 37309, 37310, 37311, 37312, 37313, 37314, 43465, 43466, 43467, 43468, 43469, 43470, 43471, 43462, 43463, 43464, 37327, 37318, 37319, 37320, 37321, 37322, 37323, 37324, 37325, 37326, 8094, 8095, 8096, 8097, 8098, 8099, 8100, 8101, 8102, 8103, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 53001, 52992, 52993, 52994, 52995, 52996, 52997, 52998, 52999, 53000, 54153, 54144, 54145, 54146, 54147, 54148, 54149, 54150, 54151, 54152, 13451, 13452, 13453, 13454, 13455, 13456, 13457, 13458, 13459, 13450, 49156, 49157, 49158, 49159, 49160, 49161, 49152, 49153, 49154, 49155, 37251, 37252, 37253, 37254, 37255, 37256, 37257, 37248, 37249, 37250, 4