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

news2024/9/27 9:30:47

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

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

📚2 运行结果

 

部分代码:

%% 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)');

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/56254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

G1D29-Roberta智能蜜罐环境

一、Roberta (一)特点 对bert的一点点改进啦 1、动态遮掩 2、FULL-SENTENCE without NSP loss 3、Large mini-batch 4、A larger Byte-Pair Encoding (二)关于BERT中的NSP和MLM 参考:https://blog.csdn.net/qq_436…

创建一个web项目

servlet 概念: 运行在服务端的程序,是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则 tomcat会读取web.xml文件中的配置 创建一个web项目 目录说明: 1.src:自动编译.java文件的目录 依赖的jdk版本 依赖的tomcat版本 build: 用来…

JAVAWEB_实验三 Servlet 相关技术

文章目录Servlet 基础一、 实验目的二、 实验要求三、 实验内容过滤器一、 实验目的二、 实验原理三、 实验内容试简述过滤器有哪些功能?实现一个查询天气的 web 程序Servlet 基础 一、 实验目的 理解 Servlet 的工作原理,掌握 Servlet 的应用开发方法…

Kanzi:项目实例:大灯Lamp界面设计

概述: 大灯页面(LampPage)主要包括:OFFbtn、Autobtn、ParkLampbtn、HeadLampbtn 这个四个 状态。我们就先简单的分析下。 1: LampPageController 页面 这个controller页面维护两个页面(FirstPage和SecondPage&#…

LeetCode刷题复盘笔记—一文搞懂0 - 1背包之474. 一和零问题(动态规划系列第十篇)

今日主要总结一下动态规划0-1背包的一道题目,474. 一和零问题 题目:416. 分割等和子集 Leetcode题目地址 题目描述: 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多…

【servelt原理_9_servlet应用___】

servlet应用*** 1.request对象 是当客户端向服务器端发送请求时,服务器为本次请求创建request对象,并在调用Servlet的service方法时,将该对象传递给service方法。Request对象中封装了客户端发送过来的所有的请求数据。 ①:doGet()方法接收r…

Maven详细总结

参考博客:https://blog.csdn.net/xiaodi2016/article/details/121341063 ※注意: 我们自己的Maven工程必须执行安装操作才会进入仓库。安装的命令是:mvn install 任何一个Maven工程会根据坐标到本地仓库中去查找它所依赖的jar包…

临近过年无情被裁,我面试大厂的这几个月…

秋招接近尾声,即将远去的“金九银十”今年也变成了“铜九铁十”。 大厂不断缩招,不容忽视的疫情影响,加上不断攀升的毕业生人数,各种需要应对的现实问题让整个求职季难上加难。 在这个异常残酷的求职季,很多人的困惑…

【intent-filter】AndroidManifest中<intent-filter>标签的 部分作用

这里写自定义目录标题AndroidManifest.xmlIntent-filter 标签Intent-filter 标签中的常用元素Intent-filter 标签的作用Intent对象Intent显式启动活动窗口Intent隐式启动(重要)AndroidManifest.xml AndroidManifest.xml是安卓开发中主配置文件&#xff…

【负荷预测】基于蚂蚁优化算法的BP神经网络在负荷预测中的应用研究(Matlab完整代码实现)

目录 0 知识回顾 1 ACO-BP算法 2 ACO-BP算法基本思路 3 具体步骤 4 Matlab代码实现 5 运行结果 6 参考文献 7 写在最后 0 知识回顾 智能优化算法—蚁群算法(Python实现) 1 ACO-BP算法 传统的BP神经网络训练采用的是误差反向传播学习算法,它的…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校教室申请管理系统yf80k

计算机毕业设计的编程真的不会, 应该怎么办啊, 平时学了3年都没学懂,然而还有一个月就要答辩了,一点东西都没做出来,不知道该怎么办了?好迷茫,如果毕不到业怎么办, 有没有快速的学习方法 毕设毕设,最终的是…

【C++面向对象程序设计】CH7 输入输出流

目录 一、前言 二、标准输出流 1.流对象 &#xff08;1&#xff09;cout流对象 &#xff08;2&#xff09;cerr流对象 &#xff08;3&#xff09;【例7.1】编写程序&#xff0c;从键盘输入a&#xff0c;b&#xff0c;c的值求解一元二次方程。如果a0或判别式的值<0&…

拾壹博客拆解改造,页面元素替换(二)

页面元素替换 首先要做的当然是换成自己风格的站名和内容啦。 1、网站配置 跟踪前端代码后发现配置是来自后端接口&#xff0c;想着既然入库了&#xff0c;那应该有对应的管理页面吧&#xff0c;果然找到了&#xff0c;就是…演示账号不允许操作&#xff01;那么接下来要干的…

stm32f767的fft

仅作自己笔记用 1&#xff0c;FFT函数调用基础知识 采样得到的数字信号&#xff0c;就可以做FFT变换了。N个采样点&#xff0c;经过FFT之后&#xff0c;就可以得到N个点的FFT结果。为了方便进行FFT运算&#xff0c;通常N取2的整数次方。 假设采样频率为Fs&#xff0c;信号频率…

基于Java环境下的高校跳蚤市场商城系统

目 录 摘 要 I Abstract II 1绪论 1 1.1 课题背景 1 1.2 目的和意义 1 1.3 研究现状 2 1.4 研究主要内容 3 2开发平台与技术的介绍 4 2.1 Eclipse简介 4 2.2 Java EE简介 4 2.2.1 Java EE概念 4 2.2.2 Java EE运行模式 4 2.3 Jsp技术简介 5 2.4 Struts 2框架简介 5 2.5 MySQL简…

[附源码]计算机毕业设计springboot新冠疫苗接种预约系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Docker最新超详细教程——Docker创建运行Redis并挂载

Docker最新超详细教程——Docker创建运行Redis并挂载 Docker官网关于Redis的描述 redis - Official Image | Docker Hubhttps://hub.docker.com/_/redis 一、拉取Redis镜像 docker pull <镜像名称>:<版本号> docker pull redis:6.2.27 首先我们要在Docker上获取…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校教学过程管理系统34085

现在毕设刚开始。时间还有很多&#xff0c;可以从头开始学也可以。毕设其实不难&#xff0c;难的是我们懒散到这种时候再去静下心学。能自己独立完成尽量自己独立完成。相信你看过很多上面回答的&#xff0c;都不建议去某宝。毕竟这一行参差不齐哈。能找到靠谱的也不容易。近期…

Unity Debug的简单封装

对Unity Debug的简单封装 使用前提&#xff1a; Project Settings-Player-Other Settings-Script Define Symbols添加 EnableLog&#xff0c;点击Apply 测试代码&#xff1a; using MTools.Debuger; using UnityEngine;public class NewBehaviourScript : MonoBehaviour {p…

基于PHP+MySQL家庭医生签约预约诊疗管理信息系统

随着时代的发展,人们对医疗方面的要求也越来越高,也是人们更希望通过家庭医生来对自己提供所需的医疗服务,从而享受更加个性化的医疗服务,为此我们开发了本家庭医生签约预约诊疗管理信息系统,通过本系统患者可以享有签约,预约,和诊疗等一系类的服务。 本系统是一个家庭医生签约…