单个线性调频脉冲测速.doc
单个线性调频脉冲测速
14020700021张吉凯
我想做的是利用单个线性调频脉冲测速,然后用MATLAB进行仿真,虽然很简单,但实际做的时候依然遇到很多意想不到的问题,这些问题的解决让我感觉收获很多。下面来讲整个仿真的过程以及其中遇到的问题。
先来介绍一下单个线性调频脉冲信号和多普勒频移。线性调频信号是指频率随时间而线性改变(增加或减少)的信号。线性调频的瞬时频率f(t)=f0+kt呈线性变化,其中f0表示时间等于零时的频率,k是调频斜率。而脉冲则是给线性调频信号截断,像脉冲一样重复,这里我用到的只是单个,相当于脉冲的一个周期。
多普勒效应是指当发射源和接收者之间有相对径向运动时,接收到的信号将发生变化。这一物理现象首先由奥地利物理学家多普勒于1842年发现的。多普勒雷达的工作原理是以多普勒效应为基础的,多普勒效应不仅仅适用于声波,它也适用于所有类型的波,包括光波、电磁波。当无线电波在行进的过程中碰到物体时,该无线电波会反弹,而且反弹回来的波其频率以及振幅会随着碰撞物体的运动状态而变化。若无线电波是固定不动的,那么反弹回来的电波频率是不会发生改变的,然而,若物体是朝着无线电发射的方向前进,此时所反弹回来的电波会被压缩,因此该电波的频率也会随之增加。反之,若远离波源运动时,接收到的频率较波源的实际频率降低。频率升高或者降低的数值叫多普勒频移。
推导都写在纸上:
然后怎么去提取这个多普勒分量呢?令发射信号和回波信号混频(相乘),混频之后的信号实际上是两个线性调频信号,其中一个的载频就是多普勒偏移量,其带宽也很窄,像一个单频信号,然后通过低通滤波器把它滤出来。推导如下:
下面是用MATLAB去实现这个过程,其中的一些参数已经注明。
代码:
%基本参数
f0=3e9;%Hz载频
B=200e6;%Hz带宽
Tp=2.2e-4;%sLFM信号长度
k=B/Tp;%Hz/s调频斜率
R0=13e4;%m初始距离
v=8000/36;%m/s目标径向速度
c=3e8;%m/s光速
Fs=4*f0+5*B;%采样频率
Ts=1/Fs;%s
N=Tp*Fs;%采样点数
n=0:N-1;
t=n.*Ts;
t0=2*R0/c;%回波信号相对于发射信号的时延
tr=t+t0;
freq=linspace(0,Fs,N);
freq1=linspace(-Fs/2-Fs/N,Fs/2,N);
Si=exp(j*2*pi*(f0*t+0.5*k*t.^2));%发射信号
Sr=exp(j*2*pi*(f0*(tr-2*(R0+v*tr)/c)+0.5*k*(tr-2*(R0+v*tr)/c).^2));%回波信号
%发射信号与回波信号
figure(1);%发射信号
subplot(2,1,1);
plot(t,real(Si));
xlabel(时间/s);
title(发射信号时域图);
gridon;
subplot(2,1,2);
plot(freq,abs(fft(Si)));
xlabel(频率/Hz);
title(发射信号频域图);
gridon;
figure(2);%回波信号
subplot(2,1,1);
plot(tr,real(Sr));
xlabel(时间/s);
title(回波信号时域图);
gridon;
subplot(2,1,2);
plot(freq,abs(fft(Sr)));
xlabel(频率/Hz);
title(回波信号频域图);
gridon;
%混频信号
x=real(Si).*real(Sr);
figure(3);
plot(freq1,abs(fftshift(fft(x))));
xlabel(频率/Hz);
title(混频信号频域图);
%低通滤波器
Wp=2*1e9/Fs;Ws=2*1.5e9/Fs;%混频后信号的两部分频谱离得很远,截止频率可以很高
Rp=1;Rs=40;
[No,wc]=buttord(Wp,Ws,Rp,Rs);
wc*Fs/2%显示截止频率
[B,A]=butter(No,wc);
[H,W]=freqz(B,A);
figure(4);
plot(abs(H));
%对混频信号进行滤波
y=filter(B,A,x);
figure(5);
plot(freq1,abs(fftshift(fft(y))));
xlabel(/Hz);
Figure(1)和(2)两张是发射信号和回波信号,时域波形是线性调频波,就没放大,只对频谱进行了放大。理论上发射信号的频谱是在f0~f0+B之间的,即3e9~3.2e9;回波信号的频谱发生了压缩,压缩因子r=1-2v/c近似为1,所以回波信号的频谱近似发射信号的一样,这一点得到验证。
F