多个信号的波达方向估计使用阉鸡(MVDR) beamformer

99(30天)
大家好。我在写一个剧本来比较两种估计direction-of-arrval波束形成方法:常规(Bartlett) beamformer和MVDR beamformer(阉鸡)。,一切工作正常,当只有一个信号到达天线阵。但是,当我添加另一个信号从不同的方向,阉鸡男朋友返回不正确的空间功率谱。两座山峰光谱中总是约2.5 dB以上地板水平信号噪声比(不管)。当我改变信噪比,整个频谱向上或向下转移但peak-to-floor比率保持不变。另一方面,传统beamformer没问题对1和2到达的信号。我正忙着但是没有效果的代码。你知道如何获得适当的空间功率谱阉鸡男朋友的两个或两个以上的信号收到了吗?致以最亲切的问候。 Here is my script:
清晰的所有;关闭所有;
fs = 10 e6;%采样频率
ts = 1 / f;
T = 0.0001;%信号持续时间
t = 0: ts: T-ts;
Ns =长度(t);%的样本数量
fc = 1 e6;% freqiency载体
λ= 3 * 10 ^ 8 / fc;%的波长
M = 10;% Unliform线性阵列天线元素的数量
d = 0.5 *λ;% neigbouring天线之间的距离
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
s1 = exp(1 * 2 *π* fc * t);%信号到达阵列相位中心(第一天线)
%单到达信号——没问题传统和阉鸡
% BEAMFORMERS
% teta =[40] / 180 *π;%的方向到达度
%两个到达信号-传统的男朋友好,阉鸡BF -光谱无效! ! !
teta =[0, 40] / 180 *π;%的到达方向度
amp = [1];%振幅的信号
delta_fi = 2 *π* d /λ* sin (teta);%通过neogbouring元素之间的相对相位延迟的信号接收
m = 1: m;
非盟(:,m) = exp(1我* ((m - 1) * delta_fi));%转向向量
结束
x = 0 (M, Ns);
k = 1:长度(teta);
x = x + amp (k) *非盟(k,:)。”* s1 * exp(我* randn ());%数据天线输出的元素
结束
信噪比= 10;%信噪比在分贝
深圳=(2 ^(-0.5))* 12(10 ^(信噪比/ 10))* (randn (M, Ns) + 1我* randn (M, Ns));%复杂的高斯噪声
Px = var (aU (k, 1)。* s1 * exp(我* randn ()));%的信号
x = x +深圳;%增加噪音
Psz = var(深圳(1:));%噪声方差
Rxx = x * x ' / Ns;%数据协方差矩阵
SNR_true = 10 * log10 (Px / Psz)在dB %真实的信噪比
iRxx =发票(Rxx);%的协方差矩阵的逆
teta_v = -π/ 2:π/ 180:π/ 2;%的范围扫描方向弧度
teta_v_deg = teta_v /π* 180;%一样但在度以上
Nteta =长度(teta_v);%的扫描方向
k = 1: Nteta;%扫描循环
% k
teta = teta_v (k);%当前scannig方向
delta_fi = 2 *π* d /λ* sin (teta);% relateive相位延迟
m = 1: m;
我(m) = exp (1 * ((m - 1) * delta_fi));%转向向量
结束
一个=。';%的转置转向向量
wbf =一个;%的常规波束形成的权向量
Pbf (k) = wbf ' * Rxx * wbf;传统beamformer %的空间功率谱
wMVDR = (iRxx *) / (“* iRxx *);%为Caponbeamforming权向量
PMVDR (k) = wMVDR ' * Rxx * wMVDR / 1;%的空间功率谱阉鸡beamformer
结束
Pbf_dB = 10 * log10 (Pbf);%在对数尺度谱
PMVDR_dB = 10 * log10 (PMVDR);
情节(teta_v_deg Pbf_dB,“k”,“线宽”2);
轴([-90 90 0 20 * log10 (M) + 5))
包含(“θ\[\保监会]”);
ylabel (“P(\θ)”,“旋转”,0);
情节(teta_v_deg PMVDR_dB,“k”,“线宽”2);
包含(“θ\[\保监会]”);
ylabel (“P(\θ)”,“旋转”,0);

接受的答案

宏磊陈
宏磊陈 2016年8月8日
我将用以下代码替换你的信号定义
x = x + amp (k) *非盟(k,:)。”* exp(我* randn(大小(t)));
HTH

更多的答案(3)


Reeha Syed
Reeha Syed 2021年4月22日
编辑:Reeha Syed 2021年4月22日
我观察到音乐1 d和2 d DOA估计算法和现在想知道他们的波束形成模式,我需要写一个独立的代码呢?
2的评论

登录置评。


托尼阿扎尔的
托尼阿扎尔的 2022年6月1日
请参阅示例“传统和自适应Beamformers”:
这个例子比较传统自适应Beamformers (MVDR &淋巴细胞脉络丛脑膜炎病毒)。

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!