西电DSP大作业报告_第1页
西电DSP大作业报告_第2页
西电DSP大作业报告_第3页
西电DSP大作业报告_第4页
西电DSP大作业报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP实验课程序设计报告学院:电子工程学院学号:1202121013姓名:赵海霞指导教师:苏涛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 ds

2、p中做脉压,MTI、MTD,并将结果与MATLAB作比较。三 实验原理3.1 线性调频线性调频脉冲压缩体制的发射信号其载频在脉冲宽度内按线性规律变化即用对载频进行调制(线性调频)的方法展宽发射信号的频谱,在大时宽的前提下扩展了信号的带宽。若线性调频信号中心频率为,脉宽为,带宽为,幅度为,为调频斜率,则其表达式如下:;在相参雷达中,线性调频信号可以用复数形式表示,即在脉冲宽度内,信号的角频率由变化到。3.2 脉冲压缩原理脉冲雷达信号发射时,脉冲宽度决定着雷达的发射能量,发射能量越大, 作用距离越远;在传统的脉冲雷达信号中,脉冲宽度同时还决定着信号的频率宽度,即带宽与时宽是一种近似倒数的关系。脉冲

3、越宽,频域带宽越窄,距离分辨率越低。 脉冲压缩的主要目的是为了解决信号的作用距离和信号的距离分辨率之间的矛盾。为了提高信号的作用距离,我们就需要提高信号的发射功率,因此,必须提高发射信号的脉冲宽度,而为了提高信号的距离分辨率,又要求降低信号的脉冲宽度。 脉冲压缩网络实际上就是一个匹配滤波器网络,在接收机中设置一个与发射信号频率相匹配的压缩网络,使经过调制的宽脉冲的发射信号变成窄脉冲,因此保持了良好的距离分辨力。根据匹配滤波理论,脉压可以在频域与时域中进行。 频域脉压即对回波信号进行FFT变换,在频域中实现回波信号与脉压系数相乘,最后将结果进行IFFT转换为时域信号。 时域脉压即直接对将回波信号

4、与脉压信号进行线性卷积,去掉暂态点后的数据就是脉压的结果。3.3 MTI(动目标显示)原理动目标显示(MTI)本质含义是:基于回波多普勒信道的提取而区分运动目标和固定目标(包括低速运动的杂波等)。从应用上讲,该技术是利用MTI滤波器滤除相应杂波,从而提高目标检测性能。雷达辐射的高频脉冲能量被各种地形地物等固定物体和飞机等运动物体反射时,由于前者回波信号相对于发射信号的相位差是固定的,而后者的回波信号相对于发射信号的相位差是变化的,于是经相位检波后,固定目标视频信号的幅度不变,而运动目标视频信号的幅度按多普勒频率的余弦关系变化,把视频信号延时一个重复周期后,和未延时信号加以对消,就可以消除固定目

5、标而只选择运动目标。因此,若将同一距离单元在相邻重复周期内的相检输出作相减运算,则固定目标的回波将被完全对消,慢速杂波也将得到很大程度衰减,只有运动目标回波得以保留。显然这样便可将固定目标,慢速杂波与运动目标区别开来,这就是动目标显示(MTI)的基本原理。最常用的MTI滤波器是抑制地物杂波的滤波器。因为地物杂波多普勒频移为零或很小,主要集中在0频附近。在频率为0处,滤波器频率响应应有凹口。所以地物杂波在通过MTI滤波器后将受到很大的抑制。零频杂波(地杂波)的MTI滤波器应在零频及其周期出现点处形成凹口。最常用的零频MTI滤波器是二项式滤波器,其中最为典型的是一次和二次相消器。一次相消器(二脉冲

6、对消)输入数据是一个基带复数样本,这些是同一个距离单元由顺序脉冲返回的,形成一个有效的采样间隔的离散时间序列。其时域方程为:,传输函数为:,它是一个单零点系统,零点的位置在,频率响应为:。其在零频有一凹口,可用来抑制噪声,但同时把静态目标也给对消掉,因此用MTI一次相消器检测不出静目标。3.4 MTD(动目标检测)原理仅对雷达回波信号进行动目标显示(MTI)是不够的,气象杂波(如云雨等)和箔条杂波受气流和风力的影响,会相对雷达而动,其频谱中心不是固定在0频附近,而是在某个频率区间内变化的, 抑制此类杂波用普通的MTI滤波器是不行的,而MTD滤波器则可以抑制此类杂波。如图1所示: 图1 动目标显

