多普勒频移啁啾信号

信息处理 离散信号 多普勒 线性啁啾 唧唧喳喳
2022-02-23 02:45:43

所以我有一个数字线性啁啾信号:

x[n]=2Ncos(2πf0fsn+πBNn2)

其中是初始频率,是采样频率,是带宽,是采样数。f0fsBN

我想模拟多普勒频移。我不确定该怎么做。

我知道我需要将初始频率乘以多普勒频移,并对带宽做同样的事情。这会给我:f0d

xd[n]=2Ncos(2πdf0fsn+πdBNn2)

我知道多普勒会及时压缩或扩展我的波形,并且我知道如何在简单正弦曲线的情况下模拟多普勒频移。但是,我在这里有点困惑。

我是否也需要更改样本数如果是这样,具体是多少?N

谢谢

3个回答

您需要重新采样信号以模拟多普勒引起的扩张。重采样因子是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 现在是多普勒输入波形的采样版本。

样本数应除以多普勒频移,因为啁啾的持续时间随着多普勒频移的增加而减少。