walshcode.m

来自「cdma 系统级仿真」· M 代码 · 共 22 行

M
22
字号
%3-8walsh码产生器
function y=walshcode(n)
sourcedataI=n;
%***分别在sourcedataI、sourcedataQ两路转换成3列矩阵以进行3-8walsh码正交变换***%
rownumber=ceil(length(sourcedataI)/3);   %ceil(x)为取整,即大于或等于x的整数
walshindataI=zeros(rownumber,3);
%walshindataQ=zeros(rownumber,3);
for var1=1:rownumber;
    var2=1:3;
    walshindataI(var1,var2)=sourcedataI(1,(var1-1)*3+var2);
%    walshindataQ(var1,var2)=sourcedataQ(1,(var1-1)*3+var2);
end
walshG=[0,0,0,0,1,1,1,1;0,0,1,1,1,1,0,0;0,1,1,0,0,1,1,0];
walshoutdataI=mod(walshindataI*walshG,2);% mod是取模函数
%walshoutdataQ=mod(walshindataQ*walshG,2);
%将walsh码输出数据矩阵转为单行矩阵%
for var4=1:rownumber
    var5=1:8;
    walshdataI(1,(var4-1)*8+var5)=walshoutdataI(var4,var5);
%    walshdataQ(1,(var4-1)*8+var5)=walshoutdataQ(var4,var5);
end
y=walshdataI;

⌨️ 快捷键说明

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