奇异值分解MVDR算法功率谱估计MATLAB完整程序分享

news/2024/10/18 5:54:53/

clear ;close all;clc;

产生输入信号

N = 1024;               %样本点数
snr=[20 25 30];         %信噪比
n=0:N-1;                %数据轴
g=100;                  %蒙特卡诺仿真次数
M=14;                   %阶数
Pmvdr_s=zeros(3,1024);  %存放MVDR谱
signal1 = exp(1i*0.15*2*pi*n + 1i*2*pi*rand);
signal2 = exp(1i*0.25*2*pi*n + 1i*2*pi*rand);
signal3 = exp(1i*0.30*2*pi*n + 1i*2*pi*rand);
Un = signal1 + signal2 + signal3;

蒙特卡诺仿真

for i=1:3for k=1:gun=awgn(Un,snr(i),'measured');%% SVDA=zeros(M,N-M+1);       %构造数据矩阵for n=1:N-M+1A(:,n)=un(M+n-1:-1:n);end[U,S,V]=svd(A');invphi=V*inv(S'*S)*V';  %类似于自相关矩阵逆矩阵%% 计算MVDR谱P = 1024;               %MVDR扫描点数f=linspace(-0.5,0.5,P); %频率轴omega=2*pi*f;           %归一化角频率a=zeros(M,P);           %频率导向矢量for kk=1:Pfor m=1:Ma(m,kk)=exp(-1j*omega(kk)*(m-1));endendPmvdr=zeros(1,P);       %MVDR谱for kk=1:PPmvdr(kk)=1/(a(:,kk)'*invphi*a(:,kk));endPmvdr=10*log10(abs(Pmvdr/max(abs(Pmvdr))));Pmvdr_s(i,:) =Pmvdr_s(i,:)+Pmvdr;end
end
Pmvdr_s=Pmvdr_s/g;

绘图

figure;
hold on
plot(f,Pmvdr_s(1,:));
plot(f,Pmvdr_s(2,:));
plot(f,Pmvdr_s(3,:));
hold off
xlabel('w/2Π');ylabel('归一化功率谱 (dB)');
legend('SNR=20','SNR=25','SNR=30');
title('MVDRSVD频率估计方法');
grid on

 


http://www.ppmy.cn/news/576179.html

相关文章

【显卡配置】其实很简单,按照这个比例配置就可以了:

显卡配置选型: 1.GPU显存与内存是一个1:4的配比: 比如说我们上了2张3090显卡叠加显存是48GB(每张24G显),那机器的内存建议上到192GB。(48*4192GB),预算有限的话稍微降低一点也是可…

linux hd4000显卡驱动,AMD Radeon HD 2000/HD 3000/HD 4000系列显卡驱动怎么样

20 楼 华军网友 :2017-06-01 发表 下载完AMD Radeon HD 2000/HD 3000/HD 4000系列显卡驱动以后提示有毒?是我电脑的问题还是软件的问题啊,不应该有这种情况。 19 楼 华军网友 :2017-04-10 发表 感觉还不错,AMD Radeon …

读故事记BEC英语单词(三)

故事 As Alex’s new venture continued to flourish, he recognized the importance of fostering innovation within his organization. He established an internal culture that encouraged creativity and out-of-the-box thinking. By implementing regular brainstormi…

gpu-z怎么用,显卡怎么看体质

http://jingyan.baidu.com/article/6f2f55a1a50ac1b5b83e6c7a.html

Unity提供免费桌面6核24G显卡6G

Unity是啥? Unity是一种跨平台的2D和3D游戏引擎,由Unity Technologies研发,可开发跨平台的视频游戏、并延伸于基于WebGL技术的HTML5网页平台,以及tvOS、Oculus Rift、ARKit等新一代多媒体平台,语言使用的是C#和C++。 Unity桌面具体信息 本次,Unity专门在中国区(北京、上…

SkyWalking--traceId的作用

原文网址:SkyWalking--traceId的作用_IT利刃出鞘的博客-CSDN博客 简介 本文介绍SkyWalking中traceId的作用。 traceId是什么 SkyWalking的一个核心功能就是:链路追踪。链路追踪就是跟踪一个请求的所有链路,而这个链路都是通过一个id来串起…

下载好了python, 但是cmd打不开是怎么回事

因为环境变量没设置好 1. 把python安装路径添加到环境变量——系统变量——path里面 2. 把python安装路径中地/scripts也添加到环境变量——系统变量——path里面 再次尝试应该可以成功

计算机突然启动不了,电脑为什么突然打不开_电脑为什么打不开了-win7之家

我们有时打开电脑是会发现电脑突然就打不开了,这个情况时常就会有一次,相信很多用户也遇到过,那么电脑为什么突然打不开呢,这有可能是内存条上都是灰导致的,也有可能是其他的问题,下面小编给大家分享电脑打…