7、示滤波器和多普勒滤波器组的特性根据最佳线性滤波理论,在杂波背景下检测运动目标回波,除了杂波抑制滤波器外,还应串接有对脉冲串信号匹配的滤波器。实际工作中,采用一组相邻且部分重叠的滤波器组覆盖整个多普勒频率范围,这就是窄带多普勒滤波器组。N个相邻的多普勒滤波器组的实现是由N个输出的横向滤波器(N个脉冲和N-1根迟延线)经过各脉冲不同的加权并求和后形成的。该滤波器的频率覆盖范围为0到,为雷达工作重复频率。MTD就是用窄带多普勒滤波器组实现脉冲串信号匹配的一种技术。下图给出MTD的实现方法。图2 横向滤波器横向滤波器有N-1根延迟线,每根延迟线的延迟时间为,设加在第个横向滤波器的第个抽头的加权值为假设

8、输入序列为,第个横向滤波器完成的运算是 上式就是DFT的表述式,当是2的乘方的时候,便可以使用FFT算法来快速实现。用FFT实现N个滤波器组,FFT算法运算量大约在个乘法,而使用横向滤波器N组横向抽头的分别加权的方法,需要次乘法,在N比较大时,可以明显节省运算量。利用MTD可分辨不同速度的目标,其速度分辨力为 其中为多普勒频率分辨力。若信号的多普勒频率满足:,其中,则会出现多普勒频率模糊现象,即速度模糊。四 实验步骤以下是该实验中设定的几个参数BandWidth=2.0e6-带宽TimeWidth=42.0e-6-脉宽Fs=2.0e6-采样率PRT=240e-6-脉冲重复周期TargetDis

9、tance=3000 8025 8025 11600-目标距离TargetVelocity=50 0 -120 213-目标速度假设接收到的回波数是16个,噪声为高斯随机噪声。4.1 在MATLAB中产生线性调频信号。4.2 根据目标距离得出目标回波在时域的延迟量,根据目标速度得出多普勒相移,从而在MATLAB中产生4个目标的16个回波串(接收到的回波含噪声)。4.3 由匹配滤波理论产生对应于目标回波的滤波系数(脉压系数),在时域中做线性卷积,实现匹配滤波(时域脉压);在频域中做回波信号和脉压系数的FFT,点乘后作逆FFT,实现频域脉压。两者进行比较,讨论其差别。4.4 对16个去暂态点后的脉

10、冲串按接收顺序进行排列,用一次相消器(一种滤波方式)实现MTI。4.5 做16通道的FFT,实现MTD。4.6 在DSP中对MATLAB产生的回波数据和脉压系数进行处理,实现频域脉压。导入DSP的回波数据为时域数据,而脉压系数为频域数据。将导入DSP的时域回波数据进行一次FFT变换到频域,然后将其与频域脉压系数进行点积,得到频域脉压结果。对该结果再做一次逆FFT,将频域转换成时域。在这一步中需要调用库函数fft_flp32.asm。该子程序可实现8192点复数的FFT功能。由于C语言中无法实现复数运算,因此,对8192个复数按照实部虚部交替的顺序进行重排列,用长度为16384的数组来存放时域回

11、波数据。频域相乘后,做乘积结果的逆FFT,得到脉压结果。做逆FFT,仍需调用库函数fft_flp32.asm,此时要通过FFT子程序实现逆FFT的功能,要对频域的数据进行处理,才能达到这一目的。4.7 对脉压后的数据按照脉冲号重排,相邻序列的数据相减(滑动对消),实现MTI。4.8 调用子程序fft_16.asm,做16通道FFT,实现MTD。入口参数为16通道的脉压数据。五 实验结果及讨论5.1 脉压、MTI、MTD结果分析:5.1.1 脉压结果及其分析:由于雷达在发射时不能接收,故最大无遮挡距离(闭锁期)为:,而第一个目标的距离为3000m,因此在闭锁区内,被遮挡一部分,所以在目标功率相同

