基于xilinx IP的频域脉冲压缩算法的实现和matlab仿真

工具:matlabR2021b,vivado2018.3.

脉冲压缩的原理

脉冲压缩实际上就是对接收信号进行匹配滤波处理。根据发射的波形不同,脉冲压缩时选择不同的匹配滤波器系数。

数字脉冲压缩的实现方式有两种: 一是时域卷积法; 二是频域乘积法。依据傅里叶变换理论,时域卷积等效于频域乘法,因此两种方法实际上是等效的。时域处理方法直观、简单,但是运算量大,工程上一般采用频域法。

脉冲压缩的时域实现

时域脉冲压缩系统就是指在时域对信号进行卷积运算。

s_{0}(t)=s(t)*h(t)

采用 FIR 滤波器的结构实现时域脉压的过程是将匹配滤波器的系数作为 FIR滤波器的系数,这样实现脉压的点数就是 FIR 滤波器的阶数。FIR 滤波器的结构如下图所示,其特点是每一阶都需要一个延迟单元,一个乘法器和一个加法器。由于一般的信号处理器中乘法资源是非常有限的,这就决定了无法使用FIR结构实现脉压点数比较大的计算。当FIR的阶数过大时,使用的延迟单元和加法器乘法器也随之增大。

脉冲压缩的频域实现

脉冲压缩算法分别在频域上结论

s_{0}(n)=IFFT[FFT[s(n)]\times FFT[h(n)]]

频域脉冲压缩处理是指在频域实现时域线性卷积的过程,这个过程时域卷积和频域相乘时等效的。分别对回波信号和匹配滤波系数进行傅里叶变换后进行复乘运算。最后取傅里叶逆变换后得到结果。

脉冲压缩算法的matlab仿真

线性调频信号的产生

要获取较大的距离分辨率,可以增加发射信号的带宽。雷达的作用距离取决于信号的时宽,即要求信号要有大的时宽,而雷达的分辨精度取决于信号的带宽,即要求信号要有大的带宽。但是对于单载频脉冲信号,时宽和带宽的乘积近似等于1,所以同时得到大时宽和大带宽是矛盾的。

为了解决这一矛盾,必须采取同时具有大时宽和大带宽的复杂信号形式,最常用的就是线性调频信号(LFM),这种信号是在宽脉冲内附加载波线性调频,从而在大时宽的条件下扩展了带宽,通过脉冲压缩技术使宽脉冲变成窄脉冲,以获得高的距离分辨能力。

雷达的距离分辨率公式

\triangle R=\frac{C}{2B}

其中c为光速,B为信号带宽。

关于线性调频信号

%%线性调频信号
T=10e-6;                                  %脉冲持续时间10us
B=20e6;                                   %线性调频信号的频带宽度20MHz
K=B/T;                                    %调频斜率
Fs=5*B;Ts=1/Fs;                           %采样频率和采样间隔
N=512;                                   %取点数,根据采样率取点数
t=linspace(-T/2,T/2,N);                   %持续时间范围-5us到5us
St=exp(j*pi*K*t.^2);                      %线性调频信号

时域和频域图谱

发射信号,创建了一个100us的时间长度,发射线性调频信号持续数据为10us。

% 生成 0 - 100us 的时间向量
t_extended = linspace(0, 100e-6, 4096 );

% 进行脉冲调制
pulsed_signal = zeros(1, length(t_extended));
pulsed_signal(1:length(St)) = St;

p_imag = imag(pulsed_signal);

接受回波信号,创建了一个100us的时间长度。分别在3KM,5KM和10KM模拟了目标,产生三个回波信号。并根据距离将回波的在100us回波的时间计算出来。

% 时间延迟,目标距离
R0  = 3e3;  %目标距离
R1  = 5e3;  %目标距离
R2  = 10e3;  %目标距离
c   = 3e8;
tr0 = 2*R0/c;
tr1 = 2*R1/c;
tr2 = 2*R2/c;
% 回波时间转化成起始点数
start_point0 = tr0/100e-6*4096;
start_point1 = tr1/100e-6*4096;
start_point2 = tr2/100e-6*4096;
start_point0 = ceil(start_point0);
start_point1 = ceil(start_point1);
start_point2 = ceil(start_point2);
%距离和时间的关系,光在这一来一回传输的时间
pulsed_signal2 = zeros(1, length(t_extended));
pulsed_signal2(start_point0+1:(start_point0+length(St))) = St;

pulsed_signal2(start_point1+1:(start_point1+length(St))) = St;

pulsed_signal2(start_point2+1:(start_point2+length(St))) = St;

进行频域脉冲压缩

对发射信号进行傅里叶变换后求共轭,得出匹配滤波器系数。求出回波信号的傅里叶变换后与匹配滤波器系数相乘。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值