LFM雷达实现及USRP验证【章节1:LFM基本原理】

目录

1. 雷达基本原理

1.1 雷达测距原理

2. LFM原理

        2.1 LFM原理分析

LFM雷达原理

LFM的时域表示

matlab实现

仿真结果

3.  脉冲压缩

3.1 匹配滤波器

 3.1.1 匹配滤波器公式

3.1.2 对匹配滤波的理解

3.2 匹配滤波-脉冲压缩的实现

3.2.1 时域的匹配滤波

3.2.2 频域的匹配滤波

方式1 

方式2 

方式3

​3.3 matlab代码实现

  


传统雷达信号存在的两大矛盾:

作用距离距离分辨力是雷达最重要的两个技术指标

  • 作用距离取决于发射信号的能量,发射信号的能量又与发射脉冲的功率和发射时间(即脉冲宽度)成正比。在发射机峰值功率受限的情况下,只能通过增加脉冲宽度(时域)的方法来增加信号能量以增大雷达的作用距离。
  • 雷达的距离分辨力取决于发射信号带宽,带宽越大,距离分辨力越好。传统脉冲雷达发射的是单频信号,脉冲宽度越窄,信号带宽就越宽,距离分辨率就越好。

然而发射窄脉冲必然导致平均功率下降,进而减小雷达的作用距离;发射宽脉冲能够增加雷达作用距离但是又减小距离分辨率。因此,传统的脉冲雷达中,增大作用距离和提高雷达的分辨力之间存在矛盾。

为了兼顾雷达的作用距离和距离分辨力,发射信号应同时具备大时宽和大带宽的特点,为此,研究人员利用复杂波形来替代传统的单频脉冲信号。在发射端调制信号的频率或相位以增大信号的带宽,并发射大时宽的信号以保证作用距离。在接收端通过匹配滤波器,将接收到的宽脉冲信号进行脉冲压缩得到窄脉冲信号,提高距离分辨率,从而兼顾了作用距离和距离分辨力。这就是LFM的基本原理。

1. 雷达基本原理

参考Radar测距及测速原理(1)——FMCW测距和测速原理及具体推导 - 知乎 (zhihu.com)icon-default.png?t=N2N8https://zhuanlan.zhihu.com/p/77474295

通常来说,我们可以通过确定电磁波传播的时间来估算距离,通过多普勒效应产生的频率偏移来估算相对速度。但实际使用中我们会发现,对于没有经过调制的连续波谱(Continuous Wave),我们只发出相同的正弦或余弦信号,接收到的波也是呈周期性变化的,所以我们无从知道从发出到接受到底经过了多少个波长,从而无法确定信号从发出到接受所经历的时间(time of flight),也就无法测算距离。

于是,我们引入了调频/调幅,使发出信号的频率或者幅度处于不断的变化中,这样在接收端对比发送和接收到的波形的频率差,通过计算频率差值即可得到时延信息。

1.1 雷达测距原理

  • 相对速度v_{r}=0

下图中,蓝色实线是发出的信号频率,红色虚线是接受到的信号频率, t_{c}为扫频周期的一半, f_{c}为扫频带宽, \tau为从信号发射到接受所经历的时间。注意,我们发射接收信号都是用线性调频信号(频率随时间均匀变化),在图中表示为一个一次函数。

设 ,f_{s}(t)f_{e}(t)分别为发出所发出和接受信号的频率变化函数,并假设相对速度v_{r}=0,则在信号的上升沿有如下关系: 

 接下来,我们将发射信号用cos函数表示,使用公式进一步推导输入输出关系

从上面的推导可以看出,最终得到的混合波,其频率只与频差函数f_{b}有关,而所要确定的相对距离R与f_{b}成正比,所以只要得到混合波,就能确定相对距离R! 当然接收端少不了信号的处理过程,如匹配滤波,LPF等。

上面所讨论的是相对速度v_{r}为0的情况,R恒为定值。而实际情况中,我们要考虑有相对速度的情况。因为存在相对速度,距离R会随着时间进行变化,当相对速度 v_{r}>0,R不断增大,故f_{b}也不断变大;当相对速度 v_{r}<0,R不断减小,故f_{b}也不断减小。因此当目标物同观测点有相对运动时,多普勒频偏也要放在考虑之中,这就是下一章节的内容——基于LFM的测距测速。在下一章节将会讲到有相对运动时候的测速原理。

2. LFM原理

2.1 LFM原理分析

线性调频信号(Chirp, LFM) 是指瞬时频率随时间线性变化的信号。

  • LFM雷达原理

  • LFM的时域表示

