计算码字长度 matlab

这段代码实现了根据3GPP TS38.214标准计算不同信息长度下的传输块大小(TBS)和码块段(blkSeg)的过程。针对不同的信噪比条件,确定适当的LDPC基图,并考虑了CRC位的添加。该计算对于理解无线通信系统中数据包的编码和传输具有重要意义。

代码如下,其中计算基图的部分其实是不需要的,因为暂时目的就是算代码块,不用跟LDPC扯上关系。但是我有点懒得删了,大家自取。

%%  Function Description
%   TBS Length Calculation.
%   According to TS38.214 5.1.3.2 Transport block size determination.
%%  Input
%   No need for input for now(2021.12.2)
%%  Output
%   Get the blkSeg & TBS when Ninfo is different.
%   And blkSeg means CB(Code Block) length, TBS means Tranport Block Size.
%%  Modify History
%   2021/11/30      Created by Cheng Zixin
%%
len=length(30000:1:35000);bgn = zeros(len,1);
TBS=zeros(len,1);TBCRC = zeros(len,1);
R = 0.5;idx=1;
for Ninfo = 1000000:1:1005000
   n=floor(log2(Ninfo-24))-5;
   N_info = max(3840,(2^n)*round((Ninfo-24)/2^n));
   if R <=1/4
       bgn(idx)=2;
       C = ceil((N_info+24)/3816);
       TBS(idx) = 8*C*ceil((N_info+24)/(8*C))-24;
   elseif R>1/4 && N_info>8424
      bgn(idx) = 1; 
      C = ceil((N_info+24)/8424);
      TBS(idx) = 8*C*ceil((N_info+24)/(8*C))-24;
   else
       TBS(idx)=8*ceil((N_info+24)/8)-24;
       if TBS(idx) <=292 || (TBS(idx) <= 3824 && R <= 0.67) || R <= 0.25
            bgn(idx) = 2;  % bgn=2 表示使用LDPC基图2
        else
            bgn(idx) = 1;  % bgn=1 表示使用LDPC基图1
        end
   end
   if TBS(idx)> 3824 
       TBCRC(idx)=TBS(idx)+24;
   else
        TBCRC(idx)=TBS(idx)+16;
   end
   idx=idx+1;
end

% TBS = [24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 208 224 240 256 272 288 ...
%     304 320 336 352 368 384 408 432 456 480 504 528 552 576 608 640 672 704 736 768 808 848 888 928 984 1032 ...
%     1064 1128 1160 1192 1224 1256 1288 1320 1352 1416 1480 1544 1608 1672 1736 1800 1864 1928 2024 2088 2152 ...
%     2216 2280 2408 2472 2536 2600 2664 2728 2792 2856 2976 3104 3240 3368 3496 3624 3752 3824];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值