当前位置:   article > 正文

OMP算法估计DOA_omp算法 doa

omp算法 doa
  1. %% 经典OMP算法
  2. clc
  3. clear all
  4. close all
  5. %% 阵列参数
  6. M = 10;%%阵元数
  7. theta = [20 30 51];%%入射信源角度
  8. K = length(theta);%信源数
  9. d = 0.5;%阵元间距半波长
  10. dd = 0:M-1;%阵列流形序号
  11. SNR = 20;%信噪比
  12. %% 构造接收信号
  13. grid = -90:90;
  14. L = length(grid);
  15. x = zeros(L,1);
  16. x(theta+91) = 1;
  17. a = exp(1i*2*pi*d*dd'*sind(grid));%阵列流形矩阵
  18. y = a*x;%信号接收矩阵
  19. y = awgn(y,SNR,'measured');%添加高斯白噪声 (measured 表示使用实际测量的信噪比)
  20. %% 初始化
  21. r(:,1) = y;%初始残差
  22. label_set = [];%初始标签集
  23. %% 迭代
  24. iter = K;%迭代次数
  25. for j = 1:iter
  26. for i = 1:L
  27. correlated_atom(i) = abs(r(:,j)'*a(:,i));
  28. end
  29. [~,index] = max(abs(correlated_atom));%辨识
  30. label_set = [label_set,index];
  31. x_est{:,j} = pinv(a(:,label_set)'*a(:,label_set))*a(:,label_set)'*y;%估计
  32. r(:,j+1) = y-a(:,label_set)*x_est{:,j};%更新残差
  33. end
  34. doa = sort(grid(label_set));
  35. disp(doa)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/725776
推荐阅读
相关标签
  

闽ICP备14008679号