但是,LFM的时域表示包含了高频的载波fc,因此我们可以对LFM原始表达式进行变形,以区别出载波和基带频率成分。

  • matlab实现

参数设置

① 时宽 Tr = 1 us
② 带宽 Br = 100 MHz
③ 采样率 Fs = 4 * Br

1. 时域仿真

% ===================================================
% 线性调频的时域和频域仿真
% ===================================================
clear,clc,close all

%% Chrip参数设置
Tr = 10e-6;         %时宽
B = 200e6;          %带宽
Fs = 4*B;           %采样率

%% Chrip参数导出
Kr= B/Tr;            %调频率
N = round(Tr/(1/Fs));%采样点数
t = linspace(-Tr/2,Tr/2,N);%在[-Tp/2,Tp/2]选取采样点

%% Chrip信号生成
st = ( abs(t) < Tr/2 ) .* exp( 1i * pi * Kr * t.^2 );
f_chirp= Kr * t; %信号的瞬时频率
phase_chirp = pi * Kr * t.^2;%信号相位

%% 频谱
freq = linspace(-Fs/2,Fs/2,N);%频域采样
Sf = fftshift( fft(st) );

%% 绘图
% 时域
figure,plot( t*1e6, real(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号实部');
figure,plot( t*1e6, imag(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号虚部');
figure,plot( t*1e6, f_chirp/1e6 ),xlabel('t /us'),ylabel('频率 /MHz'),title('Chirp信号频率');
figure,plot( t*1e6, phase_chirp ),xlabel('t /us'),ylabel('相位 /rad'),title('Chirp信号相位');

2. 频域仿真 


% 频域
figure,plot( freq/1e6,abs(Sf) ),xlabel('f /MHz'),ylabel('幅度谱'),title('Chirp信号 幅度谱');
figure,plot( freq/1e6,-pi*freq.^2/Kr ),xlabel('f /MHz'),ylabel('相位谱'),title('Chirp信号 相位谱');

仿真结果

信号实部 信号虚部 信号相位

信号瞬

时频率

信号幅度谱 相位谱

3.  脉冲压缩

3.1 匹配滤波器

 匹配滤波器是线性系统最大信噪比滤波器。信号和噪声叠加在一起,匹配滤波使信号成分在某一瞬时出现峰值,而噪声成分受到抑制,即使输出的信噪比最大。

一方面,由于H(j\omega )的公式。匹配滤波器和输入信号的幅频特性完全一样。在信号越强的频率点,滤波器的放大倍数也越大;在信号越弱的频率点,滤波器的放大倍数也越小。也就是说,匹配滤波器是让信号尽可能通过,而不管噪声的特性。因为匹配滤波器的一个前提是白噪声,也即是噪声的功率谱是平坦的,在各个频率点都一样。因此,这种情况下,让信号尽可能通过,实际上也隐含着尽量减少噪声的通过。这正是使得输出的信噪比最大。

另一方面,匹配滤波器的相频特性和输入信号正好完全相反。这样,通过匹配滤波器后,信号的相位为0,正好能实现信号时域上的相干叠加。而噪声的相位是随机的,只能实现非相干叠加。这样,信号通过是其强度比噪声强一个相干项的大小,这样在时域上保证了输出信噪比的最大。 

 3.1.1 匹配滤波器公式

两端同取傅里叶逆变换,并根据傅里叶变换的频移性质可得: 

一般地,取k = 1 , tm=0

3.1.2 对匹配滤波的理解

可以由matlab表示为 

%% 第一种表示:接收信号sr与发射信号si反褶共轭的卷积
so = conv( sr , ht) = conv( sr , conj(fliplr( si )) );

%% 第二种表示:发射信号si与接收信号sr的相关
so = xcorr( sr , si );

3.2 匹配滤波-脉冲压缩的实现

由于时域和频域的对偶性质,因此匹配滤波可以分为时域的匹配滤波和频域的匹配滤波

3.2.1 时域的匹配滤波

根据第一种表示:接收信号sr与发射信号si反褶共轭的卷积。因此可以构造时域匹配滤波器为发射信号时间反褶再取共轭,再与发射信号进行线性卷积即可实现脉冲压缩

s_{o}(t)=s_{r}\ast \overline{s_{i}(-t)}

3.2.2 频域的匹配滤波

一共有三种方式,参考一位大佬的博客

(107条消息) 线性调频信号 与 脉冲压缩技术的多种实现方法(附MATLAB实现)_产生线性调频信号 脉冲压缩 csdn_ChihYuanTSENG的博客-CSDN博客https://blog.csdn.net/AIMZZY/article/details/106467080

  • 方式1 

  • 方式2 

  • 方式3

3.3 matlab代码实现

%% 线性调频与脉冲压缩
clear,clc,close all
set(0,'defaultfigurecolor','w')
%% Chirp信号参数设置
Tr = 1e-6;%时宽
Br = 200e6;%带宽
Fs = 4*Br;%采样率
%% Chirp信号参数导出
Kr = Br/Tr;%调频率
N =  round( Tr / (1/Fs) );%采样点数
t = linspace( -Tr/2 , Tr/2 , N);%在[-Tp/2,Tp/2]选取采样点
%% Chirp信号生成
st = ( abs(t) < Tr/2 ) .* exp( 1j * pi * Kr * t.^2 ); 
f_chirp= Kr * t; %信号频率
phase_chirp = pi * Kr * t.^2;%信号相位
%% 频谱
freq = linspace(-Fs/2,Fs/2,N);%频域采样
Sf = fftshift( fft(st) );
%% 时域匹配滤波
ht = conj( fliplr(st) ); %时域匹配滤波为发射信号时间反褶再取共轭
s1 = conv(st,ht); %线性调频信号经过匹配滤波器后的输出(时域卷积)
N1 = N+N-1 ;%线性卷积后信号长度变为 N1+N2-1
t1 = linspace( -Tr/2 , Tr/2 , N1);
%% 频域匹配滤波1 (复制发射脉冲进行时间反褶并取共轭,计算补零DFT)
N2 = 2*N; %循环卷积长度 (N2应当>=N+N-1,其中弃置区位于长度大于N+N-1的部分)
t2 = linspace( -Tr/2 , Tr/2 , N2);
Hf2 = fft(ht,N2); %频域匹配滤波器
Sf2 = fft(st,N2);%频域信号
S2 = Sf2 .* Hf2;%频域乘积
s2 = ifft(S2);
%% 绘图
% 时域
figure,plot( t*1e6, real(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号实部');
figure,plot( t*1e6, imag(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号虚部');
figure,plot( t*1e6, f_chirp/1e6 ),xlabel('t /us'),ylabel('频率 /MHz'),title('Chirp信号频率');
figure,plot( t*1e6, phase_chirp ),xlabel('t /us'),ylabel('相位 /rad'),title('Chirp信号相位');
% 频域
figure,plot( freq/1e6,abs(Sf) ),xlabel('f /MHz'),ylabel('幅度谱'),title('Chirp信号 幅度谱');
figure,plot( freq/1e6,-pi*freq.^2/Kr ),xlabel('f /MHz'),ylabel('相位谱'),title('Chirp信号 相位谱');
% 时域匹配滤波
figure,plot( t1*1e6 , abs(s1) ),xlabel('t /us'),ylabel('幅度谱'),title('时间反褶取共轭,时域卷积');

%% 频域匹配滤波1 (复制发射脉冲进行时间反褶并取共轭,计算补零DFT)
N2 = 2*N; %循环卷积长度 (N2应当>=N+N-1,其中弃置区位于长度大于N+N-1的部分)
t2 = linspace( -Tr/2 , Tr/2 , N2);
Hf2 = fft(ht,N2); %频域匹配滤波器
Sf2 = fft(st,N2);%频域信号
S2 = Sf2 .* Hf2;%频域乘积
s2 = ifft(S2);
% 频域匹配滤波1
figure,plot( t2*1e6 , abs(s2) ),xlabel('t /us'),ylabel('幅度谱'),title('时间反褶取共轭,补零FFT,频域乘积,IFFT');

%% 频域匹配滤波2(复制脉冲补零后进行DFT,对结果取复共轭(无时间反褶))
N3 = 2*N; %循环卷积长度
t3 = linspace( -Tr/2 , Tr/2 , N3);
Hf3 = conj( fft(st,N3) );% 复制脉冲补零后进行DFT,对结果取复共轭
Sf3 = fft(st,N3);
S3 = Sf3 .* Hf3;%频域乘积
s3 = fftshift(ifft(S3));
% 频域匹配滤波2
figure,plot( t3*1e6 , abs(s3) ),xlabel('t /us'),ylabel('幅度谱'),title('复制脉冲补零后FFT,取共轭,频域乘积,IFFT');
时域匹配滤波 频域匹配滤波1 频域匹配滤波2

 The end 

  

猜你喜欢

转载自blog.csdn.net/weixin_44810982/article/details/129712926
今日推荐