• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: Matlab
  • 标签: doa  music  

资源简介

matlab仿真利用简单的music算法对到达天线阵列的信号进行到达角估计。

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% FUNCTION: music.m
%
% AUTHOR: Steve Kogon

% DATE: January 18 1999
%
% DEscriptION: This file forms an estimate of the frequency spectrum using 
%              MUSIC algorithm (spectral version) (Schmidt 1986).
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%-----------------------------------------------------------
% Copyright 2000 by Dimitris G. Manolakis Vinay K. Ingle
% and Stephen M. Kogon.  For use with the book
% “Statistical and Adaptive Signal Processing“
% McGraw-Hill Higher Education.
%-----------------------------------------------------------


function [festRbar] = music(xPMNfft)
% x = signal
% P = number of complex exponentials
% M = time-window length
% Nfft = number of FFT frequencies

% Generate data matrix
N = length(x) - M + 1;
X = zeros(NM);
for n = 1:M
   X(:n) = x((1:N)+ (M-n));
end
R = (1/N)*X‘*X;                % estimate correlation matrix

% Compute eigendecomposition and order by descending eigenvalues
[Q0D] = eig(R);
[lambdaindex] = sort(abs(diag(D)));
lambda = lambda(M:-1:1);
Q=Q0(:index(M:-1:1));

% Compute pseudo-spectrum
f = (-Nfft/2:(Nfft/2-1))/Nfft;                % FFT frequencies
Qbar = zeros(Nfft1);
for n = 1:(M-P)
   Qbar = Qbar + abs(fftshift(fft(Q(:M-(n-1))Nfft))).^2;
end
Rbar = 1./Qbar;

% Find local maxima (values of Rbar that are larger than their neighbors)
z1 = Rbar(2:(Nfft-1)) - Rbar(1:(Nfft-2));
z2 = Rbar(2:(Nfft-1)) - Rbar(3:Nfft);
peak_index = find((z1 > 0) & (z2 > 0)) + 1;
if Rbar(1) > Rbar(2)
   peak_index = [1 
      peak_index];
end
if Rbar(Nfft) > Rbar(Nfft-1)
   peak_index = [peak_index
                 Nfft];
end
Npeaks = length(peak_index);
f_peaks = f(peak_index);

% Determine the P largest peaks (taken from local maxima)
[dummyfest_index] = sort(Rbar(peak_index));
fest = f_peaks(fest_index(Npeaks:-1:(Npeaks-P+1))).‘;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2024  2011-09-11 15:28  music.m

----------- ---------  ---------- -----  ----

                 2024                    1


评论

共有 条评论