資源簡介
基于相差干涉儀算法的信號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?
- 上一篇:基于celp算法的語音編碼
- 下一篇:稀疏自編碼器
評論
共有 條評論