资源简介
循环交织、解交织。交织时按列写入,按行读出。解交织则相反。
代码片段和文件信息
clear all;
clc;
close all;
m=1:1:2160; %输入2160个数,m为输入序列
for i=1:40; %此时A为1*40矩阵,i为列数
A(1i)=mod(9*(i-1)40); %第一行,前40个数写入顺序
end
for i=1:54; %列数
A(i:)=A(1:);
end
A=A‘;
A=A(:); %变成一列
A=A‘; %A为记录全部数据写入到对应行数顺序的矩阵(0~39一循环)
B=1:1:54;
for i=1:40;
B(i:)=B(1:); %B为40*54矩阵
end
B=B(:);
B=B‘; %B为记录全部数据写入到对应列数顺序的矩阵(每列40个数)
for i=1:2160;
a1=A(1i)+1;
a2=B(1i);
m1(a1a2)=m(1i); %将2160个数写入m1,矩阵m1为交织输入的存储矩阵
end
%至此完成交织的数据输入及存储
C=0:1:39;
for i=1:54;
C(i:)=C(1:); %54*40矩阵
end
C=C‘;
C=C(:);
C=C‘; %表示行数,矩阵C记录交织输出读取的行数顺序
for i=1:40
D(1i)=54-mod(17*(i-1)54); %前40个数,第一个循环
if D(1i)==54;
D(1i)=0;
end
end
for i=2:54; %D为54*40矩阵
D(i:)=D(i-1:)+1; %所有循环,2160个数
for j=1:40
if D(ij)==54;
- 上一篇:卷积编解码matlab代码,自己写的
- 下一篇:基于MATLAB的声波测距
评论
共有 条评论