📄 relative.m
字号:
function [y] = Relative(u,PARA1)
PNLocal = [1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,1,1,1,1,0];
for slip = 0:255
for i = 1:4
for j = 1:128
ReceiveSquence(j,i) = u(4*(j+slip)-(4-i));
end
%%% 计算接受序列与本地序列的相关值
Relative_Real(i) = PNLocal*real(ReceiveSquence(:,i));
Relative_Imag(i) = PNLocal*imag(ReceiveSquence(:,i));
Relative(i) = Relative_Real(i)*Relative_Real(i) + Relative_Imag(i)*Relative_Imag(i);
%%% 计算接受序列的自相关
PowerSum(i) = ReceiveSquence(:,i)'*ReceiveSquence(:,i);
PowerSum(i) = PowerSum(i)*PARA1;
y = 0;
%%% 判断互相关是否大于门限
if (Relative(i) > PowerSum(i) && PowerSum(i) > 0)
%% Find Max
RelativeFindMax(1) = Relative(i);
for k = 2:4
for j = 1:128
FindMaxSquence(j,k) = u(4*(j+slip)-(4-i)+k-1);
end
Relative_Real(k) = PNLocal*real(FindMaxSquence(:,k));
Relative_Imag(k) = PNLocal*imag(FindMaxSquence(:,k));
RelativeFindMax(k) = Relative_Real(k)*Relative_Real(k) + Relative_Imag(k)*Relative_Imag(k);
end
[C,I] = max(RelativeFindMax);
y = 4*(1+slip)-(4-i)+I-1;
break;
end
end
if (Relative(i) > PowerSum(i) && PowerSum(i) > 0)
break;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -