1 / 26
文档名称:

北科大信号系统与信号处理综合实验.pdf

格式:pdf   大小:3,089KB   页数:26页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

北科大信号系统与信号处理综合实验.pdf

上传人:1781111**** 2024/5/11 文件大小:3.02 MB

下载得到文件列表

北科大信号系统与信号处理综合实验.pdf

相关文档

文档介绍

文档介绍:该【北科大信号系统与信号处理综合实验 】是由【1781111****】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【北科大信号系统与信号处理综合实验 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..北京科技大学《信号系统与信号处理综合实验》实验报告专业班级:学生姓名:学号:指导教师:实验成绩:年月日计算机与通信工程学院:...目录一、SEED-S平台实验.............................................................................................21、DDR2SDRAM实验.........................................................................................................22、Audio音频实验.................................................................................................................63、RS232实验.........................................................................................................................54、结论及思考.........................................................................................................................8二、Linux平台实验.....................................................................................................................101、入门实验...........................................................................................................................102、OSD图像叠加实验..........................................................................................................143、视频采集回放实验...........................................................................错误!未定义书签。4、结论及思考.......................................................................................................................15三、自主设计实验.........................................................................................................................16四、总结与收获.............................................................................................................................25五、教师评语.................................................................................................................................25:...一、SEED-S平台实验1、-DVS6446外部存储器DDR2SDRAM;;。;;。。:...、21行设置断点,将memorybrowser窗口截屏,地址栏为0x80000000。:...、21行代码的作用,将memorybrowser窗口截屏。第20行代码:retcode|=memaddr32(ddr_base,ddr_size);作用:memaddr32函数分为读操作和写操作两个部分,/*WritePattern*/for(i=start;i<end;i+=4){*(volatileUint32*)i=i;}写入部分操作是将操作数i存入寄存器中。/*ReadPattern*/for(i=start;i<end;i+=4){if(*(volatileUint32*)i!=i){}读操作中有变量errorcount用于记录写入寄存器中的数值错误个数。读操作用于检验寄存器中的值是否和写入寄存器的值是一样的,如果不一样,返回发生错误:...的次数。第21行代码:retcode|=meminvaddr32(ddr_base,ddr_size);memaddr32函数分为读操作和写操作两个部分,/*WritePattern*/for(i=start;i<end;i+=4){*(volatileUint32*)i=~i;}写入部分操作是将操作数i取反后存入寄存器中。/*ReadPattern*/for(i=start;i<end;i+=4){if(*(volatileUint32*)i!=~i){}读操作中的errorcount用来记录写入寄存器中的数值错误个数。读操作用于检验寄存器中的值是否和写入的值是一样的,如果不一样,返回发生错误的次数。2、实验名称(自选):;;。;。;:...。UART首先将接收到的并行数据转换为串行数据。消息帧以低起始位开始,后面依次是5~8个数据位、可用奇偶校验位和一个或多个高位停止位。当接收器找到起始位时,它知道数据已准备好发送,并试图与发射机时钟频率同步.。如果校验选中,UART的后面是一个奇偶校验位。奇偶校验可以用来帮助错误检查.。在接收过程中,UART去掉起始位和结束位从消息框,校验输入的字节,并将字节数据从并行到串行。UART也产生额外的信号来指示发送和接收的状态。例如,如果发生奇偶校验错误,UART设置奇偶校验标志。3、实验名称(自选):;;。;;。实验报告要求::...。(1)TLV320AIC23B的控制口:TLV320AIC23B的控制接口有两种工作方式,分别为:2-Wire的I2C(MODE为低)3-Wire的SPI方式(MODE为高)。在SEED-DVS6446系统上采用I2C方式控制TLV320AIC23B。MODEI:控制口模式选择引脚。低电平时控制口配置成两线I2C模式,高电平时配置成三线SPI模式。CSI:控制口锁存/地址选择引脚。控制口工作在SPI模式时,作为数据输入锁存引脚;控制口工作在I2C模式时,作为I2C器件的地址选择引脚。SDIN:AIC23B控制口串行数据输入;SCLK:AIC23B控制口的位时钟;TMS320DM6446支持多种存储器和外设的接口,包括:1)支持NORFlash、SRAM连接的异步EMIF接口;2)NANDFlash接口;3)ATA/CF接口;(2)TMS320DM6446工作模式:TMS320DM6446为系统音频应用需求集成了ASP控制器以实现同音频设备的:...连接。而TMS320DM6446的工作模式取决于芯片TLV320AIC23B的工作接口。TLV320AIC23B与微处理器的接口有二个,一个是控制口,用于设置AIC23B的工作参数,另一个是数据口,用于传输AIC23B的A/D、D/A数据。SEED-DVS6446系统上将TMS320DM6446的ASP与TLV320AIC23B接口;使用I2C总线与TLV320AIC23B的控制接口。TLV320AIC23B的数据口有四种工作方式,分别为:RightjustifiedLeftjustifiedI2SModeDSPMode其中后两种可以很方便的与DSP的McBSP串口相连接。TLV320AIC23B的控制接口有两种工作方式,分别为:2-Wire的I2C(MODE为低);3-Wire的SPI方式(MODE为高)。、LRCOUNT及BCLK的输入信号来源。BCLK:数据口位时钟信号,当AIC23B为从模式时,该时钟由DSP产生;AIC23B为主模式时,该时钟由AIC23B产生;LRCIN:数据口DAC输出的帧同步信号。在DSP模式下,必须连接DSP的帧同步信号;LRCOUT:数据口ADC输入的帧同步信号;4、结论及思考(S平台的功能及应用场合,对实验结果及实验中遇到的问题进行较全面的对比分析)CCS平台的功能:(1)具有集成可视化编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;(2)含有集成代码生成工具,包括编辑器、优化C编译器、链接器,将代码的:..(3)高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;(4)工程项目管理工具可对用户程序实行项目管理。在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;应用场合:?工业研究与开发。?工程和科学学科方面的教学与研究。?高校、研究所、公司等进行开发与研究。实验结果分析:(1)DDR2SDRAM实验:SEED-DVS6446外部存储器DDR2SDRAM:MS320DM6446内部集成了DDR2存储器控制器,数据总线宽度可配置为16或32位。DDR2总线利用内部PLL主频高达166MHz,双边情况下可达325MHz,其刷新由DaVinci芯片自动实现。该存储空间主要用于程序、数据和视频的存储。(2):UART控制器可以从外设接收数据以完成数据的串并转换和从CPU接收数据发送以完成并串数据转换功能,CPU可以通过随时读取UART的状态寄存器来确定数据的发送与接收。:UART控制器包含一个可编程的波特率发生器,分频输入的UART时钟,为内部发送和接收单元产生一个16x的参考时钟。SEED-DTK6446配置UART0为RS232模式,UART1为RS485模式。(3)Audio音频实验TLV320AIC23B音频Codec芯片:TLV320AIC23B是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINEIN两种输入方式(二选一),并且输入和输出都具有可编程增益调节。实验中遇到的问题分析:上电后供电不正常,SEED-DVS6446板卡的D6电源指示灯亮,D8指示灯不亮,可知板子上的5V供电不正常。:..J2、J17、J23、J24跳线短接。二、Linux平台实验、,学会基于SEED-DTK6446平台linux开发环境的配置和使用;-gcc编译工具;。;;。;“#setenvbootargsmem=60Mconsole=ttyS0,115200n8root=/dev/hda1noinitrdrwip=::=dm64xxfb:output=pal”与“#setenvbootargsmem=60Mconsole=ttyS0,115200n8root=/dev/nfsnoinitrd:..rwip=::=:/opt/nfsvideo=dm64xxfb:output=pal(1)开发板的ip配置不同:第一个开发板的ip为:,,。第二个开发板的ip为:,,。(2)启动方式不同:第一个指令是系统配置为从Linux虚拟机中的第一块盘的第一分区(即hda1)中启动。第二个指令是系统配置为从NFS根文件系统启动。、实验名称(自选):;;。;。;应用工程师通过调用CodecEngine的API来调用和运行符合xDAIS58的算法。在Davinci软件中,符合xDAIS的音视频编解码算法(即xDM算法)的调用是通过CodecEngine的VISAAPI完成的。CodecEngine通过这套API为算法的执行提供了一个标准的软件架构和接口,体现在以下几个方面:通过CodecEngineAPI调用的算法可以运行在本地(ARM侧)或者远端(DSP侧);:..CodecEngineARM+DSP、DSP或ARM上运行;无论CodecEngine运行在ARM还是DSP上,对应的CodecEngineAPI都是完全一致的;CodecEngine的API与操作系统无关。比如Linux、VxWorks和WinCE环境下的CodecEngineAPI都是完全一致的。CodecEngine是介于应用程序和具体算法之间的软件模块,其中的VISAAPI通过stub和skeleton访问EngineSPI最终调用具体的算法。因此,CodecEngine的工作是通过完成VISAAPI的任务来体现的。VISAAPI分为四部分VISAcreate/control/process/delete,我们以codec算法运行在DSP为例,通过VISAAPI的执行过程了解CodecEngine的工作原理。在调用VISAAPI之前需要在应用程序中通过Engine_open()这个EngineAPI把DSP的可执行程序加载到DSP的memory,同时把DSP从复位状态释放,这时DSP开始运行DSPServer的初始化程序在DSP端创建一个优先级最低的任务RMS(RemoteManagementServer),RMS负责管理和维护对应到具体codec算法的Instances。如下图所示,应用程序调用VISAcreateAPI,相应的VISAcreate函数到EngineSPI中的Codectable中查到这个codec运行在远端DSP侧。接着EngineSPI通过OSAL(OperatingSystemAbstractionLayer)、DSPLink把VISAcreate的命令传到DSP侧的RMS。RMS通过DSP侧EngineSPI的codectable找到要调用的codec算法后,就会在RMS中创建一个相应的Instance(即一个DSP/BIOS系统中的任务)。VISAcreate会返回一个Instance的Handle,以便于给这个Instance做后续的VISAcontrol/process/delete提供信息。VISAdelete和VISAcreate原理类似,只是RMS删除掉相应的codec算法的Instance和执行codec算法的任务。:..;DaVinci的软件开发通常需要四个步骤(1)S开发自己的音视频编解码算法,编译生成一个编解码算法的库文件*.lib。如果要通过CodecEngine调用这个库文件中的算法函数,那么这些算法实现需要符合xDM(xDAIS(eXpressDSPAlgorithmInterfaceStandard)forDigitalMedia)标准;CodecEngine机制下不符合xDM标准的算法实现需要创建算法自己的Stub和Skeleton。(2)生成一个在DSP上运行的可执行程序*.x64P(),也就是DSPServer。(3)根据DSPServer的名字及其中包含的具体的音视频编解码算法创建CodecEngine的配置文件*.cfg。这个文件定义Engine的不同配置,包括Engine的名字、每个Engine里包括的codecs及每个codec运行在ARM还是DSP侧等。:..4)应用工程师收到不同的codec包、DSPServer和Engine配置文件*.cfg,把自己的应用程序通过编译、链接,最终生成ARM侧可执行文件。。、实验名称(自选):。实验内容基于标准视频显示驱动FBdev的OSD编程。;;:...OSD模块的主要功能是混合视频数据与显示数据(图片、字幕等数据),然后以YCbCr格式传送给视频编码器(VENC)进行编码输出。TMS320DM6446视频处理子系统(VPSS)的视频处理后端(VPBE)支持背景窗颜色,两个视频窗口,两个OSD窗口,一个指针(cursor)窗口。它们以优先级递增的顺序排列:第二个OSD窗口(OSDWIN1)可以配置成属性窗口来控制视频窗口和第一个OSD窗口(OSDWIN0)的混合(如透明度)。OSD窗口可以配置成接收RGB565或者bitmap数据。在达芬奇处理器上提供了配置成RGB565或者bitmap的选项。当OSD窗口配置成接收bitmap数据,它就使用256条目的颜色查找表(CLUT)。这意味着最大颜色深度是8bit(4,2,1bit的也支持)。当OSD窗口配置成接收RGB565数据,CLUT就不需要的了,因为RGB数据在外部存储器中先转换成YCBCR;RGB565使用16bit/pixel,因此能接收64k颜色。两个窗口都可以同时配置成接收bitmap数据。然而,只有一个OSD窗口可以配置成接收RGB565数据而不能两个同时都配置成接收RGB565数据。因此,如果第二个OSD窗口用作属性窗口,第一个OSD窗口最好使用RGB565模式,主要因为它可以存取16bits(64k颜色)。4、结论及思考(概述Linux平台的功能及应用场合,对实验结果及实验中遇到的问题进行较全面的对比分析)Linux平台功能::...(1)Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。(2)命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。(3)Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。Linux应用场合:高端服务器领域可以各种网络服务。例如提供VPN网,或充当路由器或者网关。桌面应用领域、嵌入式应用领域实验结果分析:(1)熟悉了linux开发环境,学会基于SEED-DTK6446平台linux开发环境的配置和使用;(2)使用XDC编译工具:xDC(ponent)。和gmake类似,xDC根据一套build指令build生成可执行文件。xDC同时也会build依赖文件,并且可以一次build多个目标对象的可执行文件(,)。xDC的源文件可以是C程序、C++程序、汇编程序和库文件等。三、自主设计实验1、实验目的(问题的提出,可以解决通信系统中的什么问题)边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。边缘信息是图像的一种紧描述,是图像最基本的:...特征,所包含的也是图像中用于识别的有用信息。所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,为人们描述或识别目标以及解释图像提供了一个有价值的和重要的特征参数,其算法的优劣直接影响着所研制系统的性能。长期以来,人们已付出许多努力,设法利用边界来寻找区域,进而实现物体的识别和景物分析,由于目标边缘、图像纹理甚至噪声都可能成为有意义的边缘,因此很难找到一种普适性的边缘检测算法,现有诸多边缘检测的方法各有其特点,同时也都存在着各自的局限性和不足之处,因此图像的边缘检测这个领域还有待于进一步的改进和发展。2、实验内容(包括硬件结构图、程序流程图,详细介绍实验使用的关键技术、核心代码及说明)基于css平台下和Linux平台下的图像边缘检测算法开发及图像处理。Linux平台:硬件结构图:视频处理后端(VPBE)中包含了OSD模块。该OSD模块的主要功能是混合视频数据与显示数据(图片、字幕等数据),然后以YCbCr格式传送给视频编码器(VENC)进行编码输出。程序流程图::...核心代码与关键技术:ARM端源代码与视频采集回放实验完全一致。,如codec名称和关联包。,包含了1个简单的算法叫VIDSOBELEDGE。{moduleVIDSOBELEDGE;},。。。该文件和前两个实验中codec/videnc_copy中提供的函数实现基本一致,process函数有区别,前两个实验中只是将输入的视频数据进行了一下空间的搬移,而在本实验中进行了边缘检测处理。OPY_TI_process(IVIDENC_Handleh,XDM_BufDesc*inBufs,XDM_BufDesc*outBufs,IVIDENC_InArgs*inArgs,IVIDENC_OutArgs*outArgs){…:...UYVY_to_YUY2(inBufs->bufs[curBuf],tmp1);IMG_sobel(tmp1,tmp2,720,576);YUY2_to_UYVY(tmp2,outBufs->bufs[curBuf]);()中提供的sobel算子算法。voidIMG_sobel(constunsignedchar*in_data,/*Inputimagedata*/unsignedchar*out_data,/*Outputimagedata*/shortcols,shortrows/*Imagedimensions*/);css平台下:硬件结构图:TMS320DM6446提供了VPSS视频处理子系统,包括视频处理前段(VPFE)和视频处理后端(VPBE),分别用于外部图像输入设备和视频输出设备。其结构框图如下:VPSS方便与各种视频格式接口。在DVS6446板卡中实现了1路的PAL/NTSC标准模拟视频输入和1路PAL/NTSC标准模式视频输出或VGA输出。视频输入接口选用TVPS5150PBS,视频输出采用TMS320DM6446片内的四路10位的DAC输出,实现了CVBS与VGA输出。程序流程图::...核心代码与关键技术:边缘检测是基于对图像灰度差异运算实现的,所以如果输入的是RGB彩***像,需要先进行灰度图的转换。RGB转换成灰度图像的一个常用公式是:Gray=R*+G*+B*//******************灰度转换函数*************************//第一个参数image输入的彩色RGB图像;//第二个参数imageGray是转换后输出的灰度图像;//*************************************************************voidConvertRGB2GRAY(constMat&image,Mat&imageGray){if(!||()!=3){return;}imageGray=Mat::zeros((),CV_8UC1);uchar*pointImage=;uchar*pointImageGray=;intstepImage=;intstepImageGray=;for(inti=0;i<;i++){:...for(intj=0;j<;j++){pointImageGray[i*stepImageGray+j]=*pointImage[i*stepImage+3*j]+*pointImage[i*stepImage+3*j+1]+*pointImage[i*stepImage+3*j+2];}}}//******************S