⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kuaijiaozhi.asv

📁 卷积编码和译码全过程的MATLAB源代码
💻 ASV
字号:
%块交织
%%%%%%%%%%%%为了增加随机性,实用中采用与传统不同的读出方法,即非传统的交织方法来实现交织,如IS-95系统中的同步信道使用了“比特反转”方
%%%%%%%%%%%%法。一般而言,非传统的交织中的延时和存储要求与传统交织器的延时和存储要求相同,但最小间隔性能得到改善。
%%%%%%%%%%%非传统的交织有多种方法,一种快交织的具体实现算法如下:
%%%%%%%%%%Bs=328,Bo=0,M=8,a=8,b=6则每来一块待交织数据,经交织后都会产生8个子块。按照子块序号0~7顺序排列,可将这8
%%%%%%%%%%个子块作为一个整体考虑。每1子块数据时328/8=41bit,当将第0子块的数据标识为bit0~bit40,第1子块的数据标识为b
%%%%%%%%%%it41~bit81,依此类推,第7子块的数据标识为bit287~bit327,我们可以将这些子块作为一个整体考虑。

Bs=328;%每个数据块的数据长度
M=8;%子块个数,当M=8时,每增加1时相应B将增加8
a=8;b=6;%交织增益优化参数
n=1;%需要交织的数据块序号(个数)
k=zeros(1,Bs);%待交织数据块内比特的序号
j=zeros(1,Bs);
B=zeros(1,8);
for i=1:328%生成输入数据
    k(i)=i;
    Bo=0;%交织完成后待发数据的子块序号的初始偏移量
    B(i)=Bo+(M/2)*n+mod(k(i),(M/2));%B是交织完成后待发数据的子块序号
    X=a*(k(i)/M)-b*mod(k(i),M);
    j(i)=4*(2*mod(X,(Bs/M))+(mod(k(i),M)/(M/2)));%位置标签
end
[Y,I]=sort(j);%输出顺序
%将k,j,I的值以41*8的矩阵形式表示
X=reshape(k,8,41)';%输入数据矩阵
Y=reshape(j,8,41)';%输入数据在交织后的矩阵中的位置矩阵
Z=reshape(I,8,41)';%输出矩阵

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -