資源簡介
5G標準下的LDPC編碼C代碼,支持5G標準下的多種校驗矩陣H,支持碼率兼容

代碼片段和文件信息
#include“encode.h“
void?circshift(int?Zint?s[]?int?k)
{
int*temp=?(int*)malloc(sizeof(int)*Z);
for?(int?i?=?0;?i? temp[i]?=?s[(i?+?k)?%?Z];
}
for?(int?i?=?0;?i? s[i]?=?temp[i];
}
free(temp);
}
void?readQ_base(int?**Q_base?int?BG?int?i_LS?int?M?int?K?int?Q_baseBlockColumn)
{
FILE?*fp;
if?(BG?==?1){
switch?(i_LS){
case?1:
fp?=?fopen(“F:\\BG1_Q_base1.txt“?“r“);
break;
case?2:
fp?=?fopen(“F:\\BG1_Q_base2.txt“?“r“);
break;
case?3:
fp?=?fopen(“F:\\BG1_Q_base3.txt“?“r“);
break;
case?4:
fp?=?fopen(“F:\\BG1_Q_base4.txt“?“r“);
break;
case?5:
fp?=?fopen(“F:\\BG1_Q_base5.txt“?“r“);
break;
case?6:
fp?=?fopen(“F:\\BG1_Q_base6.txt“?“r“);
break;
case?7:
fp?=?fopen(“F:\\BG1_Q_base7.txt“?“r“);
break;
case?8:
fp?=?fopen(“F:\\BG1_Q_base8.txt“?“r“);
break;
}
}
else{
switch?(i_LS){
case?1:
fp?=?fopen(“F:\\BG2_Q_base1.txt“?“r“);
break;
case?2:
fp?=?fopen(“F:\\BG2_Q_base2.txt“?“r“);
break;
case?3:
fp?=?fopen(“F:\\BG2_Q_base3.txt“?“r“);
break;
case?4:
fp?=?fopen(“F:\\BG2_Q_base4.txt“?“r“);
break;
case?5:
fp?=?fopen(“F:\\BG2_Q_base5.txt“?“r“);
break;
case?6:
fp?=?fopen(“F:\\BG2_Q_base6.txt“?“r“);
break;
case?7:
fp?=?fopen(“F:\\BG2_Q_base7.txt“?“r“);
break;
case?8:
fp?=?fopen(“F:\\BG2_Q_base8.txt“?“r“);
break;
}
}
for?(int?i?=?0;?i? for?(int?j?=?0;?j?seBlockColumn;?j++){
fscanf(fp?“%d“?&Q_base[i][j]);
}
}
fclose(fp);
}
void?caculateP(int?Zint?**P?int**Q_base?int**S_parallel?int?M?int?K){
for?(int?i?=?0;?i? for?(int?j?=?0;?j? P[i][j]?=?0;//initialize?P
int*temp?=?(int*)malloc(sizeof(int)*Z);
for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
for?(int?k?=?0;?k? {
if?(Q_base[i][j?*?BlockMaxRowWeight?+?k]?==?500)
{
for?(int?l?=?0;?l? temp[l]?=?0;
}
else
{
int?cycShifCoeffi=?Q_base[i][j?*?BlockMaxRowWeight?+?k];//get?cycle?shift?coefficient?in?Q_base
for?(int?l?=?0;?l? {
temp[l]?=?S_parallel[j][l];
}
circshift(Z?temp?cycShifCoeffi);//the?corresponding?cyclic?shifting?of?the?pareller?source?is?carried?out?by?the?cyclic?shift?coefficient
}
for?(int?l?=?0;?l? P[i][l]?=?P[i][l]?^?temp[l];
}
}
}
free(temp);
}
void?stitchingSP(int?Zint**S_parallel?int**P?int*C?int?K?int?M){
for?(int?i?=?0;?i {
for?(int?j?=?0;?j {
C[i*Z?+?j]?=?S_parallel[i][j];
}
}
for?(int?i?=?0;?i {
for?(int?j?=?0;?j {
C[(i?+?K)*Z?+?j]?=?P[i][j];
}
}
}
void?encode_close(int**S_parallel?int**P?int**Q_base?int?M??int?K){
for?(int?i?=?0;?i? free(S_parallel[i]);
}
free(S_parallel);
for?(int?i?=?0;?i?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????61440??2017-09-21?20:57??LDPC編碼C代碼\Debug\ldpc_encode.exe
?????文件?????255044??2017-09-21?20:57??LDPC編碼C代碼\Debug\ldpc_encode.ilk
?????文件?????602112??2017-09-21?20:57??LDPC編碼C代碼\Debug\ldpc_encode.pdb
?????文件??????60928??2017-09-21?20:03??LDPC編碼C代碼\Debug\Q_LDPC2.exe
?????文件?????299140??2017-09-21?20:03??LDPC編碼C代碼\Debug\Q_LDPC2.ilk
?????文件?????643072??2017-09-21?20:03??LDPC編碼C代碼\Debug\Q_LDPC2.pdb
?????文件??????19134??2017-09-21?20:49??LDPC編碼C代碼\Q_LDPC2\Debug\encode.obj
?????文件??????27761??2017-09-20?15:29??LDPC編碼C代碼\Q_LDPC2\Debug\H_Initialization.obj
?????文件???????1816??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\cl.command.1.tlog
?????文件???????3674??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\CL.read.1.tlog
?????文件???????1542??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\CL.write.1.tlog
?????文件????????154??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\ldpc_encode.lastbuildstate
?????文件???????1194??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\li
?????文件???????2538??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\li
?????文件????????442??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\ldpc_encode.tlog\li
?????文件???????7210??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\main.obj
?????文件???????1623??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.log
?????文件???????5512??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\cl.command.1.tlog
?????文件???????4592??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\CL.read.1.tlog
?????文件???????3040??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\CL.write.1.tlog
?????文件???????3346??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\li
?????文件???????2866??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\li
?????文件????????754??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\li
?????文件????????182??2017-09-21?20:03??LDPC編碼C代碼\Q_LDPC2\Debug\Q_LDPC2.tlog\Q_LDPC2.lastbuildstate
?????文件??????29007??2017-09-21?20:09??LDPC編碼C代碼\Q_LDPC2\Debug\test.obj
?????文件?????101376??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\vc120.idb
?????文件??????77824??2017-09-21?20:57??LDPC編碼C代碼\Q_LDPC2\Debug\vc120.pdb
?????文件???????4379??2017-09-21?20:48??LDPC編碼C代碼\Q_LDPC2\encode.c
?????文件????????425??2017-09-21?20:06??LDPC編碼C代碼\Q_LDPC2\encode.h
?????文件???????2037??2017-09-18?10:06??LDPC編碼C代碼\Q_LDPC2\H_Initialization.c
............此處省略20個文件信息
- 上一篇:VMware虛擬機安裝和封裝系統學習
- 下一篇:圖像融合小波變換
評論
共有 條評論