DSP 实验课大作业设计一 实验目的在DSP 上实现线性调频信号的脉冲压缩、动目标显示(MTI )和动目标检测(MTD),并将结果与MATLAB 上的结果进行误差仿真。
二 实验内容2.1 MATLAB 仿真设定带宽、脉宽、采样率、脉冲重复频率,用MATLAB 产生16个脉冲的LFM ,每个脉冲有4个目标(静止,低速,高速),依次做2.1.1 脉压2.1.2 相邻2脉冲做MTI ,产生15个脉冲2.1.3 16个脉冲到齐后,做MTD ,输出16个多普勒通道2.2 DSP 实现将MATLAB 产生的信号,在visual dsp 中做脉压,MTI 、MTD ,并将结果与MATLAB 作比较。
三 实验原理3.1 脉冲压缩原理及线性调频信号雷达中的显著矛盾是:雷达作用距离和距离分辨率之间的矛盾以及距离分辨率和速度分辨率之间的矛盾。
雷达的距离分辨率取决于信号带宽。
在普通脉冲雷达中,雷达信号的时宽带宽积为一常量(约为1),因此不能兼顾距离分辨率和速度分辨力两项指标。
脉冲压缩(PC )采用宽脉冲发射以提高发射的平均功率,保证足够的最大作用距离,而在接收时则采用相应的脉冲压缩法获得窄脉冲,以提高距离分辨率,因而能较好地解决作用距离和分辨能力之间的矛盾。
一个理想的脉冲压缩系统,应该是一个匹配滤波系统。
它要求发射信号具有非线性的相位谱,并使其包络接近矩形;要求压缩网络的频率特性(包括幅频特性和相频特性)与发射脉冲信号频谱(包括幅度谱和相位谱)实现完全的匹配。
脉冲压缩按信号的调制规律(调频或调相)分类,可分为以下四种:(1)线性调频脉冲压缩(2)非线性调频脉冲压缩(3)相位编码脉冲压缩(4)时间频率编码脉冲压缩本实验采用的是线性调频脉冲压缩。
线性调频信号是指频率随时间的变化而线性改变的信号。
线性调频可以同时保留连续信号和脉冲的特性,并且可以获得较大的压缩比,有着良好的距离分辨率和径向速度分辨率,所以将线性调频信号作为雷达系统中一种常用的脉冲压缩信号。
接收机输入端的回波信号是经过调制的宽脉冲,所以在接收机中应该设置一个与发射信号频率匹配的滤波器,使回波信号变成窄脉冲,同时实现了宽脉冲的能量和窄脉冲的分辨能力。
解决了雷达发射能量及分辨率之间的矛盾。
匹配滤波器是指输出信噪比最大准则下的最佳线性滤波器。
根据匹配理论, 匹配滤波器的传输特性:0)()(*t j e KS H ωωω-=其中,K 为幅度归一化常数,)(*ωS 为信号)(ωS 的复共轭。
传输特性)(ωH 还可用它的冲激响应)(t h 来表示(时域表示):)()(0*t t Ks t h -=。
3.2 MTI (动目标显示)原理在雷达终端的显示器,当杂波与运动的目标在显示器上同时出现时,观察将会变得困难,特别是在强杂波时,弱的目标信号将会完全被淹没。
由于目标回波的多普勒频移远大于杂波的多普勒频移,从而可在频域上区分目标与杂波。
MTI 的设计主要是合理的选择滤波器,动目标显示滤波器(MTI )利用运动目标回波和杂波在频谱上的区别,有效地抑制杂波而提取信号。
由下图可以看出回波信号(含杂波与目标):图3.1 回波信号杂波主要集中在0频附近,在频率为0处,所设计的滤波器频率响应应有凹口。
以使地物杂波在通过MTI 滤波器后将受到很大的抑制,对于每一个脉冲,其回波信号中的杂波分量都基本相同,而运动目标产生多普勒频移。
对连续脉冲对的回波进行相减,就可以完全对消杂波分量,而目标信号由于其相位的改变,通常不会完全被对消掉。
常用的MTI 滤波器为一次相消器(二脉冲对消)。
在同一距离上等效一个有效的采样间隔PRF T 1=的离散时间序列)(n x 。
其时域方程为:)1()()(--=n x n x n y ,传输函数为:11)(--=z z H ,在Z=1处有单零点,频率响应为:)2cos 2(sin 2sin 21)(Tj TTe e H t j j ωωωωω+=-=-。
其在零频有一凹口,如图所示:图3.3 多普勒滤波器频响此滤波器能够用来抑制噪声。
但同时把静态目标也给对消掉,也使得运动目标的谱分量有部分的衰减,因此用MTI 一次相消器检测不出静止目标。
3.3 MTD (动目标检测)原理MTD 与MTI 同属雷达信号处理的频域处理范畴,但一般意义上来说,MTD 是MTI 的改进或更有效的频域处理技术。
广义上地讲,MTD 处理又是多普勒处理的一种特殊形式与传统的MTI 相比,MTD 改善了滤波器的频率特性,使之更接近于最佳匹配线性滤波,以提高改善因子;能够检测强地物杂波的低速目标甚至切向飞行的大目标。
MTD 的核心是线性MTI 加窄带多普勒滤波器组。
根据最佳线性滤波理论,在杂波背景下检测运动目标回波,除了杂波抑制滤波器外,还应串接有对脉冲串信号匹配的滤波器,实际工作中,多普勒频移d f 不能预知,需要采用一组相邻且部分重叠的滤波器组覆盖整个多普勒频率范围,这就是窄带多普勒滤波器组。
输入N 个脉冲的横向滤波器组的实现是由N 个输出的横向滤波器(N 个脉冲和N-1根迟延线)经过各脉冲不同的加权并求和后形成的。
其实现方法下图所示:图3.4 横向滤波器 图3.5 N=16时滤波器频响 该滤波器的频率覆盖范围为0到r f ,r f 为雷达工作重复频率。
气象杂波(如云雨等)和箔条杂波受气流和风力的影响,会相对雷达而动,其频谱中心不是固定在0频附近,而是在某个频率区间内变化的,抑制此类杂波用普通的MTI 滤波器是不行的,而MTD 滤波器则可以抑制此类杂波。
四 实验步骤以下是该实验中设定的几个参数BandWidth=2.0e6----------------------------------------------带宽TimeWidth=42.0e-6--------------------------------------------脉宽Fs=2.0e6---------------------------------------------------采样率PRT=240e-6-------------------------------------------脉冲重复周期TargetDistance=[3000 8025 8025 25600] ------------------目标距离TargetVelocity=[50 -100 0 283]---------------------------目标速度%其中X=0; Y=8; Z=3;对应学号1302121083的后三位假设接收到的回波数是16个,噪声为高斯随机噪声。
4.1 在MATLAB 中产生线性调频信号。
4.2 根据目标距离得出目标回波在时域的延迟量,根据目标速度得出多普勒相移,从而在MATLAB 中产生4个目标的16个回波串(接收到的回波含噪声)。
4.3 由匹配滤波理论产生对应于目标回波的滤波系数(脉压系数),在时域中做线性卷积,实现匹配滤波(时域脉压);在频域中做回波信号和脉压系数的FFT ,点乘后作逆FFT ,实现频域脉压。
两者进行比较,讨论其差别。
4.4 对16个去暂态点后的脉冲串按接收顺序进行排列,用一次相消器(一种滤波方式)实现MTI 。
4.5 做16通道的FFT ,实现MTD 。
4.6 在DSP 中对MATLAB 产生的回波数据和脉压系数进行处理,实现频域脉压。
导入DSP 的回波数据为时域数据,而脉压系数为频域数据。
将导入DSP 的时域回波数据进行一次FFT 变换到频域,然后将其与频域脉压系数进行点积,得到频域脉压结果。
对该结果再做一次逆FFT ,将频域转换成时域。
在这一步中需要调用库函数fft_flp32.asm 。
该子程序可实现8192点复数的FFT 功能。
由于C 语言中无法实现复数运算,因此,对8192个复数按照实部虚部交替的顺序进行重排列,用长度为16384的数组来存放时域回波数据。
频域相乘后,做乘积结果的逆FFT ,得到脉压结果。
做逆FFT ,仍需调用库函数fft_flp32.asm ,此时要通过FFT 子程序实现逆FFT 的功能,要对频域的数据进行处理,才能达到这一目的。
4.7 对脉压后的数据按照脉冲号重排,相邻序列的数据相减(滑动对消),实现MTI 。
4.8 调用子程序fft_16.asm ,做16通道FFT ,实现MTD 。
入口参数为16通道的脉压数据。
五 实验结果及讨论本部分将详细分析实验得到的数据、图像、误差、产生速度模糊的原因以及脉压频域、时域执行周期。
5.1MATLAB 中时域脉压和频域脉压结果的比较:图5.1 总回波信号,时域脉压,频域脉压,时域脉压和频域脉压的差别 从图中可以看出,时频域脉压结果差别很小,相对误差停留在10-14数量级上。
其实,二者结果应该是相等的。
由于MA TLAB 与DSP 软件处理平台及编程函数的计算精度和中间结果处理的差异,才出现以上很小的误差。
由数字信号处理理论,M 点时域离散信号与N点时域离散信号做线性卷积后的信号长度为N+M-1。
设)(),(n b n a 为数字信号,长度分别为M 和N ,));(()());(()(n b DFT k B n a DFT k A ==如果)(),(k B k A 的长度1-+≥M N L ,则))()(()(*)(k B k A IDFT n b n a ⨯=。
回波数据echo 长为7680点,脉压系数coeff 长为84点,N+M-1=7680+84-1=7763,为提高FFT 速度,取L=8192,对回波数据、脉压系数的FFT 乘积后的结果做IFFT 就可以实现脉冲压缩。
经统计,在DSP 上频域脉压处理(从FFT 到IFFT )的时钟数为。
设两个卷积的序列长度分别为M 和N ,且N>M ,则卷积所用的复乘数为N ×M ,而N 点FFT 的运算量为log N N 22次复数乘法运算和2log N N 次复数加法运算。
当序列长度N 、M 很大时,频域的总运算量将大大低于时域的运算量。
在本实验中,回波数据的长度N=7680,脉压系数长度M=84,时域脉压的运算量为N ×M=7680×84+83=645203次复数加法运算和645036次复数乘法运算。
由于L>N+M-1,将x(n),h(n)分别补L-N 和L-M 个零变成两个长度均为L (8192)的序列)()(n h n x L L 、,分别做L 点FFT ,点积后再做逆FFT ,可以实现频域脉压。
频域脉压的8192点FFT 和IFFT 的运算量为2×0.5×8192×2log 8192=106496次复数乘法运算和0.5×2×8192×2log 8192=106496次复数加法运算。