clear all; 
close all; 
clc; 
%--------------------------------- 
%信号参数设置 
Signal_No = 1; 
Interference_No = 2;%小于五 
S_No = Signal_No + Interference_No; %信号总数
%Xm(n)=S(n)+Nm(n)
sensor_No = 12; %阵元数 
%阵元M
azimuth = [0*pi/180 -40*pi/180 50*pi/180 30*pi/180 20*pi/180]; %方位角
%Ai=[A1.i,A2.i,....Am.i] 
Fs = 50e6; 
Fc = 10e6; 
F1 = [8e6 9e6 10e6 11e6]; %干扰功率
RB = 1e6; 
M = 2; %二进制 
wavelength = 3e8/Fc; 
d = wavelength/2; 
K = 300;  %快拍数 
Ps = 0; %dB 
SNR = -15; 
SIR = -90; 
M_No = 40; %码速率等于信息速率 
Data_No = M_No*Fs/RB; 
t = 1/Fs:1/Fs:Data_No/Fs; 
%--------------------------------- 
%功率转换 
Ps_l = 10^(Ps/10); 
Pi_l = 10^((Ps-SIR)/10); 
Pn_l = 10^((Ps-SNR)/10); 
%---------------------------------
 %信号生成 
bit = randint(1,M_No);          %产生信息序列 
bitstream = []; 
for i = 1:M_No 
 if bit(i) == 1 
      bitstream = [bitstream, ones(1, Fs/RB)];
   else 
      bitstream = [bitstream, -ones(1, Fs/RB)];  
  end 
