Matlab中collectPlaneWave函数的应用

查看文档如下:

可以看出最多5个参数,分别是阵列对象,信号幅度,入射角度,信号频率,光速。

在下面的代码中,我们先创建一个3阵元的阵列,位置为:(-1,0,0),(0,0,0),(1,0,0)。然后创建入射信号,其方位角位180度,高度角为45度。

matlab 复制代码
clear
close all
clc

% 定义信号参数
fc = 1e9; % 频率 1 GHz
c = physconst('LightSpeed'); % 光速
lam = c/fc;
incidentAngle = [180; 45]; % 入射角度(方位角 180 度,高度角 45 度)
kw = 2*pi*fc/c;

% 定义天线元素位置,分别位于 x 轴上的 -1, 0 和 1
ant = lam/2*[-1 0 1; 0 0 0; 0 0 0]; % 3 个天线元素的位置

% 创建符合阵列对象
array = phased.ConformalArray('ElementPosition', ant);

% 发射信号参数
signalAmplitude = 1; % 信号的幅度

% 收集入射信号
sig = collectPlaneWave(array, signalAmplitude, incidentAngle, fc, c);

% 显示结果
disp('收集到的信号:');
disp(sig);
sig2 = conj(sig);

kw = 2*pi*fc/c;
phy = kw*lam/2/sqrt(2);                         % 利用几何直接计算(1,0,0)处比(0,0,0)超前的相位
phy2 = atan2(imag(sig(1,1)), real(sig(1,1)));   % 根据收集到的信号计算(1,0,0)处比(0,0,0)超前的相位

运行之后结果为:

matlab 复制代码
收集到的信号:
 -0.6057 + 0.7957i   1.0000 + 0.0000i  -0.6057 - 0.7957i

同时我们也可以在工作区看到,对于两种计算相位的方式,其结果是一样的。

相关推荐
yong99909 小时前
基于多普勒连续波雷达原理的MATLAB测速程序
开发语言·matlab
WXG101110 小时前
【matlab】matlab点云处理
开发语言·matlab
信号处理学渣11 小时前
matlab之将一个升序数组按照元素值连续与否分成多组
数据结构·算法·matlab
Evand J13 小时前
【MATLAB雷达滤波代码】二维,单雷达跟踪与滤波。EKF融合雷达的距离、角度+目标IMU数据。附代码下载链接
开发语言·matlab·雷达·ekf·雷达跟踪·角度观测
非著名架构师14 小时前
【光伏功率预测】EMD 分解 + PCA 降维 + LSTM 的联合建模与 Matlab 实现
人工智能·matlab·lstm·高精度光伏功率预测模型
北京青翼科技16 小时前
【PCIE044】基于复旦微 JFM7VX690T 的全国产化 FPGA 开发套件
图像处理·人工智能·fpga开发·信号处理·智能硬件
yugi98783816 小时前
TDOA算法MATLAB实现:到达时间差定位
前端·算法·matlab
t1987512816 小时前
基于因子图与和积算法的MATLAB实现
开发语言·算法·matlab
rit843249916 小时前
MFOCUSS算法MATLAB实现:稀疏信号重构
算法·matlab·重构
free-elcmacom17 小时前
MATLAB物理仿真<1>电磁场有限元仿真
开发语言·matlab·电磁场仿真