卫导调零天线功率倒置算法原理及MATLAB仿真
卫导调零天线功率倒置算法原理及MATLAB仿真
文章目录
- 前言
- 一、调零天线简介
- 二、功率倒置自适应算法
- 三、MATLAB仿真
- 四、MATLAB代码
- 总结
前言
\;\;\;\;\; 自适应调零抗干扰技术可以很大程度改善导航抗干扰性能,也是目前导航抗干扰技术中不可或缺的,其研究意义重大。本文详细推导了调零天线功率倒置算法的原理,并在MATLAB上完成了对自适应调零抗干扰技术的仿真,仿真包含单个干扰和多个干扰。
提示:以下是本篇文章正文内容,转载请附上链接!
一、调零天线简介
\;\;\;\;\; 我们知道导航信号是由远在两万多公里之外的卫星发射的,这么远的距离让信号的强度衰减得很多,所以等信号到达接收机时,已经十分微弱了,到达地表时,功率仅为-155 ~ 160 dBW。再加上导航信号深深地淹没在地表复杂的电磁环境中,信噪比极低。这样一来导航接收机便极易受到干扰信号的影响。
\;\;\;\;\; 针对这种情况,各式各样的抗干扰技术也随之出现,其中就包括自适应调零抗干扰技术。在自适应调零天线的研究中,自适应算法意义重大,而功率倒置( Power Inversion,PI) 算法(于1972年被Compton提出)就是其中应用最广泛的。功率倒置算法是一种不需要先验信息的算法,其对强干扰信号具有优秀的抗干扰性能。
二、功率倒置自适应算法
\;\;\;\;\; 考虑 N + 1 N+1 N+1 个阵元,间距为半波长的均匀线阵,其结构如下图所示。

