【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

空间匹配滤波器(Spatial Matched Filter)是一种用于信号处理的滤波器。它的原理是通过将输入信号与预先存储的参考信号进行相关运算,从而增强目标信号并抑制噪声。空间匹配滤波器在雷达、声纳等领域广泛应用,用于目标检测、目标跟踪等任务。

锥形最佳波束成形器(Conical Beamformer)是一种用于信号处理的波束成形器。它通过调整传感器阵列中各个传感器的权重,使得阵列对特定方向的信号响应最大化,从而实现对目标信号的增强。锥形最佳波束成形器在无线通信、声纳等领域常用于信号接收和目标定位。

非锥形最佳波束成形器(Non-Conical Beamformer)是一种波束成形器的变种。与锥形最佳波束成形器不同的是,非锥形最佳波束成形器可以实现对多个目标信号的增强,而不仅仅是单个方向的信号。非锥形最佳波束成形器在多目标检测和定位等任务中具有重要应用。

样本矩阵反演(Sample Matrix Inversion)是一种用于信号处理的方法。它通过对接收到的信号进行采样和矩阵运算,估计信号源的位置和强度。样本矩阵反演在无线通信、雷达等领域常用于信号定位和信号源分离。

以上这些方法在阵列信号处理中都有广泛的研究和应用,它们可以提高信号的质量和可靠性,从而提升系统性能。

📚2 运行结果

 

 

 

 

 

 

 

 

 

 部分代码:

% We illustrate the use of tapers with the spatial matched filter for the extraction
% of a radar signal in the presence of a jamming interference source using a ULA with M = 20
% elements with $\lambda/2$ spacing. The desired radar signal is known as a target and is 
% present for only one sample in time. Here the target signal is at time sample (range gate)
% n = 100 and is at $\phi_s = 0^{\circ}$ with an array SNR of 20 dB. The jammer transmits a 
% high-power, uncorrelated waveform (white noise). The angle of the jammer is $\phi_i = 20^{\circ}$
% and its strength is 40 dB. The additive, sensor thermal noise has unit power (0 dB).
%
% Copyright 2016 - 2026, Ilias S. Konsoulas.

%% Workspace Initialization.
clc; clear; close all;

%% Signal Definitions.
M      = 20;       % Number of Array Elements.
N      = 200;      % Number of Signal Samples.
n      = 1:N;      % Sample Index Vector.
lambda = 1;        % Incoming Signal Wavelength in (m).
d      = lambda/2; % Interelement Distance in (m).
SNR    = 20;       % target volatege signal array SNR in dBs.
INR    = 40;       % interference array SNR in dBs.
phi_s  = 0;        % target azimuth angle in degrees.
phi_i  = 20;       % interference azimuth angle in degrees.

u_s  = (d/lambda)*sin(phi_s*pi/180); % Target Normalized Spatial Frequency.
u_si = (d/lambda)*sin(phi_i*pi/180); % Jammer Normalized Spatial Frequency.

