資源簡介
循環交織、解交織。交織時按列寫入,按行讀出。解交織則相反。
代碼片段和文件信息
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的聲波測距
評論
共有 條評論