实验概述
假设两个阵元接收到的是单频平面波,时间为
T
T
T,阵元间隔为
λ
2
\frac{\lambda}{2}
2λ,目标与阵列法向方向夹角为
θ
\theta
θ。利用两个阵元接收到的时域信号分辨平面波的方向。
Method:互谱法
互谱法
- 两个阵元接收到的时域信号分别为 s 1 ( t ) = s ( t ) s_1(t)=s(t) s1(t)=s(t)和 s 2 ( t ) = s ( t + τ ) s_2(t)=s(t+\tau) s2(t)=s(t+τ),则两者之间的频谱关系为 s 1 ( f ) = s ( f ) s_1(f)=s(f) s1(f)=s(f)和 s 2 ( f ) = s ( f ) e j 2 π f τ s_2(f)=s(f)e^{j2\pi f \tau} s2(f)=s(f)ej2πfτ。
- 在 f 0 f_0 f0处的对两个频谱值共轭相乘 s h p = s 1 ∗ ( f 0 ) s 2 ( f 0 ) = ∣ s ( f ) ∣ 2 e j 2 π f τ shp=s_1^{*}(f_0)s_2(f_0)=|s(f)|^{2}e^{j2\pi f \tau} shp=s1∗(f0)s2(f0)=∣s(f)∣2ej2πfτ
- 求出时间差 τ \tau τ τ = 1 2 π f 0 a r c t a n ( I m ( s h p ) R e ( s h p ) ) \tau=\frac{1}{2\pi f_0}arctan(\frac{Im(shp)}{Re(shp)}) τ=2πf01arctan(Re(shp)Im(shp))
- 根据时间差反演出入射角 θ \theta θ θ = a r c s i n ( 2 c τ d ) \theta=arcsin(\frac{2c\tau}{d}) θ=arcsin(d2cτ)
代码实现
clc;clear;
theta=pi/6;
fs=1000;
f0=100;
N=1024;%fft点数 考虑了实际工程中 2的幂次方个数的点fft效率高
ts=1;
t=0:1/fs:ts-1/fs;
c0=1500;
lambda=c0/f0;%平面波波长
d=lambda/2;%阵元间距
tao=d*sin(theta)/c0;%阵元接收的信号的时间差
st1=sin(2*pi*f0*t);%阵元1接收到的信号
st2=sin(2*pi*f0*(t+tao));%阵元2接收到的信号 存在时延相差
sf1=fft(st1,N);%补零作fft
sf2=fft(st2,N);
index=fix(f0/(fs/N))+1;%找到f0对应的那根谱线
shp=conj(sf1(index))*sf2(index);%求互谱值
temp=imag(shp)/real(shp);%求相角的正切值
res=atan(temp)/(2*pi*f0);
angel=asin(c0*res/d)/(2*pi)*360;%反演得到平面波的入射方向