西电电子信息系统综合实验报告_第1页
西电电子信息系统综合实验报告_第2页
西电电子信息系统综合实验报告_第3页
西电电子信息系统综合实验报告_第4页
西电电子信息系统综合实验报告_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

电子信息系统综合实验报告班级:姓名:学号:目录实验目的 3实验内容 3实验步骤 4FPGA实验——流水灯 4MATLAB实验——复杂噪声产生实验 10FPGA实验——噪声产生及正弦信号产生 11MATLAB实验——数字下变频及匹配滤波 18DSP实验——匹配滤波 19DSP实验——中端闪灯 20DSP实验——单频信号产生 25DSP实验——二相编码信号产生 25DSP实验——线性调频信号产生 26FPGA实验——数字下变频实验 26实验结果及分析 28FPGA实验——流水灯 28MATLAB实验——复杂噪声产生实验 29FPGA实验——噪声产生及正弦信号产生 31MATLAB实验——数字下变频及匹配滤波 31DSP实验——匹配滤波 33DSP实验——中端闪灯 33DSP实验——单频信号产生 34DSP实验——二相编码信号产生 34DSP实验——线性调频信号产生 34FPGA实验——数字下变频实验 34DSP实验——链路口测试实验 35实验总结 35实验分工 35参考资料 35分配引脚:根据相关原理图,对管脚进行分配,详细分配如下表所示:属性连接到FPGA上的管脚实际电路led[3]OutputPIN_126连接到HL5led[2]OutputPIN_127连接到HL4led[1]OutputPIN_128连接到HL3led[0]OutputPIN_129连接到HL2rst_nInput接高电平sw1InputPIN_47连接到拨码开关sys_clkInputPIN_16接40M时钟按照如上所示的连接:编译程序,连接下载器到电路板,将程序烧写进FPGA中。MATLAB实验——复杂噪声产生实验1. 服从高斯(Guass)分布的热噪声(随机序列)Matlab7.0本身自带了标准高斯分布的内部函数randn,调用格式如下:Y=randn(n)Y=randn(m,n)Y=randn([mn])Y=randn(size(A))s=randn('state')randn函数产生的随机序列服从均值为m=0,方差σ2=1的高斯分布。Y=randn(n)产生的是一个n×n的随机序列矩阵,而Y=randn(m,n)和Y=randn([mn])产生的m×n的随机序列矩阵,Y=randn(size(A))产生的是大小与矩阵A同样大小的随机序列矩阵。s=randn('state')返回的是一个具有两个元素的向量,该向量显示的是当前正态随机数产生器的状态。randn('state',s)指令可以将产生器的状态设置到s,而randn('state',0)则可以将正态随机数产生器的状态恢复到初始状态。2.服从均匀分布的热噪声(随机序列)可以先产生一个服从(0-1)单位均匀分布的信号,然后再将其经过上式的变换,就可以得到一个服从(a-b)均匀分布的信号了。同样Matlab本身也自带了(0-1)单位均匀分布的内部函数rand,格式如下:Y=rand(n)Y=rand(m,n)Y=rand([mn])Y=rand(size(A))s=rand('state')rand函数产生的随机序列服从(0-1)单位均匀分布。Y=rand(n)产生的是一个n×n的随机序列矩阵,而Y=rand(m,n)和Y=rand([mn])产生的m×n的随机序列矩阵,Y=rand(size(A))产生的是大小与矩阵A同样大小的随机序列矩阵。s=rand('state')返回的是一个具有两个元素的向量,该向量显示的是当前(0-1)单位均匀随机数产生器的状态。rand('state',s)指令可以将产生器的状态设置到s,而rand('state',0)则可以将(0-1)单位均匀分布随机数产生器的状态恢复到初始状态。可以写出服从(a-b)均匀分布的随机序列的产生程序,如下:a=2;%(a-b)均匀分布下限b=3;%(a-b)均匀分布上限fs=1e7;%采样率,单位:Hzt=1e-3;%随机序列长度,单位:sn=t*fs;rand('state',0);%把均匀分布伪随机发生器置为0状态u=rand(1,n);%产生(0-1)单位均匀信号x=(b-a)*u+a;%广义均匀分布与单位均匀分布之间的关系subplot(2,1,1),plot(x),title('均匀分布信号');%输出信号图subplot(2,1,2),hist(x,a:0.02:b),title('均匀分布信号直方图');%输出信号的直方图3.服从指数分布的热噪声(随机序列)先产生一个服从(0-1)单位分布的信号,然后再将其经过指数变换,就可以得到一个服从参数为λ的指数分布的信号了。4.服从瑞利(Rayleigh)分布的热噪声(随机序列)先产生一个服从(0-1)分布的信号,然后再经过变换,可以得到一个服从瑞利(Rayleigh)分布的信号了。产生瑞利分布的热噪声实现程序如下sigma=2;%瑞利分布参数sigma;t=1e-3;%杂波时间长度fs=1e7;%采样率t1=0:1/fs:t-1/fs;n=length(t1);rand('state',0);%把均匀分布伪随机发生器置为0状态u=rand(1,n);x=sqrt(2*log2(1./u))*sigma;%产生瑞利分布信号1subplot(2,1,1),plot(x),title('瑞利分布噪声'),xlabel('t(单位:s)');%输出信号图subplot(2,1,2),hist(x,0:0.1:10),title('瑞利分布信号直方图');%输出信号的直方图FPGA实验——噪声产生及正弦信号产生管脚在FPGA上的分配FPGA上的连接管脚说明clkPIN_1640M2系统时钟40Mda_clkPIN_79DACLKDA的工作时钟一般为60Mout[0]PIN_69DATA0需DA转换的10位数字信号的第0位out[1]PIN_70DATA1需DA转换的10位数字信号的第1位out[2]PIN_71DATA2需DA转换的10位数字信号的第2位out[3]PIN_72DATA3需DA转换的10位数字信号的第3位out[4]PIN_73DATA4需DA转换的10位数字信号的第4位out[5]PIN_74DATA5需DA转换的10位数字信号的第5位out[6]PIN_75DATA6需DA转换的10位数字信号的第6位out[7]PIN_76DATA7需DA转换的10位数字信号的第7位out[8]PIN_77DATA8需DA转换的10位数字信号的第8位out[9]PIN_78DATA9需DA转换的10位数字信号的第9位计数器模块:Rom模块:选中信号q,右击鼠标,弹出下拉列表DisplayFormat->AnalogWaveform选中后,弹出对话框:将其值改为5后即可得到下图MATLAB实验——数字下变频及匹配滤波1.用波形产生板产生一个重频周期为1ms,中心频率为10M,带宽为200k—2M,时宽为60us的线性调频脉冲信号;2.用MATLAB语言产生高斯白噪声信号;3.利用信号处理板对波形产生板产生的信号进行实时采集,并与前面产生的噪声数据进行叠加后,用数字信号处理算法进行处理,并将处理结果实时输出到D/A,在示波器上查看处理结果;4.调解波形产生电路板所产生信号的幅度,连续运行,利用示波器查看不同输入信噪比情况下系统的输出用MATLAB中产生适当的的线性调频信号,并对其进行数字正交解调,得到I,Q两路数据,同时生成匹配滤波器系数、FFT和IFFT蝶形运算系数,并将这些数据和系数保存为dat数据文件。在DSP程序中加载I,Q两路数据,并对其进行匹配滤波,利用集成开发环境提供的画图功能观察匹配滤波的结果。具体实验步骤如下:(1)用MATLAB产生中心频率为10MHz,带宽为200KHz,脉冲宽度为60us的线性调频信号,对其进行正交解调,采样频率为8MHz,得到I,Q两路数据,并将数据保存为idata.dat和qdata.dat;(2)利用MATLAB生成FFT和IFFT的蝶形运算系数,分别保存为twid1k.dat和itwid1k.dat;(3)由I,Q两路数据生成复信号,在MATLAB中对其进行Fourier变换,再进行共轭和数据反转,得到匹配滤波器系数并保存为LFM_para.dat;(4)按照图5.22所示匹配滤波器实现方案,在MATLAB中对上述信号进行匹配滤波,并对结果进行分析;DSP实验——匹配滤波本实验要求学生掌握脉冲压缩与匹配滤波的基本原理,理解雷达系统的距离分辨率、作用距离、平均功率、峰值功率、多普勒频率、信号时宽带宽积等概念。学习FFT、滤波器设计、匹配滤波等数字信号处理流程和设计方法,利用DSP实现对模拟I、Q两路回波信号的匹配滤波,并对实验结果进行分析。具体目标:(1)结合实验,对雷达回波的匹配滤波算法原理有进一步的了解和认识;(2)掌握数字滤波器、FFT、相关处理、匹配滤波等数字信号处理的DSP实现方法。特别是通过实验,掌握FFT算法是如何实时快速,加强对蝶形结构的理解。并利用DSP平台,用ADSP-TS101汇编语言实现这些处理算法;(3)通过实验,进一步加强对这些常用的数字信号处理算法的理解和认识,并与数字信号处理理论课程的讲解进行对比,从感性上进一步熟悉这些算法的本质和对不同信号的处理结果;(4)通过实验,进一步熟悉DSP(TS101)的DMA数据传输和链路口通信方式,并能有效的对其外部接口进行控制设计;(5)进一步熟悉TS101的指令系统,能对处理算法进行修改。匹配滤波器是指滤波器的性能与信号的频率特性相一致,使滤波器输出端的信号瞬时功率与噪声平均功率的比值最大。即当信号与噪声同时进入滤波器时,它使信号成分在某一瞬间出现尖峰值,而噪声成分受到抑制。假设雷达发射信号(基带信号)为,其频谱为,那么匹配滤波器的频率响应和冲激响应分别可表示为:可见,匹配滤波器只与发射信号本身有关,可以最大程度地提高信噪比。匹配滤波的实现方案如图5.23所示。输入信号为模拟I,Q两路复信号,对其进行FFT,得到频率复信号,再与匹配滤波器系统相乘,最后进行IFFT,得到匹配滤波结果。图5.23匹配滤波的实现方案用MATLAB中产生适当的的线性调频信号,并对其进行数字正交解调,得到I,Q两路数据,同时生成匹配滤波器系数、FFT和IFFT蝶形运算系数,并将这些数据和系数保存为dat数据文件。在DSP程序中加载I,Q两路数据,并对其进行匹配滤波,利用集成开发环境提供的画图功能观察匹配滤波的结果。具体实验步骤如下:(1)用MATLAB产生中心频率为10MHz,带宽为200KHz,脉冲宽度为60us的线性调频信号,对其进行正交解调,采样频率为8MHz,得到I,Q两路数据,并将数据保存为idata.dat和qdata.dat;(2)利用MATLAB生成FFT和IFFT的蝶形运算系数,分别保存为twid1k.dat和itwid1k.dat;(3)由I,Q两路数据生成复信号,在MATLAB中对其进行Fourier变换,再进行共轭和数据反转,得到匹配滤波器系数并保存为LFM_para.dat;(4)按照图5.22所示匹配滤波器实现方案,在MATLAB中对上述信号进行匹配滤波,并对结果进行分析;(5)编写FPGA程序,配置DSP工作所需的信号,参考5.3节图5.18;(6)在VisualDSP++中,新建工程TSdsp1,选择session:ADSP-TS101TigherSharcCycleaccurateSimulatorplatform,编写DSP1程序:开辟存储区加载滤波器系数和蝶形系数(例如加载蝶形系数.vartwidik[1024]=”twid1k.dat”),注意各子程序的入口及出口寄存器。主程序的流程为:先把I,Q两路信号组成一个复信号,进行FFT变换,然后与匹配滤波系数相乘,然后进行IFFT变换,最后对匹配滤波结果求模。(7)编译工程文件,在idle处设置断点,运行至断点处,观察匹配滤波的结果。在VisualDSP++中,新建工程TSdsp1,编写DSP程序,并将上述五个dat数据文件保存在工程TSdsp1的根目录下。DSP实验——中端闪灯利用波形产生信号板,结合FPGA编程技术和程序编程器,编写测试ADSP21065L和FPGA之间硬件连接的应用程序,同时完成应用程序的加载和脱机操作,在信号指示灯“HL2”上产生可调周期的脉冲信号,“点亮”与“熄灭”指示灯HL2。实验步骤:1.熟悉电路图,清楚波形产生电路板ADSP21065L与可编程FPGA器件之间的连接关系。2.编写FPGA程序(内部已编好)。在FPGA内部将ADSP21065L的标志引脚FLAG11(引脚号26)设置为输出,作为FPGA的输入信号,在FPGA内部编程将该信号直接输出在发FPGA的37引脚号上,设置37引脚为输出信号,驱动板上的HL2LED指示灯;3.启动VisualDsp++4.5,选择project工程选项菜单,创建一个名称为Test.dpj的工程文件,选择处理器的型号为ADSP-21065L;4.新建一个源文件,将程序复制进去,然后保存,文件的后缀名为.asm。5.添加刚刚保存的源文件。点击AddFile(s)toFolder...,将.asm文件添加进去。 6.产生链接文件。之后会出现下面的窗口:7.点击编译按钮进行编译。发现编译失败,通过修改程序使得最后编译成功。8.编译成功后,进行编程器设置。点击session里的newsession,出来下图的窗口:Processor类型为SHARC,处理器为ADSP-21065L。然后next选择Emulator硬件仿真,next,下面要特别注意:如果你的编程器接口是usb类型的请选择HPUSB-ICE如果你的编程器接口是pci类型的请选择HPPCI-ICE选完后完成。此时SelectSession会出现ADSP-21065LviaHPUSB-ICE的选择项。9.将编程器与板子连接,进行加电。给板子加电,打开电源。然后将编程器选通,如果编程器是usb的,则选择SessionSelectSessionADSP-21065LviaHPUSB-ICE的选择项。然后进行编译,编译完成后运行,会发现HL2灯的闪动。10.实验完成后,应该先将仿真模式切换成软件仿真,如图,然后再将编程器的接口拔出板子。DSP实验——单频信号产生实验要求:产生一重频周期为1ms,频率为10MHz,脉冲宽度为5us的单频正弦脉冲信号,并掌握利用AD9854实现单频正弦脉冲的产生;掌握AD9854模式控制字和频率控制字的设置方法;利用FPGA控制电路,在DSP的IRQ2中断输入引脚上产生1ms的周期中断信号;实验步骤:1.步骤如第一个实验(指示灯的产生),编译成功后。运行!利用示波器测量波形发生板右上角的R19测试点,可以观测所产生的波形,如图9.3所示。说明:利用DSP程序设置AD9854的模式控制字和频率字,此处的模式选择为单频模式(000),模式字保存在寄存器r0中,所占用的外部地址为0x100001f。频率字的计算方法为:频率字=希望输出频率×248/系统时钟,得到12位十六进制的频率字码,分别保存到寄存器r1~r6中,分别输出到AD9854寄存器地址0x1000004,0x1000005,0x1000006,0x1000007,0x1000008,0x1000009中。本系统的系统时钟为200MHz。DSP实验——二相编码信号产生本实验要求学生掌握用AD9854模式控制字、频率控制字和相位寄存器的设置方法,利用信号产生板产生一个由13位巴克码调制的二相脉冲信号,脉冲信号的重频周期为1ms,频率为10MHZ,码片宽度1us,脉冲信号的宽度为13us,并用示波器对波形进行观察分析。实验中需要编程设置AD9854的模式字、频率字、相位调节字等。(1)用FPGA产生周期为1ms的信号,控制输出信号的脉冲重复周期;(2)用FPGA产生ADSP和AD9854的复位信号,以及其他时钟和控制信号;(3)利用DSP程序设置AD9854的模式控制字和频率字,此处的模式选择二相编码模式,模式值为0x08,所占用的外部地址为0x100001F;频率字设置方法为:频率字(FTW)=希望输出频率×248/系统时钟,得到12位十六进制的频率字码,分6段分别设置到AD9854寄存器偏移地址0x0000004,0x0000005,0x0000006,0x0000007,0x0000008,0x0000009中。需要注意的是,这里的频率指的是线性调频信号的起始频率。AD9854系统时钟设为200M。(4)设置相位调节字:相位调节字1为0°,相位调节字2为180°,地址分别为0x0000000和0x0000002。(5)程序编译成功后,点击运行,利用示波器观测所产生的波形。DSP实验——线性调频信号产生本实验的解决思路如下:(1)用FPGA产生周期为1ms的周期信号,输出到FPGA的11引脚上,作为ADSP的外部中断2中断信号,控制脉冲重复周期;(2)设计FPGA程序,产生ADSP和AD9854的复位信号,以及其他信号产生板所需的时钟和控制信号;注意:信号处理板上电后,由EPC2LC20加载烧写在其中的FPGA程序,产生需要的各种时序和控制信号。(3)利用DSP程序设置AD9854的模式控制字和频率字,此处的模式选择线性调频脉冲模式(011),模式值为0x06,所占用的外部地址为0x100001F;频率字设置方法为:频率字(FTW)=希望输出频率×248/系统时钟,得到12位十六进制的频率字码,分6段分别设置到AD9854寄存器偏移地址0x0000004,0x0000005,0x0000006,0x0000007,0x0000008,0x0000009中。需要注意的是,这里的频率指的是线性调频信号的起始频率。AD9854系统时钟设为200M,对输入40M信号进行5倍增频。(4)设置频率频率增量字(DFW),其计算方法为:频率字(FTW)=希望输出频率×248/系统时钟,需要注意此处希望增长的频率不是一般理解的(11MHz-9MHz),而是通过公式:(11MHz-9MHz)/脉冲宽度=希望的增长频率/(步长*时钟周期),此处步长的值为40。占用AD9854的寄存器地址偏移量为0x0000010,0x0000011,0x0000012,0x0000013,0x0000014,0x0000015。其中0x0000010为频率增量字的高位地址;(5)程序编译成功后,点击运行,利用示波器观测所产生的波形。对于AD9854产生线性调频信号的ADSP程序设计,AD21065L的寄存器、中断、初始化等设置,以及AD9854初始化等均与单频信号产生均与单频信号产生相同,这里仅给出AD9854产生线性调频脉冲信号的频率字、频率增量等、脉冲宽度等参数设计程序。FPGA实验——数字下变频实验实验中,在模拟中频信号输入的基础上,需要分别设计实现FPGA和DSP两种数字正交解调方法。实验步骤如下:(1)利用MATLAB仿真产生10MHz中频信号,信号调制方式采用调幅或线性调频,通过RAM输入到FPGA内存中。(2)设计FPGA程序模块,配置模拟数据读取时钟,即信号采样速率;(3)设计FGPA程序模块,为EP1C3T144配置工作时钟,实现基于4阶Bessel插值的正交解调算法,将结果通过D/A输出,由示波器观察结果;(4)设计FPGA程序,为DSP101配置工作时钟、复位、读写信号等,将需要处理信号据通过RAM发送到DSP101;数字正交解调实现电路组成框图(虚线部分)首先,设计FPGA程序模块,产生处理系统所需各种时钟信号。输入时钟为40MHz,需要产生100MHz(D/A时钟)、8MHz(A/D采样时钟)、2MHz和4MHz时钟信号。时钟模块的原理图如图5.15所示。图5.15时钟模块设计原理图模拟数据输入模块接着,按照图所示的数字正交解调实现流程,设计FPGA程序模块。该模块包括符号修正、正交两路分离、时间对齐、Bessel插值等功能。正交解调模块结果锁存及输出模块最后,对上述工程进行编译,编译通过后进行功能仿真与时序仿真,观察波形输出是否正确。仿真正确后将程序下载到FPGA中进行测试,用示波器观察AD9750输出点的波形。需要注意的是,在QUARTUSII9.0中进行程序设计时,需要将上述多个模块放在一个工程下,并注意在器件与管脚选项中,设置Configurationscheme为PassiveSerial方式。11.DSP实验——链路口测试实验了解数字信号处理电路的链路口连接,链路口2->链路口0,链路口1->链路口3。根据参考程序编写DSP1程序,即发送程序;根据参考程序编写DSP2程序,即接收程序,在session:ADSP-TS101TigherS

温馨提示

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

评论

0/150

提交评论