所以我有一个数字线性啁啾信号:
其中是初始频率,是采样频率,是带宽,是采样数。
我想模拟多普勒频移。我不确定该怎么做。
我知道我需要将初始频率乘以多普勒频移,并对带宽做同样的事情。这会给我:
我知道多普勒会及时压缩或扩展我的波形,并且我知道如何在简单正弦曲线的情况下模拟多普勒频移。但是,我在这里有点困惑。
我是否也需要更改样本数?如果是这样,具体是多少?
谢谢
所以我有一个数字线性啁啾信号:
其中是初始频率,是采样频率,是带宽,是采样数。
我想模拟多普勒频移。我不确定该怎么做。
我知道我需要将初始频率乘以多普勒频移,并对带宽做同样的事情。这会给我:
我知道多普勒会及时压缩或扩展我的波形,并且我知道如何在简单正弦曲线的情况下模拟多普勒频移。但是,我在这里有点困惑。
我是否也需要更改样本数?如果是这样,具体是多少?
谢谢
您需要重新采样信号以模拟多普勒引起的扩张。重采样因子是I=Td/Ts
其中
Td
= 膨胀后信号的
Ts
持续时间 = 传输信号的实际持续时间
在 Matlab 中可以使用函数resample()
,但需要从 I 中找到重采样参数 P 和 Q。
此外,I=1+v/c
用于信号扩展和I=1-v/c
信号压缩。v = 移动速度,单位为 m/s,c = 波在介质中的传播速度。比如水下声音c=1500 m/s
。
在 Matlab 中,您可以找到 P 和 Q 为[P,Q]=rat(I);
这最好通过在多普勒频移后重新创建信号来完成,而不是重新采样。这允许对任意波形施加多普勒。参见 Mark A. Richards,“雷达信号处理基础”,第 2.6.1 节。尤其是方程 2.90,详细了解为什么会这样。
假设我们从一个复杂的啁啾开始:
% tau is the pulse length
% fs is the sampling frequency
% B is the LFM swept bandwidth
% fc is the center RF frequency of the chirp
% tgtrng is the radial range to the target
t = (0:tau*fs-1)/fs;
chirp = exp(1j*pi*B/tau * (t - tau/2).^2);
使用矢量数学计算目标的径向速度,然后:
beta = v_radial/c;
alpha = (1+beta)/(1-beta);
现在通过实际创建一个新的、时间调整的版本来重新采样啁啾
t = (0:fs/PRF-1)/fs;
t_new = alpha*(t - 2*tgtrng/(1+beta)/c);
sig = exp(1j*2*pi*fc*(t_new-t)).*exp(1j*pi*B/tau*(t_new - tau/2).^2);
sig(t_new < 0)=0;
sig(t_new > tau)=0;
sig 现在是多普勒输入波形的采样版本。
样本数应除以多普勒频移,因为啁啾的持续时间随着多普勒频移的增加而减少。