\;\;\;\;\; 空间远场电磁波以 θ \theta θ 角入射到阵面。则输入信号 x ( k ) \mathbf{x}(k) x(k)可以表示为
x ( k ) = [ x 0 ( k ) x 1 ( k ) . . . x N ( k ) ] T \mathbf{x}(k)=[x_0(k)\quad x_1(k)\quad...\quad x_N(k)]^T x(k)=[x0(k)x1(k)...xN(k)]T
\;\;\;\;\; 假设将第零个阵元接收的信号为参考信号
x 0 ( k ) = s ( k ) + ∑ m = 1 M s m ( k ) + n 0 ( k ) x_0(k)=s(k)+\sum_{m=1}^Ms_m(k)+n_0(k) x0(k)=s(k)+m=1∑Msm(k)+n0(k)
其中, s ( k ) s(k) s(k)为期望信号, s m ( k ) s_m(k) sm(k)为第 m m m个干扰信号 ( m = 1 , … , M ) , n 0 ( k ) (m=1,\ldots,M),n_0(k) (m=1,…,M),n0(k)为高斯白噪声。假设干扰和期望都是窄带信号,则剩下的辅助阵元所构成的阵列接收信号矢量可以表示为
x a ( k ) = [ x 1 ( k ) x 2 ( k ) . . . x N ( k ) ] T = s ( k ) v a ( θ ) + ∑ m = 1 M s m ( k ) v a ( θ m ) + n ( k ) \begin{aligned}\mathbf{x}_a(k)&=[x_1(k)\quad x_2(k)\quad...\quad x_N(k)]^T \\ &=s(k)\mathbf{v}_a(\theta)+\sum_{m=1}^Ms_m(k)\mathbf{v}_a(\theta_m)+\mathbf{n}(k)\end{aligned} xa(k)=[x1(k)x2(k)...xN(k)]T=s(k)va(θ)+m=1∑Msm(k)va(θm)+n(k)
式中, v a ( θ ) \mathbf{v}_a(\theta) va(θ)表示期望信号的方向矢量,其决定于该期望信号的 DOA 值 θ \theta θ; v a ( θ m ) \mathbf{v}_a(\theta_m) va(θm)表示第 m m m 个干扰信号的方向矢量,其决定于该干扰信号的 DOA 值 θ m \theta_m θm 。
\;\;\;\;\; 事实上,卫星导航调零天线技术适用于期望信号比较弱,干扰信号较强的无线环境,上述接收信号模型中的期望信号由于扩频调制的影响,远小于噪声。所以,上面两个式子可以简化为
x 0 ( k ) = ∑ m = 1 M s m ( k ) + n 0 ( k ) x_0(k)=\sum_{m=1}^Ms_m(k)+n_0(k) x0(k)=m=1∑Msm(k)+n0(k)
x a ( k ) = [ x 1 ( k ) x 2 ( k ) . . . x N ( k ) ] T = ∑ m = 1 M s m ( k ) v a ( θ m ) + n ( k ) \begin{aligned}\mathbf{x}_a(k)&=[x_1(k)\quad x_2(k)\quad...\quad x_N(k)]^T \\ &=\sum_{m=1}^Ms_m(k)\mathbf{v}_a(\theta_m)+\mathbf{n}(k)\end{aligned} xa(k)=[x1(k)x2(k)...xN(k)]T=m=1∑Msm(k)va(θm)+n(k)
\;\;\;\;\; 功率倒置算法的主要思想是主阵元接收信号 x 0 ( k ) x_0(k) x0(k)作为参考信号,将辅助阵元接收信号 x a ( k ) x_a(k) xa(k)通过功率倒置准则,使得加权求和后的信号与参考信号的均方误差最小。
\;\;\;\;\; 这种算法不区分有用信号与干扰信号,只致力于使阵列输出功率最小。它的稳态方向图将在干扰信号方向引入零点。而且干扰信号功率愈强引入的零点深度就愈深。在干扰被大大抑制之后,就能获得很好的信干噪比。
\;\;\;\;\; 功率倒置阵元选择的加权矢量为
w a ( k ) = [ w 1 ( k ) w 2 ( k ) . . . w N ( k ) ] T \mathbf{w}_a(k)=[w_1(k)\quad w_2(k)\quad...\quad w_N(k)]^\mathrm{T} wa(k)=[w1(k)w2(k)...wN(k)]T
则阵列的输出信号为
y ( k ) = x 0 ( k ) − w a H ( k ) x a ( k ) y(k)=x_0(k)-\mathbf{w}_a^H(k)\mathbf{x}_a(k) y(k)=x0(k)−waH(k)xa(k)
\;\;\;\;\; 根据功率倒置算法的基本原理可知:最终得到的最优权矢量 w o p t \mathbf{w}_{opt} wopt应该是如下代价函数达到最小
J ( w a ) = E { y 2 ( k ) } J(\boldsymbol{\mathbf{w}}_{a})=E\{y^{2}(k)\} J(wa)=E{y2(k)}
\;\;\;\;\; 根据拉格朗日乘子算法,可解得权值的最优解为
w o p t = R a a − 1 r a 0 \mathbf{w}_{opt}=\mathbf{R}_{aa}^{-1}\mathbf{r}_{a0} wopt=Raa−1ra0
其中, r a 0 \mathbf{r}_{a0} ra0为参考阵元与辅助阵元上信号的互相关向量, R a a \mathbf{R}_{aa} Raa为辅助阵元上信号的自相关矩阵,满足
r a 0 = E { x a ( k ) x 0 ∗ ( k ) } \mathbf{r}_{a0}=E\{\mathbf{x}_a(k)x_{0}^{*}(k)\} ra0=E{xa(k)x0∗(k)}
R a a = E { x a ( k ) x a H ( k ) } \mathbf{R}_{aa}=E\{\mathbf{x}_a(k)\mathbf{x}_a^H(k)\} Raa=E{xa(k)xaH(k)}
\;\;\;\;\; 上述算法的基本思想在于,如果干扰信号具有较大的干噪比,而期望信号又较小,则系统输出 y ( k ) y(k) y(k) 为干扰被消除后的信号。如果把 N + 1 N+1 N+1 个阵元视为完整的阵列,则阵列权矢量和方向矢量为
w = [ 1 − w a ] T \mathbf{w}=[1\quad -\mathbf{w}_a]^\mathrm{T} w=[1−wa]T
v ( θ ) = [ 1 − v a ( θ ) ] T \mathbf{v}(\theta)=[1\quad -\mathbf{v}_a(\theta)]^\mathrm{T} v(θ)=[1−va(θ)]T
\;\;\;\;\; 阵列的方向图函数为
B ( θ ) = w H v ( θ ) B(\theta)=\mathbf{w}^H\mathbf{v}(\theta) B(θ)=wHv(θ)
三、MATLAB仿真
当只有一个干扰时,参数设置如下

