利用 s-random interleaver得到1024个数字排列

本文介绍如何利用s-random算法生成一个包含1024个数字的独特排列。结合turbo码技术,这种交织器在通信领域有着广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


关于原理,可以参考我的另一篇文章:http://blog.youkuaiyun.com/bjq1016/article/details/8795666

L_total = 1024 ;
s=fix(sqrt(L_total/2)) ;
alpha = gen_alpha(L_total,s) ;

function alpha = gen_alpha(N,s)
% disp('genarate alpha============================')
% N=1024;%
loopMax = N/2;%利用冒泡算法最大循环次数,
%超过次数则重新产生随机序列
% s=fix( sqrt(N/2) ) ;
len =N ;
genTime=0;

while(len~=0)
    len = N;%满足要求的序列长度
    genTime = genTime+1 ;
    loop = 0;%有些随机序列无法通过重组满足,限定一个上限
    [~ ,a]=sort( rand( 1,N) ) ;
    while (len ~= 0 &&loop <loopMax )     
     [len, out ] =mysort_new (N,s,a) ;
     a = out ;
     loop = loop +1;
    end
end  
alpha = out ;
if(check(N,s,alpha ))
    fprintf('check  alpha ,N= %d -----------------> ok!!!!\n',N) ;
else
    fprintf('check alpha ,N = %d-----------------> error!!!!\n',N);
end


<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值