毫米波雷达测量微米量级振动方法

chirp group generation

原理推导

一维FMCW距离FFT。在一段时间内连续对差拍信号采样,然后快时间FFT得到距离-时间谱矩阵。(后面有代码实现。)

 可以用reshape,将长时间信号重新排列成矩阵。注意时间td的设置
 reshape(xn,[Na,Nr])

S I F ( n T + t ) : = S I F ( n , t ) → 距离门 F F T S ( n ) = A e 4 π f c D ( t ) c S_{IF}(nT+t) := S_{IF}(n,t) \xrightarrow{距离门FFT} S(n) = Ae^{4\pi f_c \frac{D(t)}{c}} SIF(nT+t):=SIF(n,t)距离门FFT S(n)=Ae4πfccD(t)

在这里插入图片描述

 如上图所示,传统的距离向FFT使用所有快时间样本为每个距离门生成一个慢时间样本
 如果将快时间样本分成不同的组并在每组中进行距离向 FFT,可以为每个距离门得到多个同步的慢时间样本。

S I F ( n , t ) → 距离门分组 F F T { S [ g ] ( n ) } g ∈ [ 1 , G ] S_{IF}(n,t) \xrightarrow{距离门分组 \quad FFT} \{S^{[g]}(n)\}_{g \in [1,G]} SIF(n,t)距离门分组FFT {S[g](n)}g[1,G]

(b)图在6个快速时间样本上使用大小为4的滑动窗口,获得具有2个样本的滑动步长的两个快速时间样本组。这相当于生成具有与原始Chirp不同起始频率两个较短的虚拟chirp。产生的chirp群具有相干性和差异性。发射不同载频的信号可以提高VSNR,提高拟合圆弧的准确性。

G表示chirp数量, Δ f c \Delta f_c Δfc表示每次偏移的频率。
Δ Θ = θ 0 [ g + 1 ] − θ 0 [ g ] = 4 π D 0 c ( f ) [ g + 1 ] ) \Delta \Theta = \theta_0^{[g+1]} - \theta_0^{[g]} = \frac{4 \pi D_0}{c} (f_)^{[g+1]}) ΔΘ=θ0[g+1]θ0[g]=c4πD0(f)[g+1])

close all;clear
fw = 100; %水下声源频率
P = 110;    %点声压
omega = 2*pi*fw; %角频率:/s
rho = 1;
c = 1500;   %声波在水介质的传播速度
lamda = c/fw     ;
k = 2*pi/lamda; %水面波动的波数:/m
mu = 1;%水介质粘度:Pa s
g = 9.8;%重力加速度:N/kg
sigma = 72.75e-3;%表面张力系数:N/m
alpha = 4*mu*k^2*sqrt(k*g+sigma*k^3/rho)/(rho*g+3*sigma*k^2/rho);
ymax = 2*P/omega/rho/c;
%----------------------FMCW测距---------------------------
h = 3;%雷达水上高度
fc = 77e9;%雷达中心频率
c0 =  3e8; %光速
lamda_r = c0/fc;
Br = 1e9;%雷达带宽
Tp= 3e-5; %chirp持续时间   %需要相位积累
Kr = Br/Tp;
fs = 1.2e7;
N = round(Tp*fs);
xx = 0; %声源处声致水面波振动
Refh = h;
Na = 10000;
t = linspace(0, Tp , N);
r = (0:N-1)/Br*c0/2;
yt = ymax * exp(-alpha * xx) * cos(k*xx - omega*t);
td = 2*(h+yt)/c0;
M_fft = zeros(Na,N);
for i = 1:Na
    tm = t + (i-1)*Tp;
Tx= exp(1j *2*pi*fc *tm  + 1j*pi* Kr* tm.^2 ) ;
Rx = exp(1j *2*pi*fc *(tm-td) + 1j*pi* Kr*(tm-td).^2 )  ;
Mix = Tx .* conj(Rx);
M_fft(i,:)= fft(Mix, N);
end
figure; imagesc(r,linspace(0,Na*Tp,Na),db(abs(M_fft)));
ylabel('时间/s');xlabel('距离/m');title('距离时间谱图');
% figure;heatmap(abs(M_fft));

在这里插入图片描述
差拍信号做FFT
也可以用reshape,将长时间信号重新排列成矩阵

 reshape(xn,[Na,Nr])

注意时间td的设置

close all;clear
fw = 100; %水下声源频率
P = 110;    %点声压
omega = 2*pi*fw; %角频率:/s
rho = 1;
c = 1500;   %声波在水介质的传播速度
lamda = c/fw     ;
k = 2*pi/lamda; %水面波动的波数:/m
mu = 1;%水介质粘度:Pa s
g = 9.8;%重力加速度:N/kg
sigma = 72.75e-3;%表面张力系数:N/m
alpha = 4*mu*k^2*sqrt(k*g+sigma*k^3/rho)/(rho*g+3*sigma*k^2/rho);
ymax = 2*P/omega/rho/c;
%----------------------FMCW测距---------------------------
h = 3;%雷达水上高度
fc = 77e9;%雷达中心频率
c0 =  3e8; %光速
lamda_r = c0/fc;
Br = 1e9;%雷达带宽
Tp= 3e-5; %chirp持续时间   %需要相位积累
Kr = Br/Tp;
fs = 1.2e7;
N = round(Tp*fs);
xx = 0; %声源处声致水面波振动
Refh = h;
Na = 10000;
t = linspace(0, Tp , N);
r = (0:N-1)/Br*c0/2;
yt = ymax * exp(-alpha * xx) * cos(k*xx - omega*t);
td = 2*(h+yt)/c0;
M_fft = zeros(Na,N);
for i = 1:Na
    tm = t + (i-1)*Tp;
Tx= exp(1j *2*pi*fc *tm  + 1j*pi* Kr* tm.^2 ) ;
Rx = exp(1j *2*pi*fc *(tm-td) + 1j*pi* Kr*(tm-td).^2 )  ;
Mix = Tx .* conj(Rx);
M_fft(i,:)= fft(Mix, N);
end
figure; imagesc(r,linspace(0,Na*Tp,Na),db(abs(M_fft)));
ylabel('时间/s');xlabel('距离/m');title('距离时间谱图');
% figure;heatmap(abs(M_fft));

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值