• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: Matlab
  • 标签: matlab  m文件  

资源简介

基于相差干涉仪算法的信号DOA,matlab仿真

资源截图

代码片段和文件信息

clc;
clear;

% 读入数据
fid1 = fopen(‘s.bin‘ ‘rb‘);
fid2 = fopen(‘c.bin‘ ‘rb‘);

temps = fread(fid1 ‘int32‘);
tempc = fread(fid2 ‘int32‘);

% 组织数据
channelNO = 5;
signalLen = 512;
signalTemp = zeros(channelNO signalLen * 2);
correctTemp = zeros(channelNO signalLen * 2);
signalI = zeros(channelNO signalLen);
signalQ = zeros(channelNO signalLen);
correctI = zeros(channelNO signalLen);
correctQ = zeros(channelNO signalLen);

for z = 1 : floor(length(temps) / channelNO / signalLen / 2) - 1;
    for i = 1 : channelNO;
        signalTemp(i :) = temps((i - 1) * signalLen * 2 + 1 + z * channelNO * signalLen * 2 ...
            : i * signalLen * 2  + z * channelNO * signalLen * 2);
        correctTemp(i :) = tempc((i - 1) * signalLen * 2 + 1  + z * channelNO * signalLen * 2 ...
            : i * signalLen * 2  + z * channelNO * signalLen * 2);
    end

    for i = 1 : channelNO;
        for j = 1 : signalLen;
            signalI(i j) = signalTemp(i 2 * j - 1);
            signalQ(i j) = signalTemp(i 2 * j);
            correctI(i j) = correctTemp(i 2 * j - 1);
            correctQ(i j) = correctTemp(i 2 * j);
        end
    end

% 校正信号坐标旋转并平均
    for i = 2 : channelNO;
        Ic(i) = mean(correctI(i - 1 :) .* correctI(i :) + correctQ(i - 1 :) .* correctQ(i :));
        Qc(i) = mean(correctI(i - 1 :) .* correctQ(i :) - correctI(i :) .* correctQ(i - 1 :));
    end

% 求出校正相位差
    vc 

评论

共有 条评论