一种用于环境声源的被动到达角(AoA)提取算法(Matlab代码实现)

简介: 一种用于环境声源的被动到达角(AoA)提取算法(Matlab代码实现)

🍁🥬🕒摘要🕒🥬🍁

AOA 定位方法,主要是测量信号移动台和基站之间的到达角度,以基站为起点形成的射线必经过移动台,两条射线的交点即为移动台的位置。该方法只需两个基站就可以确定 MS 的估计位置,其定位示意图如图所示。

✨🔎⚡运行结果⚡🔎✨

 

💂♨️👨‍🎓Matlab代码👨‍🎓♨️💂

%% Initialization
clear;
addpath(genpath('../Library/'));
params = getParams();
micUsed = params.micUsed;
fileName = '../data/ReSpeaker/example';
waveOrig = load([fileName '.mat']).wave(micUsed, :);
[~, waveLen] = size(waveOrig);
sampleRate = params.sampleRate;
readRate = params.readRate;
readNum = round(waveLen / sampleRate * readRate);
readSampleNum = params.readSampleNum;
sourceNum = params.sourceNum;
%% AoA Extraction
angleListY = zeros(readNum, sourceNum);
angleListZ = zeros(readNum, sourceNum);
for readIdx = 1: readNum
    waveNow = waveOrig(:, ...
        (readIdx - 1) * sampleRate / readRate + 1: (readIdx - 1) * sampleRate / readRate + readSampleNum);
    [angleNowY, angleNowZ] = multipleSource(waveNow, sourceNum, params);
    angleListY(readIdx, :) = angleNowY;
    angleListZ(readIdx, :) = angleNowZ;
end
save([fileName '_result.mat'], 'angleListY', 'angleListZ');
%% Visualization
angleListGtY = ones(readNum, 1) * [25 61];
angleListGtZ = ones(readNum, 1) * [291 101];
figure(1);
subplot(1, 2, 1);
plot((1: readNum) / readRate, angleListY, 'x', ...
    (1: readNum) / readRate, angleListGtY, 'linewidth', 2);
axis([0 readNum / readRate params.angleRangeY(1) params.angleRangeY(2)]);
legend('Est_1', 'Est_2', 'Gt_1', 'Gt_2');
title('Angle Y');
xlabel('Time (s)');
ylabel('AoA (Deg)');
subplot(1, 2, 2);
plot((1: readNum) / readRate, angleListZ, 'x', ...
    (1: readNum) / readRate, angleListGtZ, 'linewidth', 2);
axis([0 readNum / readRate params.angleRangeZ(1) params.angleRangeZ(2)]);
legend('Est_1', 'Est_2', 'Gt_1', 'Gt_2');
title('Angle Z');
xlabel('Time (s)');
ylabel('AoA (Deg)');


📜📢🌈参考文献🌈📢📜

[1]石月,戴雅伟.一种基于4G AoA的5G天线方位角调优方法[J].电信工程技术与标准化,2022,35(07):48-51.DOI:10.13992/j.cnki.tetas.2022.07.016.

相关文章
|
23天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
142 0
|
1月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
115 2
|
23天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
117 8
|
23天前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
100 8
|
23天前
|
传感器 机器学习/深度学习 算法
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
112 0
|
23天前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
|
24天前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
|
1月前
|
存储 监控 并行计算
目标跟踪中常用点迹航迹数据关联算法的MATLAB实现
通过计算测量点与预测点之间的欧氏距离,选择最近邻点进行关联,适用于单目标跟踪场景。
|
23天前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
|
23天前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)

热门文章

最新文章