GSC波束形成严谨推导深入细节

2024-02-18 02:10

本文主要是介绍GSC波束形成严谨推导深入细节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GSC广义旁瓣相消器的结构

如下图所示:
在这里插入图片描述

u ( t ) = x d ( t ) ⋅ a ( θ d ) + ∑ j = 1 M − 1 x j ( t ) ⋅ a ( θ j ) + N ( t ) u(t)=x_{d}(t) \cdot a\left(\theta_{d}\right)+\sum_{j=1}^{M-1} x_{j}(t) \cdot a\left(\theta_{j}\right)+N(t) u(t)=xd(t)a(θd)+j=1M1xj(t)a(θj)+N(t)
某时刻空间中存在M个信号与噪声,其中M-1个为干扰信号,由N个阵列接收,M<N。
并类似于LCMV有如下约束:
C H w q = g   ( 1 ) \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\mathbf{C}^{H} \mathbf{w}_{q}=\mathbf{g}\ \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad(1) CHwq=g (1)
C N × M C_{N \times M} CN×M是由期望方向和干扰方向导向矢量列向量组成的约束矩阵
g = [ 1 0 ⋯ 0 ] M × 1 g=\left[\begin{array}{c} 1 \\ 0 \\ \cdots \\ 0 \end{array}\right]_{M \times 1} g=100M×1

在GSC中 w q \mathbf{w}_{q} wq为固定波束形成权向量
w q = C ( C H C ) − 1 g \mathbf{w}_{q}=\mathbf{C}\left(\mathbf{C}^{H} \mathbf{C}\right)^{-1} \mathbf{g} wq=C(CHC)1g

这可以理解为对式(1)直接求伪逆即下面的第二种情况

对于线性方程组 A m × n x n × 1 = b m × 1 \mathbf{A}_{m \times n} \mathbf{x}_{n \times 1}=\mathbf{b}_{m \times 1} Am×nxn×1=bm×1
考虑(行/列)满秩的情况,分下面三种情况:
(1)如果m=n,则有唯一解: x = A − 1 b \mathbf{x}=\mathbf{A}^{-1} \mathbf{b} x=A1b
(2)如果m<n,即方程个数小于未知数个数,此时方程组有无穷多解。为了得到唯一解,必须增加约束条件,要求x的范数最小,这样得到的解称为最小范数解。 x = A H ( A A H ) − 1 b \mathbf{x}=\mathbf{A}^{H}\left(\mathbf{A} \mathbf{A}^{H}\right)^{-1} \mathbf{b} x=AH(AAH)1b
(3)如果m>n,即方程的个数大于未知数个数,此时方程组不存在精确解,只存在近似解。我们希望找到一个是方程组两边的误差平方和为最小的解,即最小二乘解。 x = ( A H

这篇关于GSC波束形成严谨推导深入细节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719722

相关文章

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

深入手撕链表

链表 分类概念单链表增尾插头插插入 删尾删头删删除 查完整实现带头不带头 双向链表初始化增尾插头插插入 删查完整代码 数组 分类 #mermaid-svg-qKD178fTiiaYeKjl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是