12、的情况下,第一个目标的回波功率明显小于另两个,第一个脉冲的幅度远小于另二个脉冲的幅度。第二个脉冲的幅度一直在变化,是因为第二个脉冲是两个在同一个距离门的两个回波信号的矢量叠加。第二个脉冲为功率为1的定目标与功率为0.25多普勒频移为雷达发射频率的0.25倍的运动信号的叠加,所以可以看到第二个脉冲的幅度以雷达发射周期的四倍为周期变化。从图中可以看出,时频域脉压结果差别很小,相对误差停留在10量级上。理论上两者计算结果应该是一样的,之所以存在误差主要是由于Visual DSP和MATLAB两种处理工具的精度不同也导致误差出现。5.1.2 MTI结果及其分析雷达的距离分辨力为。以第一个目标为例,对应

13、的横坐标为41,由于MATLAB的坐标是从1开始的,因此,第一个目标对应的距离为 图中一个脉冲第一个是速度50,功率是1,但是第一个脉冲有一部分功率损失在闭锁期了,故幅度较小;第二个目标被对消,因为第二个目标的速度为零,而其它目标的相减结果不为零,这是因为运动目标回波信号是以普勒频率为频率的余弦信号,因此相同功率下速度大的目标在MTI处理后的结果幅度较大。第三个是速度120,功率是0.25;第四个是学号产生的速度213,功率是1。因此,第四个脉冲的幅度最大,其次是第三个脉冲,其次是第一脉冲。5.1.3 MTD结果及其分析X轴代表多普勒通道,Y轴代表距离单元,Z轴代表做MTD后的幅度信息。由图可

14、算出各目标速度,以第一个目标为例:对应的纵坐标为2,在第二个多普勒通道上,而每个多普勒通道代表的速度是24.888,因此,第一个目标对应的速度为:2*24.88=49.76。第四个目标产生了速度模糊。这是由于其速度为213,大于临界速度199,故产生速度模糊5.2 模糊分析,改变重频因为窄带多普勒滤波器组的频率覆盖范围为0到,所以当时,将产生速度模糊,对应的多普勒通道将和多普勒频移为对应的多普勒通道相同,因此分辨不清目标的真实速度。这时,只要将PRF变大,由 其中为多普勒频率分辨力,即可计算出合适的PRF。经计算,只需将雷达脉冲重复周期PRT由240改为196即可解除模糊。5.3 DSP结果与

15、Matlab结果对比,误差分析。5.3.1 MATLAB和DSP脉冲压缩的结果分别如下图所示 由上图可知,DSP和MATLAB脉压结果基本一样。DSP和MATLAB的脉冲压缩结果的误差(绝对值)数量级为,脉冲压缩相对误差的数量级为,结果是正确的,且满足精度要求5.1.2 MATLAB和DSP 做MTI的结果分别如下图所示由图可知,MATLAB和DSP 做MTI的结果基本一致DSP做MTI结果的误差(绝对值)数量级为,误差(相对值)数量级为,可见DSP做MTI的结果是正确的,且满足精度要求。5.1.3 MATLAB和DSP 做MTD的结果如下图所示MTD绝对误差在数量级上,相对误差在数量级上。M

16、ATLAB和DSP的MTD结果稍有差别是由于两种工具处理数据的精度不一样,MATLAB用CPU处理数据,DSP则用DSP核处理数据。六 实验思考题及心得6.1 MTI结果中看不到静止目标从时域角度分析,静止目标在任何时刻产生的多普勒相移都是一样的,用脉压串进行相减,自然会消掉静止目标;从频域角度来看,一次相消器会抑制零频响应,而静态目标频率为0,所以经MTI滤波后会消失。所以MTI结果中看不到静止目标。6.2 速度模糊由于多普勒相移以产生周期变化,所以由于雷达发射脉冲串频率较低,间隔较大而测得的同一目标相移变化超过时,雷达无法通过目标回波的相移计算准确的目标多普勒速度,产生的速度不定性称作速度