s = zeros(M,N);
s(:,100) = 10^(SNR/20)*exp(-1i*2*pi*u_s*(0:M-1).')/sqrt(M);

% Uncorrelated unit power thermal noise samples drawn from a complex Gaussian distribution
w = (randn(M,N)+1i*randn(M,N))/sqrt(2);

% The interference (jammer) vector is generated by:
% v_i = exp(-1i*pi*[0:M-1]'*sin(phi_i*pi/180))/sqrt(M); mentioned in the book is wrong.
v_i = exp(-1i*2*pi*u_si*(0:M-1).')/sqrt(M);
i_x = 10^(INR/20)*v_i*(randn(1,N)+1i*randn(1,N))/sqrt(2);

%The three signals are added to produce the overall array signal
x = s + i_x + w;

% Two beamformers (steered to phi = 0.) are applied to the resulting array returns: a spatial matched
% filter and a tapered beamformer with a -50-dB sidelobe level. The resulting beamformer output
% signals are shown in Figure 11.15. The spatial matched filter is unable to reduce the jammer
% sufficiently to observe the target signal at n = 100. However, the tapered beamformer is able
% to attenuate the jammer signal below the thermal noise level and the target is easily extracted.
% The target signal is approximately 18.5 dB with the -1.5 dB loss due to the tapering loss in (11.2.24).

%% Spatial Matched Filter or Steering Vector Beamformer.
c_mf = exp(-1i*2*pi*u_s*(0:M-1).')/sqrt(M);   

% Spatial Dolph-Chebychev Window of length M = 20 with -50 dB sidelobe attenuation:
w = chebwin(M,50);

% Compute the Combined Taper by taking the Hadamard product:
c_mft = c_mf.*w;

% Normalize the combined taper vector:

🎉3 参考文献

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

[1]罗日成,李卫国,李成榕.基于阵列信号处理的变压器内局部放电源多目标定位方法[J].电网技术, 2006, 30(1):5.DOI:10.3321/j.issn:1000-3673.2006.01.013.

[2]张小飞,汪飞,徐大专.阵列信号处理的理论和应用[M].国防工业出版社,2010.

[3]罗景青,保铮.雷达阵列信号处理技术的新发现(一)[J].现代雷达, 1993, 15(2):11.DOI:CNKI:SUN:XDLD.0.1993-02-015.

[4]马友科,宋万杰,吴顺君,等.基于多DSP的雷达阵列信号处理系统[J].雷达科学与技术, 2009, 7(2):4.DOI:10.3969/j.issn.1672-2337.2009.02.008.

🌈4 Matlab代码实现

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

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

相关文章

关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run

相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人 经过几次各种尝试无果之后,博主就放弃死磕了,原谅博主是个菜鸟 后来遇到这样的问题,往往也就直接使用cm…

Python爬虫-抓取的目标数据为#x开头,怎么解决?

前言 本文是该专栏的第4篇,后面会持续分享python爬虫案例干货,记得关注。 在做爬虫项目的时候,有时候抓取的平台目标数据为&#x开头,如下图所示: 浏览器显示的正常数据,但通过爬虫协议获取到的网页源码数据却是以&#x开头的隐藏数据,遇到这种情况,爬虫需要怎么处…

【Linux从入门到精通】文件I/O操作(C语言vs系统调用)

文章目录 一、C语言的文件IO相关函数操作 1、1 fopen与fclose 1、2 fwrite 1、3 fprintf与fscanf 1、4 fgets与fputs 二、系统调用相关接口 2、1 open与close 2、2 write和read 三、简易模拟实现cat指令 四、总结 🙋‍♂️ 作者:Ggggggtm 🙋‍…

Golang bitset 基本使用

安装: go get github.com/bits-and-blooms/bitset下面代码把fmtx换成fmt就行 //------------基本操作------------//构建一个64bit长度的bitsetb : bitset.New(64)//放入一个数b.Set(10)fmtx.Println("add-10:", b.DumpAsBits()) // 0000000…

针对英特尔酷睿 CPU 优化,Canonical 发布 Ubuntu 实时内核

导读Canonical 今天宣布针对支持时序协调运算(TCC)和时间敏感网络(IEEE TSN)的英特尔酷睿处理器,推出优化版实时 Ubuntu 内核。 Canonical 于今年 2 月宣布,为购买 Ubuntu Pro 订阅,使用代号为 …

ESP8266(RTOS SDK)内嵌网页以实现WEB配网以及数据交互

【本文发布于https://blog.csdn.net/Stack_/article/details/131997098,未经允许不得转载,转载须注明出处】 1、执行make menuconfig,将http头由512改为更大的值,否则用电脑浏览器访问正常,但用手机浏览器访问会因为ht…

【快应用】list组件如何区分滑动的方向?

【关键词】 list组件、滑动方向、scroll 【问题背景】 有cp反馈list这个组件在使用的时候,不知道如何区分它是上滑还是下滑。 【问题分析】 list组件除了通用事件之外,还提供了scroll、scrollbottom、scrolltop、scrollend、scrolltouchup事件&#x…

九、多态(1)

本章概要 向上转型回顾 忘掉对象类型 转机 方法调用绑定产生正确的行为可扩展性陷阱:“重写”私有方法陷阱:属性与静态方法 多态是面向对象编程语言中,继数据抽象和继承之外的第三个重要特性。 多态提供了另一个维度的接口与实现分离&…

C++_模板初阶

在面向对象中,我们可以使用重载来实现多态。 但是问题在于,重载的函数仅仅是类型不同,代码复用率比较低,只要有新的类型出现时,就要增加对应的函数;另一方面它的代码可维护性比较低,一个出错可…

java实现文件的下载

系统日志的获取不可能每次都登录服务器,所以在页面上能够下载系统运行的日志是必须的 如何来实现日志的下载,这样的一个功能 前端我们用到的是window.open(...)这样可以发送一个get请求到后台 后台接收到get请求之后,如何实现对文件的下载 R…

2023/08/13_____JMM JAVA Memory Model JAVA内存模型

JMM JAVA Memory Model java内存模型 作用:缓存一致性协议,用于定义数据读写的规则(遵守,找到这个规则) JMM定义了线程2工作内存和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main …

提升效率!Go语言开发者不可错过的必备工具集合!

🌷🍁 博主猫头虎 带您 Go to Golang Language.✨✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1…

途乐证券-最准确的KDJ改良指标?

KDJ目标是技术剖析的一种重要目标之一,它是利用随机目标(%R)发展而来的,是一种反映商场超买和超卖状况的买卖目标。KDJ目标由快线(K线)、慢线(D线)和随机值(J线&#xff…

MySQL多表查询

1.创建student和score表 创建score表 2.为student表和score表增加记录 向student表插入记录的INSERT语句如下: 向score表插入记录的INSERT语句如下: 1.查询student表的所有记录 2.查询student表的第2条到4条记录 3.从student表查询所有学生的学号&#…

mousedown拖拽功能(vue3+ts)

因为项目有rem适配,使用第三方插件无法处理适配问题,所有只能自己写拖拽功能了 拖拽一般都会想到按下,移动,放开,但是本人亲测,就在div绑定一个按下事件就行了(在事件里面写另外两个事件&#x…

爬虫ip池越大越好吗?

作为一名资深的程序员,今天我要给大家分享一些关于爬虫ip池的知识。关于ip代理池的问题,答案是肯定的,池子越大越好。下面跟我一起来盘点一下ip池大的好处吧! 1、提高稳定性 爬虫ip池越大,意味着拥有更多可用的爬虫ip…

「C/C++」C/C++搭建程序框架

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C」C/C程序设计「Win」Windows程序设计「DSA」数据结构与算法「File」数据文件格式 目录 1. 分离职…

Flume原理剖析

一、介绍 Flume是一个高可用、高可靠,分布式的海量日志采集、聚合和传输的系统。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制&…

使用阿里云服务器搭建Discuz论坛网站教程基于CentOS系统

阿里云百科分享使用阿里云服务器建站教程,本文是搭建Discuz论坛,Discuz!是一款通用的社区论坛软件系统,它采用PHP和MySQL组合的基础架构,为您提供高效的论坛解决方案。本文介绍如何在CentOS 7操作系统的ECS实例上搭建Discuz! X3.4…

Nginx 安装与部署

文章和代码已经归档至【Github仓库:https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 nginx 也可获取。 文章目录 虚拟机安装CentOS7.4Linux配置配置上网配置静态ip Nginx的安装版本区别备份克隆 安装编译安装报错解决 启动Nginx防…