微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > LABVIEW与MATLAB混合编程(关于labview和matlab中波形图横轴的不同的问题)

LABVIEW与MATLAB混合编程(关于labview和matlab中波形图横轴的不同的问题)

时间:10-02 整理:3721RD 点击:
第一幅图是在matlab运行后的图,第二幅图是在labview前面板实现的波形图,用的是相同的程序,是波束形成LMS算法的,第三幅图是与前面板对应的程序框图。我想问的是labview中波形图的横轴可以改为角度吗与第一幅图对应。




%% LMS波束形成的MATLAB仿真程序
clear all
close all
clc
j=sqrt(-1);
M=32;                                     % 天线的数量
K=2;                                      % 来源的数量
theta=[10 20];                             % DOA
d=0.3;                                    % 天线间距
N=5;                                    % 样品
Meann=0;  varn=1;                         % 噪声平均值,噪声方差                              
SNR=10;                                   % 信噪比
INR=10;                                   % 干扰比
pp=zeros(200,N);
pp1=zeros(200,N);
rvar1=sqrt(varn) * 10^(SNR/20);           % 信号功率
rvar2=sqrt(varn) * 10^(INR/20);           % 干扰力
for q=1:100
s=[rvar1*exp(j*2*pi*(500*0.001*[0:N-1]));rvar2*exp(j*2*pi*(2000*0.001*[0:N-1]+rand))]; % 产生源信号
A=exp(-j*2*pi*d*[0:M-1].'*sin(theta*pi/180));   % 方向矩阵
e=sqrt(varn/2)*(randn(M,N)+j*randn(M,N));       % 噪音
Y=A*s+e;                                        % 收到的数据
% LMS算法
L=400;
de =s(1, :);
mu=0.0001;
w = zeros(M, 1);
for k = 1:N
    y(k) = w'*Y(:, k);               % 预测下一个样本和错误
    e(k)  = de(k) - y(k);            % error
    w = w + mu * Y(:,k)*conj(e(k));  % 适应重量矩阵和步长
end
end
% 使用LMS方法进行波束成形
beam=zeros(1,L);
for i = 1 : L
   a=exp(-j*2*pi*d*[0:M-1].'*sin(-pi/2 + pi*(i-1)/L));
   beam(i)=20*log10(abs(w'*a));
end   
% plotting
figure
angle=-90:180/400:(90-180/400);
plot(angle,beam,'k'); grid on
title('波束图');xlabel('角度/degree');ylabel('幅度响应/dB');
axis([-45 45 -50 0]);
legend('LMS');

有大神能指导一下吗

求各位大神指点啊

你这个能仿真成功吗

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top