17、模糊。根据多普勒速度与相移关系可算得试验中雷达可测的有效的最大速度为=398米/秒400米/秒,将程序中第四个目标速度设置为400米/秒,则在MTI动目标显示图中,没有该目标,就是产生了速度模糊,而且目标在两个目标回波中产生的相移正好为的倍数,则使得雷达误认为该目标为静止目标。6.3 MTD速度/多普勒通道的含义MTD的核心是线性MTI加窄带多普勒滤波器组,对雷达回波的处理包括杂波处理和脉冲串信号匹配。MTI实现的功能即是使杂波得到抑制而让各种速度的运动目标信号通过,而MTD滤波器则要实现回波脉冲串的相位特性相参积累。而此滤波器应为梳齿行滤波器,齿的间隔为脉冲重复频率,齿的位置取决于回波信号的

18、多普勒频移。实际情况中,多普勒频移不能预知,因此采用一组相邻且部分重叠的滤波器组,覆盖整个多普勒频率范围,这就是窄带多普勒滤波器组,多普勒通道数目即为该窄带多普勒滤波器组数目。实现的功能即是实现回波信号的相参积累,进一步滤除气象杂波等MTI滤波器不能消除的杂波部分。 实验心得通过这次试验,我对雷达信号处理的基本过程和相关理论以及线性调频,匹配滤波,MTI,MTD,多普勒频移,快、慢时间采样有了一定程度的理解。对FFT,采样,频谱泄露等数字信号处理技术有了更感性的认识,收获颇丰。最后非常感谢老师在实验中的耐心指导,让我顺利完成每个实验,充实度过每个实验课。大作业提示:在DSP环境下编程实现对回波

19、信号的脉压,MTI和MTD处理。MATLAB程序内容:提供了脉压,MTI,MTD的实现方法,同时生成数据文件以供DSP程序中使用。流程说明:做脉压处理时,导入DSP的回波数据应为时域数据,脉压系数为频域数据。这些数据是在MATLAB程序中生成的。在DSP中,对回波数据进行FFT处理将其变换到频域后,将其与频域系数进行点积,对点乘结果再做一次逆FFT,将频域结果转换到时域,在这一步中需要调用函数fft_flp32.asm,其功能是实现输入数据的FFT变换。这里要求同学们利用FFT程序实现IFFT的功能。具体方法请大家自己查找。这个库函数的入口参数包括(输入数据,缓存区1,缓存区2,输出结果)(说

20、明:原库函数中的入口参数比是6个而不是现在的四个,为了方便同学们调用,所以库函数调用的时候稍做了修改,希望你们以后再调库函数的时候注意)。所谓缓存就是在程序中再开辟一个存储空间,和输入数据的大小一样。所需的程序和旋转因子表都和这个文档放在同一个文件夹内了。在做MTD的时候调用的函数是fft_16.asm。程序中的参数由个人学号末三位来定,具体说明见matlab程序注释。可以自由改变参数,观察结果有何不同。本实验雷达的距离分辨率为该雷达的多普勒分辨率为对应的径向速度为:在MATLAB中通过fftshift将零频移到中间,同时调整坐标,使得X轴从0到480,Y轴从-8到8,通道0对应速度为0。练习

21、五 实验报告一、 实验目的编写C语言,练习读写数据二、 实验内容编写C程序,产生1000个随机浮点数(随机类型和参数自行确定),建立一个磁盘文件,把所有随机数依序、按照相应格式写入文件;关闭文件。再打开此文件,从文件中把数据读入,计算其均值、方差,并写入另一个文件中三、 实验过程3.1 C语言函数产生1000个随机浮点数3.2 建立磁盘文件并将随机浮点数依次写入文件rand.dat,并关闭文件3.3 打开rand.dat文件,并把数据读入3.4 计算所读入数据的均值及方差3.5 建立新的磁盘文件result.dat并将将所计算均值和方差写入该文件,关闭文件。四、 试验程序如下#include#

22、include#include#include#define N 1000int i;float mean=0.0;float var=0.0;int dataN;int data1N;FILE *fp;void main() for(i=0;iN;i+) datai=rand(); fp=fopen(rand.dat,rb); fread(data1,4,N,fp); fclose(fp); for(i=0;iN;i+) mean+=data1i; mean=mean/N; for(i=0;iN;i+) var+=(data1i-mean)*(data1i-mean); var=var/N;

