用高速DSP在频域上实现LFM信号的实时脉冲压缩_DSP论文
关键词:lfm 脉冲压缩 信号处理器 实时信号处理 匹配滤波
为提高脉冲雷达或脉冲声纳的作用距离,通常有两个途径,其一是增加发射机峰值功率;其二是加大发射脉冲的宽度来提高平均发射功率。发射机的发射功率峰值受电源、功率放大器、功率传输通道(功率过大,波导等器件易打火)等限制;简单增加发射脉冲的宽度,相当于降低发射信号的带宽。为使相同时宽的脉冲增加带宽,可对发射脉冲内的载波进行线性调频;在接收端对线性调频的回波信号再进行脉冲压缩处理。经脉冲压缩后信号所具有的大的带宽能够提高测距精度和距离分辨力。宽脉冲内大的时宽能够提高测速精度和速度分辨力。因此脉冲压缩技术广泛用于雷达、声纳等系统,其中以线性调频信号的应用最为广泛。
1 线性调频信号的脉冲压缩
线性调频(lfm)信号是一种瞬时频率随时间呈线性变化的信号。零中频线调频信号u(t)可表示为:
u(t)=exp(jπbt2/t) -t/2<t<t/2 (1)
式中,t为线性调频信号的时宽,b为带宽。
对线性调频信号的脉冲压缩处理,就是让信号通过一个与其相匹配的滤波器实现的。与u(t)匹配的滤波器的冲激响应为:
h(t)=exp(-jπbt2/t) -t/2<t<t/2 (2)
u(t)经匹配滤波器压缩后的输出g(t)为:
g(t)=u(t) *h(t) t<t<t (3)
线性调频信号的突出优点是匹配滤波器对回波信号的多普勒频移不敏感,即使回波信号有较大的多普勒频移,原来的匹配滤波器仍能起到脉冲压缩的使用。这将大大简化信号处理系统。
经性调频信号经匹配滤波器后的输出脉冲g(t)具有sinc(t)函数型包络,其最大副瓣电平为主瓣电压的13.2db。在多目标环境中,旁瓣会埋没附近较小目标的信号,引起目标丢失。为了提高分辨多目标的能力,可以采用加权技术。设时域加权函数为w(t),则加权输出为:
g(t)=u(t)*[h(t) ·w(t) ] (4)
引入加权函数实质上是对信号进行失配处理。以抑制旁瓣,其副作用是输出信号的包络主瓣降低、变宽。即旁瓣抑制是以信噪比损失及距离分辨力变坏作为代价的。加权函数可以选择海明加权函数、余弦平方加权函数等。海明加权函数为:
w(t)=0.08+0.92·cos 2(πf/b) (5)
在计算机中处理时,需要将信号离散化。当信号时宽很大时,在时域上计算卷积耗时较大。因此改为在频域上实现lfm信号的脉冲压缩。
g(n)=u(n) ·h(n) (6)
式中u(n)=fft[u(n)] (7)
h(n)=fft[h(n) ·w(n)] (8)
则:g(n)=ifft[g(n)] (9)
在频域上lfm信号的脉冲压缩用循环卷积替代线性卷积进行计算。假设u(n)的长度为n1,h(n)的长度为n2,g(n)的长度为n。当n<l(l为n1+n2-1)时,g(n)中就会出现数据混叠,混叠发生在第0点到第l-n-1点,即g(n)在0至l-n-1点为无效数据。
2 lfm信号实时脉冲压缩的实现
2.1 tms320c6201简介
tms320c6201(以下简称为c6201)是美国ti公司1997年推出的定点dsp芯片。高速的数据处理能力和对外接口能力使其使用于雷达、声纳、通信、图像等实时处理系统。
c6201 dsp采用甚长指令字(vliw)结构,单指令字长32bit,8个指令组成一个指令包,总字长为256bit。芯片内部设置了专门的指令分配模块,可以将每个256bit的指令包同时分配到8个处理单元并由8个单元同时运行。最大处理能力可达2400mips。
c6201的存储器寻址空间为32bit。外部存储器接口包括直接同步存储器接口,可与同步动态存储器(sdram)、同步突发静态存储器(sbsram)连接,主要用于大容量、高速存储;还包括直接异步存储器接口,可与静态存储器(sram)、只读存储器(eprom)连接,主要用于小容量数据存储和程序存储;还有直接外部控制器接口,可与fifo寄存器连接。
ti公司推出了世界上第一个效率可达70%~80%的汇编语言级c编译器。对于高速实时应用,采用c语言和c6000线性汇编语言混合编程的方法,能够把c语言的优点和汇编语言的高效率有机地结合在一起,代码效率达到90%以上。
2.2 硬件构成
以tms320c6201为核心器件的lfm信号的实时脉冲压缩的硬件构成如图1所示。
雷达中频信号经抗混迭滤波后,将其频带限制在一定的范围内。再经a/d变换后便得到中频直接采样的数据。双口ram用于存放中频直接采样的原始数据。
tms320c6201用于完成lfm信号的实时脉冲压缩处理,包括fft变换、中频信号正交化、移频、脉压、ifft等工作。
sdram为高速动态存储器,用于存放lfm信号脉冲压缩处理过程中的中间数据。
处理后的数据及处理过程中的数据均可送至pc机作保存、显示等相关处理。
2.3 工作流程
lfm信号的脉冲压缩的工作流程如图2所示。
在相参雷达、声纳和某些通信系统中,通常需要提取带限信号的同相分量(i)和正产分量(q)。传统的方法是在同相支路和正交支路中把带限信号混频到基带(零中频),然后用与信号带宽相应的频率进行采样,以获得基带上的同相分量和正交分量。这种传统的正交采样方法存在的最大问题是i、q两个支路总存在一定的增益不平衡和相位误差。
为了克服i、q支路的幅相不平衡,本文采用中频直接采样的方法,即只用一个支路和一个a/d变换器。中频直接采样的数据通过适当的处理就可获得零中频上的正交信号数据。
fft变换将中频直接采样的数据从时域变换到频域。
正交化的过程是从中频数据获得两路正交信号数据的过程,亦即从中频信号频谱获取正交信号频谱的过程。当采样频率fs、载频f0和信号带宽b之间满足f0=(2m-1) ·fs/4关系(一般m=1,fs>2b)时,中频信号频谱的正频率部分跟相应正交信号频谱是完全吻合的。
为了获得零中频上的正交信号频谱,必须将中频上的正交信号频谱沿频轴移动一个载频数量的大小,即移频。
用于脉冲压缩的匹配滤波器的时域值及基频谱在整个工作过程中是不变的。零中频正交信号的数据经脉冲压缩后,再做ifft得到最终的脉冲压缩时域数据。
2.4 软件计算及其优化
在整个工作流程中,fft及ifft运算占用的比例很大,因此在lfm信号的实时脉冲压缩过程中,fft程序的优化至关重要。
fft运算采用基2时域抽取算法。在fft的循环过程中,需要计算旋转算子。这是一个三角浮点运算,用c6201运算速度慢,很难达到实时处理的要求。所以在fft运算之前把旋转算子计算好,放在数据存储器中加以调用。而且旋转算子的调用很有规律,寻址比较方便,所以不需花费很大的计算量。这样大大提高了fft的运算速度。
n点fft运算需要1/2(n·log2n)复数乘法。乘法花费指令周期较多,因此复数乘法的优化比较重要。在fft程序中,主要采用了以下优化措施:
(1)采用short数据类型
fft中的数据类型为short,字长16位。模拟信号经a/d变换后长度为12位,与16位比较接近,这样能够很好的节省内存资源。由于tms320c6201为定点型芯片,用它来计算整数类型的代数和运算,能够发挥其最大的运算优势。而且,c6000系列的指令集内只有16位乘法指令,这样采用16位字长,能够节省乘法运算的指令周期数。
(2)使用字访问short类型
在复数乘法中,读、写内存比较频繁。读操作花费指令周期较多(需5个指令周期)。如果以short类型(字长16位)读、写内存,将要读内存6次,写内存4次。由于c6000指令集内的读写操作的数据可以是32位。所以可以采用int类型(字长32位)读、写内存,即每访问一次内存,操作数为两个short数据。这样只需读内存3次,写内存2次,花费时间可以减少一半。
(3)使用内联函数
c6000编译器提供了大量的内联函数。如16位乘法算:_mpy(),_mpyh(),_mpyh1(),_mpylh()等。内联函数可快速优化c代码,在程序中应尽量使用。
2.5 长数据分段迭加
当一个雷达重复周期内采样的数据长度很大而相应匹配滤波器的数据很短时,可采用长数据分段迭加来减小运算量。即将信号长数据分散成若干个小段(每小段数据长度都与匹配滤波器数据长度相当),对每小段数据分别作fft处理后再相加。实验结果表明:当信号数据长度越大时,采用此种方法相对于通常补零fft方法的优越性越大,可以满足lfm信号实时脉冲压缩的要求。
通用dsp技术的不断发展,给实时雷达信号处理系统的实现带来了极大的方便。本文阐述了lfm信号实时脉冲压缩为雷达实时信号处理的一个实例,对于雷达声或纳等设备的实时信号处理具有一定的参考价值。