end 
Carrier_R = cos(2*pi*Fc*t); 
S_R = Carrier_R .* bitstream; 
Carrier_I = sin(2*pi*Fc*t); 
S_I = Carrier_I .* bitstream; 
Signal_R = sqrt(Ps_l)*S_R/sqrt((S_R*S_R'/length(S_R))); 
Signal_I = sqrt(Ps_l)*S_I/sqrt((S_I*S_I'/length(S_I)));%生成BPSK复信号 
Signal(1,:) = complex(Signal_R, Signal_I); 
%--------------------------------- 
% %产生干扰 
for i = 2:Interference_No +1 
  Signal(i,:)=sqrt(2*Pi_l)*complex(sin(2*pi*F1(i-1)*t+pi/10*i).*sin(2*pi*F1(i-1)*t+pi/10*i));
end 
%--------------------------------- 
% 模拟天线接收 
%---------------------------------- 
%四次循环 
name = [' 3',' 6',' 9','12']; 
for mmm =1:4 
sensor_No = mmm*3; 
As = zeros(sensor_No,S_No); 
for i = 1:sensor_No
   for ii = 1:S_No 
    As(i,ii) = exp(-1i*2*pi*sin(azimuth(ii))*d/wavelength*(i-1)); 
   end 
end 
 x = As * Signal;

% %--------------------------------- 
% %加噪声 
noise_R = randn(sensor_No,Data_No)*sqrt(Pn_l); 
noise_I = randn(sensor_No,Data_No)*sqrt(Pn_l); 
noise = complex(noise_R, noise_I); s = x + noise; 
%--------------------------------- 
%lcmv算法 
% Ad = [1 0 0 0 0 0 0 0 0 0 0 0 ]'; 
Ad = (As(:,1)); 
x1 = s(:,(1:K)); 
Rx=x1*x1'/K; 
 alfa=inv(Ad'*inv(Rx)*Ad); 
 Wopt=alfa*inv(Rx)*Ad; 
%------------------------ 
%---------------------------------
%mvdr 
% Ad = (As(:,1));
% x1 = s(:,(1:K)); 
% Rx=x1*x1'/K; 
% QR_Wopt1 = inv(Rx)*Ad; 
% Wopt=QR_Wopt1./QR_Wopt1(1); 
%--------------------------------- 
%波束图 
figure(1) 
whitebg('k'); 
all_azimuth = -pi/2:pi/180:pi/2; 
LMS_R = zeros(1,181); 
for i = 1:181 
  for m = 1:sensor_No
     LMS_R(i) = LMS_R(i) + conj(Wopt(m)) * exp(-1i*2*pi*sin(all_azimuth(i))*d/wavelength*(m-1)); 
  end 
  LMS_P(i) = (abs(LMS_R(i)))^2; 
end 
LMS_PdB = 10*log10(LMS_P/max(LMS_P));
 switch mmm 
   case 1 
    plot(all_azimuth*180/pi,LMS_PdB,'--g','LineWidth',2);hold on;
   case 2 
    plot(all_azimuth*180/pi,LMS_PdB,'.b','LineWidth',2);
   case 3 
    plot(all_azimuth*180/pi,LMS_PdB,'-.w','LineWidth',2);
   case 4 
    plot(all_azimuth*180/pi,LMS_PdB,':r','LineWidth',2);
 end 
grid on; 
axis([-90 90 -70 10]);
xlabel('方位角(度)') 
ylabel('阵列增益(dB)') 
%title(strcat('阵元数',name([2*mmm-1:2*mmm]),'个  ')); 
% figure(2); 
% polar ((-pi/2:pi/180:pi/2),LMS_PdB+109); figure(gcf);
 end 
hl=legend('阵元数3个','阵元数6个','阵元数9个','阵元数12个',1); 
%set(hl,'edgecolor','w','color',[1 1 1]); 
set(hl,'edgecolor','w','color',[0 0 0]); 
title('自适应波束形成'); 
drawnow;

线性约束最小方差准则相关推荐

  1. 【自适应波束形成算法】 ---- 线性约束最小方差准则(公式推导)

    波束形成是阵列信号处理中的一个重要领域.常规的波束形成,可以通过FFT是实现,其权矢量一般由期望方向的导向矢量加窗后得到. 假设有一个由N个阵元组成的线阵,有一来自方向的来波信号入射到阵元上,其导向矢 ...

  2. 无偏估计和最小方差无偏估计简介

    无偏估计和最小方差无偏估计 无偏估计:Unbiased Estimation 最小方差无偏估计: Minimum Variance Unbiased Estimation (MVU) 前言 在正式开始 ...

  3. 波束形成:最小方差无畸变响应波束形成器(MVDR)

    MVDR波束形成器 1. 问题描述   假设远场空间有一个感兴趣的信号 d ( t ) d\left(t\right) d(t),称为期望信号,其波达方向为 θ d \theta_d θd​,和 J ...

  4. 分布估计算法java_数理统计8:点估计的有效性、一致最小方差无偏估计(UMVUE)、零无偏估计法...

    在之前的学习中,主要基于充分统计量给出点估计,并且注重于点估计的无偏性与相合性.然而,仅有这两个性质是不足的,无偏性只能保证统计量的均值与待估参数一致,却无法控制统计量可能偏离待估参数的程度:相合性只 ...

  5. 统计信号处理:(估计二) 最小方差无偏估计

    最小方差无偏估计 2.1 无偏估计量 ​ 无偏估计意味着估计量的平均值为未知参数的真值.如果 E[θ^]=θ,a<θ<bE[\hat{\theta}]=\theta, a<\thet ...

  6. 2019-10-12 线性最小方差估计和正交定理

    很多东西再看第二遍的时候,都有一种恍然大悟的感觉 参数估计方法 现代控制理论中往往要通过观测值对系统内部结构参数进行估计,类似于我们常用的线性最小二乘法,举例:二维坐标(身高.年龄)给一堆的点,找俩参 ...

  7. 【图论】Tree之最小方差树(bzoj 3754)

    正题 bzoj 3754 题目大意 求最小方差生成树 解题思路 可以枚举数值之和,然后跑最小生成树 每次加25,这样可以提高速度,且如果平均数接近,那么所选的边和答案会相同,再暴力跑一遍即可 code ...

  8. 【51nod - 1098】 最小方差(基础数学,公式化简,前缀和,积的前缀和)

    题干: 若x1,x2,x3--xn的平均数为k. 则方差s^2 = 1/n * [(x1-k)^2+(x2-k)^2+--.+(xn-k)^2] . 方差即偏离平方的均值,称为标准差或均方差,方差描述 ...

  9. 最小方差问题---------------给你出道题

    很多首诗,每首诗中包含很多字.我当然要用倒排索引了,对每个字建立索引,形式如下: 字1 诗11 诗12 诗13 字2 诗21 诗22 ...... 用户查询的是一个诗句,我把这个诗句中的每个字都摘出来 ...

  10. python量化策略——大类资产配置模型(最小方差模型)

    最小方差模型 寻求风险最小的大类资产组合. max⁡=XTΣX\max=X^{T}\Sigma Xmax=XTΣX s.t.ΣX=1,Xi≥0,i=1,2,3...s.t. \quad \Sigma ...

最新文章

  1. 改善AI性别偏见的4种方法 | CSDN博文精选
  2. Python字符串的编码与解码(encode与decode)
  3. android 日期选择器
  4. python深拷贝,浅拷贝,赋值引用
  5. 即时通讯的企业应用和个人应用的区别
  6. JDK8新特性(三)之常用内置函数式接口
  7. 频繁使用花呗、借呗、微粒贷、京东白条会影响在银行的信用吗?
  8. 《cmake practice》总结 | cmake的构建过程与基本指令
  9. 181116每日一句
  10. Lockdir 文件夹加密 破解
  11. vi/vim操作手册
  12. 计算机音乐公子,抖音公子在等谁是什么梗 公子在等谁背景音乐《心机》
  13. 翻译翻译什么叫HTML5(四)jQuery——给我的网页换个小皮肤
  14. UIAutomatorViewer
  15. 村田 | 用于人机界面和生命体征检测的压电薄膜传感器
  16. 云服务器几核CPU够用
  17. word中硬回车(enter)与软回车(shift+enter)
  18. ReactHooks——使用lodash中的throttle
  19. 猿团专访 |以技术推动发展 msup 成为企业经验智库
  20. MySQL 5.7数据库参数优化

热门文章

  1. 我的修炼体会--明亭【转】
  2. 荣耀Magic 3Pro 充电架构分析
  3. 关于 PHP 的框架 phalcon 学习(一) url 路由过程。
  4. 响应式布局的基本介绍及原理
  5. Ubuntu扩展系统根目录磁盘空间
  6. Python自动化处理和分析Excel数据的基本方法
  7. java——API——ArrayList集合
  8. 第八篇,滤波:二阶低通滤波、卡尔曼滤波
  9. tableau数据汇总/明细/分-总的行列展示— Lee桑的学习笔记
  10. linux怎么进sda12,VMare12.0.1安装Ubuntu16.04.2遇到[sda] Assuming drive cache