仿真结果为

当有4个干扰时,参数设置如下

仿真结果为

四、MATLAB代码
卫星导航自适应调零天线功率倒置算法仿真MATLAB代码
总结
\;\;\;\;\; 以上就是今天要分享的全部内容,本文详细介绍了自适应调零天线抗干扰技术的原理,展示了MATLAB仿真的结果,包含单个干扰和多个干扰下该算法抗干扰的效果。
相关文章:
卫导调零天线功率倒置算法原理及MATLAB仿真
卫导调零天线功率倒置算法原理及MATLAB仿真 文章目录 前言一、调零天线简介二、功率倒置自适应算法三、MATLAB仿真四、MATLAB代码总结 前言 \;\;\;\;\; 自适应调零抗干扰技术可以很大程度改善导航抗干扰性能,也是目前导航抗干扰技术中不可或缺的,其研究意…...
【划分型 DP】力扣139. 单词拆分
给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s “leetcode”, wordDic…...
Python学习从0到1 day26 第三阶段 Spark ④ 数据输出
半山腰太挤了,你该去山顶看看 —— 24.11.10 一、输出为python对象 1.collect算子 功能: 将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象 语法: rdd.collect() 返回值是一个list列表 示例: from …...
AWTK fscript 中的 JSON 扩展函数
fscript 是 AWTK 内置的脚本引擎,开发者可以在 UI XML 文件中直接嵌入 fscript 脚本,提高开发效率。本文介绍一下 fscript 中的 ** JSON 扩展函数 ** 1.json_load 加载 json 数据。 原型 json_load(str) > object json_load(binary) > object js…...
动态规划 —— dp 问题-买卖股票的最佳时机III
1. 买卖股票的最佳时机III 题目链接: 123. 买卖股票的最佳时机 III - 力扣(LeetCode)https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/description/ 2. 题目解析 3. 算法原理 状态表示:以某一个位置为结尾或者…...
“绽放艺术风采、激发强国力量” 海南省第十一届中小学生艺术展演活动圆满开展
2024年11月1日,由省教育厅主办、琼台师范学院承办的海南省第十一届中小学生艺术展演省级展演活动在海口正式拉开帷幕。来自全省各市县、省属学校等共计4000余名师生参加本届中小学生艺术展演现场展演活动。 本届展演活动以“绽放艺术风采、激发强国力量”为主题&…...
Linux之文件和目录类命令详解(2)
Linux之文件和目录类命令详解(2) 1、mv-移动文件或重命名2、find-查找文件和目录3、locate-快速查找文件4、du-显示目录或文件的磁盘使用情况5、df-显示文件系统的磁盘空间使用情况6、chmod-更改文件或目录的权限7、chown-更改文件或目录的拥有者8、tree…...
NVR管理平台EasyNVR多品牌NVR管理工具/设备摄像头开启ONVIF的方法
NVR小程序接入平台EasyNVR作为一款功能强大的安防视频监控平台,以其出色的兼容性和灵活性,在智慧校园、智慧工厂、智慧水利等多个场景中得到了广泛应用。本文将重点介绍如何为大华摄像头开启ONVIF协议,以便与EasyNVR进行无缝对接。 大华大部分…...
Pr 视频过渡:沉浸式视频
效果面板/视频过渡/沉浸式视频 Video Transitions/Immersive Video Adobe Premiere Pro 的视频过渡效果中,沉浸式视频 Immersive Video效果组主要用于 VR 视频剪辑之间的过渡。 自动 VR 属性 Auto VR Properties是所有 VR 视频过渡效果的通用选项。 默认勾选&#x…...
SwiftUI开发教程系列 - 第1章:简介与环境配置
1.1 SwiftUI简介 SwiftUI 是 Apple 于 2019 年推出的声明式用户界面框架,旨在简化 iOS、macOS、watchOS 和 tvOS 应用的 UI 开发。与 UIKit 的命令式编程方式不同,SwiftUI 提供了一种声明式语法,让开发者可以以更加直观、简洁的方式构建 UI。…...
gitlab ci/cd搭建及使用笔记
记录下使用gitlab的ci/cd的devops构建过程中,一些易忘点或者踩坑点: 官方文档中英文(建议英文) https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html https://gitlab.cn/docs/jh/ci/pipelines/schedules.html为什么创建了…...
Xcode 16 中 Swift Testing 的参数化(Parameterized)机制趣谈
概述 我们之前曾在 《用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门》系列博文以及《WWDC24(Xcode 16)中全新的 Swift Testing 使用进阶》博文中较为系统地介绍了今年 WWDC 24 中全新的 Swift Testing 测试系统。 不过 Swift Testing 的本领远…...
Python自动化运维DevSecOps与安全自动化
Python自动化运维DevSecOps与安全自动化 目录 🛡️ DevSecOps概念与实践🔍 自动化安全扫描与漏洞修复🧰 基于Python的安全审计与合规性检查🐳 云平台与容器安全:基于Python的容器扫描工具⚠️ 自定义安全检测与漏洞修…...
2024下半年系统架构师考试【回忆版】
2024年11月10日,系统架构师考试如期举行,屡战屡败的参试倒是把北京的学校转了好几所。 本次考试时间 考试科目考试时间综合知识、案例分析8:30 - 12:30论文14:30 - 16:30 综合知识 1、1-1000以内包含5的数字个数 2、 案例分析 1、RESTful 对于前后…...
UE5.4 PCG 自定义PCG蓝图节点
ExecuteWithContext: PointLoopBody: 效果:点密度值与缩放成正比...
迁移学习相关基础
迁移学习 目标 将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。 主要思想 从相关领域中迁移标注数据或者知识结构、完成或改进目标领域或任务的学习效果。 概述 Target data:和你的任务有直接关系的数据,但数据量少ÿ…...
华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享
北京试验考场 北京考场位置 1.试验考场地址 北京市海淀区北清路156号中关村环保科技示范园区M地块Q21楼 考试场选择北京,就是上面这个地址,在预约考试的时候会显示地址,另外在临近考试的时候也会给你发邮件,邮件内会提示你考试…...
数据分析——学习框架
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来聊聊基于Okex交易所API获取行情数…...
pytorch实现深度神经网络DNN与卷积神经网络CNN
DNN概述 深度神经网络DNN来自人脑神经元工作的原理,通过在计算机中逻辑抽象出多个节点,接收处理并向后传递信息,实现计算机的自我学习,类比结构见下图: 该方法通过预测输出与实际值的差异不断调整节点参数࿰…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
如何通过git命令查看项目连接的仓库地址?
要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...
【java】【服务器】线程上下文丢失 是指什么
目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失? 直观示例说明 为什么上下文如此重要? 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程,代码应该如何实现 推荐方案:使用 ManagedE…...
Java中栈的多种实现类详解
Java中栈的多种实现类详解:Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...