23、 fp=fopen(result.dat,w); fprint(fp,mean=%fnvar=%fn,mean,var); fclose(fp);五、 问题讨论此练习中,计算机和DSP各自起什么作用?如果DSP脱离计算机,此程序还能运行吗?答:在DSP中进行了文件建立、读写操作和数学计算,并将数据处理结果送到计算机终端。对于DSP来说,它并不具备通用微机的强大的文件系统和人机界面,所以DSP将数据传回了通用微机所在的调试平台,并在Debug文件建立数据文件。所有的文件操作都是有DSP来完成,但是数据文件却是建在微机上。如果DSP脱离了计算机,DSP创建的文件将没有终端存放,那么这个程序将无法运

24、行。练习六 实验报告一、 实验目的调试器和EZ-KIT板的性能比较二、 实验内容 把练习二改为执行5次、10次,在软仿真环境下运行,并用记录执行的时间;然后,再在EZ KIT板上执行此程序,记录执行时间。三、 实验过程3.1 在练习二程序中主程序加for循环函数,循环次数5次,编译、运行、记录执行时间;3.2 将循环次数改为10次,编译、运行、记录执行时间;3.3 连接 EK KIT板,设置运行环境,程序循环次数分别设置5、10次,编译后运行,分别记录执行时间(通过Cycle Counters);3.4 比较数据四、 实验结果软件调试器时间:程序运行5次:22s 程序运行10次:41sEK K

25、IT硬件调试时间(Cycle Counters):程序运行5次:程序运行前 1855393473 程序运行后 1855899752程序运行10次:程序运行前 1793396145 程序运行后 1794408256五、 时间差异比较及原因5.1 EK KIT硬件调试时间运算运行5次 (1855899752-1855393473)*1.67ns=0.85ms运行10次 (1794408256-1793396145)*1.67ns=1.69ms5.2 从运行时间比较来看,DSP运行硬件环境EK KIT板子运行时间比较软件调试器运行时间有大幅度减少,节省了大量时间。5.3 之所以EK KIT比较软件调

26、试器速度有这么大的提高,是因为DSP硬件板子是专门用于数字信号处理的工具,采用数据总线、程序总线分离的结构方式,采用流水技术,大大提高了指令的执行速度和效率。总之,DSP硬件较之计算机有更利于指令加快运算速度的结构和技术设计,所以才有更快的运算速度。实验九 中断响应、标志查询一、 实验概述VisualDSP Debug中提供了Interrupts来模仿在程序的执行过程中产生随机外部中断。Interrupts 模仿在程序的执行过程中产生随机外部中断(IRQ03)和可编程I/O(Flag03),这对调试中断服务程序、执行条件指令非常有用。对于外部中断IRQ03采取中断服务程序方式,对于可编程I/O

27、采取查询方式。二、 实验步骤1编写C语言程序调试外部中断#include #include #include #include #pragma align 4section (data2a) float data110 = #include data1.dat /读取文件data1.dat;#pragma align 4section (data2a)float data210 = #include data2.dat /读取文件data2.dat;#pragma align 4section (data2a)float result10; /为计算结果分配内存int n = 0;int en

28、_flag = 0;void initial(void); /声明函数void irq0_isr(void); /声明函数void main(void)initial(); /初始化寄存器函数 / irq0_isr() 外部IRQ0中断服务子程序,在子程序中断中置en标志位interrupt(SIGIRQ0,irq0_isr);/ intR0的中断使能_builtin_sysreg_write(_IMASKH,0x00000200);/ 打开全局中断使能_builtin_sysreg_write(_SQCTLST,SQCTL_GIE); while(1)while(en_flag=1) /当检

29、测到标志位为1时 en_flag = 0; /标志位清0 resultn = data1n + data2n; /两数组按顺序相加 n+; /数组下标指向下一个数 if(n=10) break; /跳出while循环 void initial()/配置系统配置寄存器SYSCON 外部总线接口寄存器 _builtin_sysreg_write(_SYSCON,0x279e7); /设置外部中断触发方式为边沿触发,关闭定时_builtin_sysreg_write(_INTCTL,0x0);void irq0_isr()en_flag = 1; /标志位置12添加外部中断IRQ03设置断点在while(en_flag=1)内4运行程序,记录数据5编写C语言程序调试可编程I/O#include #include #include #include void initial(void); /声明函数int flag1;void main(void) initial(); /初始化寄存器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论