SEED-DTK643_v1.0实验手册_09年版_ DSP算法实验
- 格式:pdf
- 大小:571.78 KB
- 文档页数:34
SEED-DTK_VPM642实验手册-软件安装私人整理版(ccs3.3)
如果你会装下面的就不用看了只需注意以下几点:
1.Vin插Vin1,选择其他的可能会导致调试时卡在I2C操作上,屏幕不显示,或显示黑色
2.打开工程后要重新编译连接,重新生成1次.out文件
S处于打开并连接状态时不要断开USB调试器的连接,也不要断开电源。
一、C CS3.3安装:
获得ccs3.3安装包ccs3.3文件夹里有
先执行CCS3.3.38里的setup.exe安装CCS,装完之后再安装CCS_v3.3_SR8_3.3.77.exe 下面是安装时部分截图,安装时选择Typical install
二、驱动安装
获得xds560驱动SEED-XDS560PLUS Setup For CCS3.3(3.3版本)执行安装驱动
重启,安装成功
三、实验板连接
注意连接的时候video in接口连接VIN1(因为示例程序中只是用了vin1)
四、仿真器连接与demo运行
1.步骤三连接好,插入USB线连接电脑,打开开发板电源,打开Setup CCStudio v3.3软
件,选择c64xx XDS560 Emulator,右击添加。
2.点击”save&quit”退出,点击“Yes”,并打开CCStudio v
3.3;
3.首先alt+c链接仿真器,然后加载gel文件seeddm642.gel(每个工程里都有这个文件);
然后打开项目,注意项目一定要编译连接重新生成.out文件后再load program.不然有的时候会出现电视机黑屏的现象。
3.10 视频编解码算法3.10.1 H263编解码3.10.1.1 实验目的1. 熟悉视频显示程序的运行过程、控制过程,搞清数据处理、传输途径;2. 结合实例学习如何在视频显示程序中增加图像处理算法;3. 了解H.263 编解码的原理;4. 了解RF-5程序框架。
3.10.1.2 实验内容1. 系统初始化;2. RF-5程序框架实现;3. 调用H.263 编码、解码库。
3.10.1.3 实验背景知识H.263是低码率压缩算法,它可以以低于28.8Kbps的码率对单帧或者活动视频进行压缩解压缩。
一般来说,大小为176*144(文件大小为76,000字节)的单帧BMP文件可以被压缩到少于4,000字节,而图象的细节损失很少,并且压缩的速度很快(10ms内完成)。
对于文件之间有关联的图象,例如活动的视频文件、变化的屏幕等,压缩比例可以高达100倍以上,这是一般的静态压缩算法,如JPEG等无法比拟的。
具体算法实现请参考H.263标准。
3.10.1.4 程序简介3.10.1.4.1 程序包含文件介绍1. h263main.c:实验的主程序。
系统使用到资源、CSL、BIOS以及任务初始化。
2. appData.c:SCOM模块初始化。
3. tskVideoInput.c:视频输入任务初始化及输入任务处理。
4. tskVideoOutput.c:视频输出任务初始化及输出任务处理。
5. tskProcess.c:视频数据算法处理。
6. DEC643.gel:系统初始化。
7. h263_loopback.tcf:BIOS配置文件。
8. *.h:程序使用的头文件。
9. *.lib:程序使用的库文件。
10. link_dm642.cmd:库文件连接命令文件。
11. h263_loopbackcfg.cmd:DSP存储器及资源分配与程序各段的连接关系。
3.10.1.4.2 程序架构简介实验例程采用RF-5(参考设计框架5)实现视频的采集、处理及显示。
DSP原理及应用实验教材——28335和6713实验教程电工电子中心版本号:V1.00徐东目录1.实验环境 (1)1.1 实验箱介绍 (1)1.1.1主板SEED-DTK_MBoard (1)1.1.228335核心板SEED-DEC28335 (14)1.1.36713核心板SEED-DEC6713 (14)1.2软件和驱动程序安装方法: (15)1.2.1 CCS3.3软件安装 (15)1.2.2 仿真器SEED-XDS510PLUS 的驱动安装 (18)1.2.3 驱动程序的配置 (22)1.3 不同核心板切换方法 (25)2.TMS320F28335实验内容 (26)2.1软件学习实验之一(CCS 使用) (26)2.1.1 实验目的: (26)2.1.2 实验内容: (26)2.1. 3 实验背景知识: (26)2.1.4 实验准备: (31)2.1.5 实验步骤: (31)2.2 CCS 入门实验2(C 语言的使用) (38)2.2.1 实验目的: (38)2.2.2实验内容: (38)2.2.3 实验背景知识: (38)未定义书签。
2.2.4 实验程序,包含文件:.................................................................................... 错误!未定义书签2.2.5 实验准备: (40)2.2.6 实验步骤: (41)实验环境1.实验环境这一部分内容是实验前的准备工作。
所谓实验环境,包括硬件环境和软件环境。
硬件环境,也就是实验箱;软件环境包括调试软件的安装和使用。
安装我们在这一部分介绍,使用作为实验内容在下一部分学习。
1.1 实验箱介绍实验箱有两部分组成:实验箱主板和核心板。
其中主板的型号是SEED-DTK_MBoard,主板上可以安装不同型号的核心板,本课程实验包括SEED-DEC28335和SEED-DEC6713两种核心板。
9. DSP开发基础实验9.1 实验目的1. 了解DSP开发系统的基本配置2. 熟悉DSP集成开发环境(CCS)3. 掌握C语言开发的基本流程4. 熟悉代码调试的基本方法9.2 实验仪器计算机,C2000 DSP教学实验箱,XDS510 USB仿真器9.3 实验内容建立工程,对工程进行编译、链接,载入可执行程序,在DSP硬件平台上进行实时调试,利用代码调试工具,查看程序运行结果。
9.4 实验准备CCS 2(C2000)这一集成开发环境,不仅支持汇编的编译、链接,还支持对C/C++汇编、编译、链接以及优化。
同时强大的IDE开发环境也为代码的调试提供了强大的功能支持,已经成为TI 各DSP系列的程序设计、制作、调试、优化的主流工具。
TMS320C28x软件开发流程如图9.1所示。
下面简单介绍各主要模块功能。
• C/C++ Compiler(C/C++编译器)C/C++编译器把C/C++程序自动转换成C28x的汇编语言源程序。
这种转换并非一一对应,甚至会产生冗余的汇编代码,在某些场合需要使用优化器(Optimizer)来提高转换的效率,使得汇编代码长度尽可能的短小,程序所使用的资源尽可能的少。
优化器是编译器的一部分。
• Assembler(汇编器)汇编器负责将汇编源程序转换为符合公共目标格式(COFF)的机器目标代码,这种转换是一一对应的,每一条汇编指令都对应了唯一的机器代码。
源文件中还包括汇编指令、伪指令和宏指令。
• Linker(链接器)链接器负责把可重定位的多个目标文件和目标库文件转换为一个DSP可执行程序。
链接器必须依赖配置命令文件(CMD)的指令,实现对目标文件中各段的定位。
• Run-time-support library(运行支持库)对于用C/C++语言中编写DSP程序中的某些功能(例如存储器的寻址定位、字符串转换等)并不属于C/C++语言所能描述对象,包含在C/C++编译器中的运行支持库却可以很好的支持这些算法的标准ANSI/ISO C函数描述。
信号系统与信号处理综合实验实验指导书计算机与通信工程学院通信工程实验室目录第1 章实验系统介绍 (2)第2章SEED-DTK6446 CCS平台实验 (18)2.1 DDR2 SDRAM 实验 (19)2.2Audio 音频实验 (25)2.3复合视频采集回放实验 (31)2.4RS232 实验 (35)2.5ATA 硬盘接口实验 (38)第3 章SEED-DTK6446Linux开发环境搭建 (43)3.1 SEED DVS6446 SDK 套件的安装 (43)3.2 Linux 平台实验程序运行环境配置 (44)3.3串口终端的配置 (45)第4 章Linux 平台实验 (47)4.1入门实验 (47)4.2音频采集回放实验 (53)4.3视频采集回放实验 (57)4.4OSD 图像叠加实验 (66)4.5H.264 编码网络传输实验 (70)第1 章实验系统介绍1.1 系统概述SEED-DTK(DSP Teaching Kit)是一套可以满足大学本科、研究生和教师科研工作的综合实验设备。
SEED-DTK 是我公司在总结以往产品的基础上,以独特的多DSP 结构、强大的DSP 主板功能、丰富的外围实验电路、精心设计的实验程序、精湛的产品工艺形成的高性能产品。
本文档主要介绍的是SEED-DTK646 实验箱,它由SEED-DVS6446 板卡以及相应外设构成。
1.2 SEED-DTK6446 硬件平台示意图SEED-DTK6446 硬件平台SEED-DVS6446 板卡各个接口示意图如下:1.3 SEED-DTK6446 平台测试硬件连接SEED-DTK6446 实验箱平台硬件测试时,硬件统一连接如下:1. 将仿真器的JTAG 连接器同SEED-DVS6446 板卡的J1 JTAG 仿真插头连接;2. 将SEED-DVS6446 板卡的J2、J17、J23、J24 跳线短接,如上图所示;3. 实验箱面板的+12V@2A 电源输出口接LCD 液晶屏的电源输入口;4. 将SEED-DVS6446 板卡的电源输入接口S1 连接实验箱面板的+5V@5A 电源输出口,打开实验箱后面的电源开关。
DSP实验实验操作指导
在实验操作之前,将仿真器在断电状态下与实验箱在断电状态下连接好,然后将USB 连线接到PC机,再给实验箱通电。
1、运行CCS 2(C200)
2、在FILES命令列装如GEL文件,文件路径为
….. :\SEED DTK APD\03.EXAMPALES OF PROGRAM\01.DSP\FOR SEED-DEC2407\01.DTK2407
做第几个实验,就装入第几个实验目录下的GEL文件,如第八个实验是数字滤波,就装入08. DTK_APD_FILTER目录下的GEL 文件.
3、在GEL 命令列将F2407 DEBUGGER设置为FLASH_DISABLE。
4、在PROJECT 命令列打开实验软件。
5、在PROJECT命令列ADD FILES TO PROJECT,添加库文件,选择C2400的CGTOOLS 中的LIB。
6、编译打开的实验软件。
7、在实验箱上选择所做的实验,CCS使用选择“是”,实验参数设置完成后不要在实验箱上运行实验等待实验程序从PC机装入。
8、在CCS下执行FILE命令列的LOAD PROGRAM。
9、在PC机上运行DEBUG命令列的RUN,实验箱上指示实验程序正在装载或装载成功。
10、在实验箱上运行实验,观察实验结果。
第2章调试工具安装与使用说明本实验箱中主要使用SEED_DEC643板卡,其处理器为TI的TMS320DM643,采用的编译环境为CCS3.3。
2.1 CCS3.3安装安装TI DSP开发环境CCS3.3,步骤如下:第一步:双击安装光盘中的setup.exe图标,进入安装界面:第二步:点击next,进入下一步操作:第三步:确保系统满足CCS3.3最小需求,然后点击next:第四步:选择同意协议,然后点击next进入下一步安装:第五步:选择Typical Install,点击next:第六步:选择安装路径,默认为c:\CCStudio_V3.3:第七步:确认安装信息,点击Install Now,等待程序安装:第九步:程序安装完毕,进入结束界面:第十步:点击Finish,结束安装。
同时将弹出TI注册界面,建议用户注册为TI网站会员。
2.2硬件仿真器的安装我公司生产的仿真器硬件仿真器有多款,如510系列、560系列等等,不同的系列仿真器的安装也不尽相同,在此我们将介绍常用的510系列,其他系列的安装是类似的,具体请参见硬件仿真器所配的光盘内容。
下面介绍一下SEED-XDS510PLUS仿真器的安装2.2.1 SEED-XDS510PLUS的驱动安装1.将SEED-XDS510PLUS仿真器的USB插头插入PC机的USB插槽中,启动计算机后识别SEED-XDS510PLUS硬件,识别后安装其驱动程序。
双击\Setup\SEED-XDS510 Emulator Driver for CCS3.3.exe文件。
(此文件是仿真器所配的光盘的内容)2.按照提示依次执行,同时默认路径为CCS的安装路径。
3.安装完毕后打开控制面板查看系统中的设备管理器,出现如下结果,证明硬件连接成功,否则需检查硬件是否连接正确和USB驱动安装是否安装正确:4.将仿真器JTAG插头与实验箱主控板SEED-DEC643的JTAG插头J1相连,打开实验箱电源开关。
第3章实验用户使用时,请注意以下几个方面:1. 上电后正常情况是:SEED-DEC643板卡的D1常亮,SEED-DTK_Mboard板的电源指示灯都亮。
2. 各个实验程序的编译环境如下:CCS版本为3.3。
3. 各实验使用到资源可参考本书的附录内容。
3.1 CCS使用实验3.1.1 CCS入门实验1(CCS使用)3.1.1.1 实验目的1. 熟悉CCS集成开发环境,掌握工程的生成方法;2. 熟悉SEED-DEC643实验环境;3. 掌握CCS集成开发环境的调试方法。
3.1.1.2 实验内容1. DSP源文件的建立;2. DSP程序工程文件的建立;3. 学习使用CCS集成开发工具的调试工具。
3.1.1.3 实验背景知识3.1.1.3.1 CCS简介CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。
CCS支持如下所示的开发周期的所有阶段CCS构成及接口见下图CCS窗口介绍:3.1.1.3.2 使用CCS常遇见文件简介1. program.c: C程序源文件2. program.asm: 汇编程序源文件3. filename.h: C程序的头文件,包含DSP/BIOS API模块的头文件4. filename.lib: 库文件5. project.cmd: 连接命令文件6. program.obj: 由源文件编译或汇编而得的目标文件7. program.out: 经完整的编译、汇编以及连接后生成可执行文件8. program.map: 经完整的编译、汇编以及连接后生成空间分配文件9. project.wks: 存储环境设置信息的工作区文件保存配置文件时将产生下列文件:1. programcfg.cmd2. programcfg.s643. programcfg_c.c(一) CMD文件简介cmd文件用于DSP代码的定位。
实验二DSP 数据存取实验一、实验目的1. 了解TMS320VC6713 的内部存储器空间的分配及指令寻址方式;2. 学习用Code Composer Studio 修改、填充DSP 内存单元的方法;3. 学习操作TMS320VC6713 内存空间的指令。
二、实验内容1. 读写DSP 内存单元数据;2. 复制内存单元的数据。
三、实验要求通过本试验,了解TMS320VC6713 存储空间的操作,掌握DSP 内存单元数据的存取、复制操作。
四、实验步骤1. 打开CCS,进入CCS 的操作环境。
2. 装入Memory.pjt 工程文件,添加DEC6713.gel 文件。
3. 装载程序Memory.out,进行调试。
4. 程序区的观察和修改运行到main 函数入口:选择菜单Debug->Go Main,当程序运行并停止在main 函数入口时,展开“Disassembly”反汇编窗口,发现main 函数入口地址为09ccH,也就是说从此地址开始存放主函数的程序代码。
修改程序区的存储单元:程序区单元的内容由CCS 的下载功能填充,但也能用手动方式修改;双击“Code”窗口地址“0x09cc:”后的第一个数,显示“Edit Memory”窗口,在“Data”中输0x00000000,单击“Done”按钮,观察“Code”窗口中相应地址的数据被修改,同时在反汇编窗口中的反汇语句也发生了变化,当前语句被改成了“NOP”。
将地址0x09cc 上的数据改回0x01BCD4F6,程序又恢复成原样。
5. 观察修改数据区显示片内数据存储区:同样打开窗口Data1,起始地址在0x4100。
修改数据单元:数据单元可以单个进行修改,只需双击想要改变的数据单元即可,与修改程序区单元的操作相同。
填充数据单元:选择Edit->Memory->Fill…观察“Data”窗口中的变化。
同样将0x4100 开始的头16 个单元的值用0 填充。
dsp实验报告实验一:CCS入门实验实验目的:1. 熟悉CCS集成开发环境,掌握工程的生成方法;熟悉SEED-DEC643实验环境; 掌握CCS集成开发环境的调试方法。
2.学习用标准C 语言编写程序;了解TI CCS开发平台下的C 语言程序设计方法和步骤; 熟悉使用软件仿真方式调试程序。
3. 学习用汇编语言编写程序; 了解汇编语言与 C 语言程序的区别和在设置上的不同;了解TMS320C6000 汇编语言程序结果和一些简单的汇编语句用法学习在CCS 环境中调试汇编代码。
4. 在了解纯C 语言程序工程和汇编语言程序工程结构的基础上,学习在C 工程中加入汇编编程的混合编程方法; 了解混合编程的注意事项;理解混合编程的必要性和在什么情况下要采用混合编程5. 熟悉CCS集成开发环境,掌握工程的生成方法; 熟悉SEED-DEC643实验环境;掌握CCS集成开发环境的调试方法。
实验原理:CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力序。
使用此命令后,要重新装载.out 文件后,再执行程序。
使用 CCS常遇见文件简介1. program.c: C 程序源文件;2. program.asm: 汇编程序源文件;3. filename.h: C 程序的头文件,包含DSP/BIOS API模块的头文件;4. filename.lib: 库文件;5. project.cmd: 连接命令文件;6. program.obj: 由源文件编译或汇编而得的目标文件;7. program.out: 经完整的编译、汇编以及连接后生成可执行文件; 8. program.map: 经完整的编译、汇编以及连接后生成空间分配文件; 9.project.wks: 存储环境设置信息的工作区文件。
P.S(CMD文件中常用的程序段名与含义1. .cinit 存放C程序中的变量初值和常量;2. .const 存放C程序中的字符常量、浮点常量和用const声明的常量;3. .text 存放C程序的代码;4. .bss 为C 程序中的全局和静态变量保留存储空间;5. .far 为C 程序中用far声明的全局和静态变量保留空间;6. .stack 为 C 程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;7. .sysmem 用于 C 程序中malloc、calloc 和 realloc 函数动态分配存储空间。
基于SEED-DTK6437的肤色检测系统设计徐升阳;陈芬;彭宗举;赵江波;杨敏华【期刊名称】《微型机与应用》【年(卷),期】2012(031)018【摘要】本肤色检测系统采用基于TMS320DM6437处理器的SEED—DEC6437EVM板作为主要硬件平台,在DSP集成开发环境CCS3.3中采用C语言和汇编语言混合编程实现肤色检测算法,并成功完成了将检测算法从软件到硬件平台的移植,搭建了一个应用于肤色检测的DSP系统,并实现了对肤色区域的实时性检测、定位与跟踪,提高了肤色识别精度。
实验结果表明,该系统具有算法简单、性能稳定和实时性良好的特点。
%The complexion detection system uses SEED-DEC6437 EVM board based on TMS320DM6437 processor as the main hardware platform, and the complexion detection algorithms of the system are achieved by the use of C language and assembly language programming in the DSP integrated development environment CCS3.3. The detection algorithm from software to hardware plat- form is successfully transplanted, the complexion detection DSP system is set up and the real-tinge detecting, locating and tracking of skin regions have been realized and the accuracy of color recognition is improved. Experiment result shows that this system is featured by simple algorithm, stable performance and good real-time.【总页数】4页(P35-37,41)【作者】徐升阳;陈芬;彭宗举;赵江波;杨敏华【作者单位】宁波大学信息科学与工程学院,浙江宁波315211;宁波大学信息科学与工程学院,浙江宁波315211;宁波大学信息科学与工程学院,浙江宁波315211;宁波大学信息科学与工程学院,浙江宁波315211;宁波大学信息科学与工程学院,浙江宁波315211【正文语种】中文【中图分类】TN919.8【相关文献】1.基于SEED-DTK6437的视频图像增强系统设计 [J], 张陈梅;陈芬;吴明昊;严迪群;彭宗举2.基于肤色检测和支持向量机的人脸检测系统 [J], 秦晖;华琳3.基于像素的肤色检测方法综述 [J], 郑燕; 张霞4.基于非正面人脸肤色检测的光照补偿算法的改进 [J], 孙义港;沈天飞5.基于固定阈值分割的肤色检测方法改良 [J], 黄友鹏;潘兴海;金文中因版权原因,仅展示原文概要,查看原文内容请购买。
课程名称DSP原理与应用
实验序号实验2
实验项目DSP 数据存取实验实验地点
实验学时实验类型
指导教师实验员
专业班级
学号姓名
年月日
1、装载程序memory.out,进行调试。
运行到main 函数入口:
2、修改程序区的存储单元:
修改前:
此时入口地址为10801200,数据地址为01BCD4F6
修改中:
注意:修改前面的入口地址之后,一定要重新设置数据存储地址修改后:
当前语句被改成了“NOP”。
将地址0x10801200 上的数据改回0x01BCD4F6,程序又恢
复成原样。
3、断点调试:
(1)、运行到第一个断点:
我们可以memory 窗口中从0x80000080 开始的16 个单元的值被写入0x00000000 到0x0000000。
(2)、运行到第二个断点:
我们可观察到memory 窗口中从0x80000100 开始分16 个单元中的值被均被写入0x00001234。
(3)、运行到第三个断点:
我们可以观察到0x80000080 开始的16 个单元的值复制到以0x80000100 开始的16 个单元,数据发送了变化,因此数据颜色变为红色。
实验四数字I/O实验一. 验目的:1.悉CCS的开发环境;2.掌握DSP扩展数字I/O口的方法;3.了解SEED-DEC5416的硬件系统;4.掌据交通灯逻辑在DSP中的实现。
二. 实验内容:1. DSP的初始化;2. SEED-DEC5416的初始化;3. UART的初始化;4.交通灯实现程序。
三. 实验背景知识:1. DSP系统中数字I/O的实现:DSP系统中一般只有少量的数字I/O资源,而一些控制中经常需要大量的数字量的输入与输出。
因而,在外部扩展I/O资源是非常有必要的。
在扩展I/O资源时一般占用DSP的I/O空间。
其实现方法一般有两种:其一为采用锁存器像74LS273、74lS373之类的集成电路;另一种是采用CPLD在其内部做锁存逻辑,我们采用的是后者。
2. DTK5416系统中数字IO所占的资源如下:交通灯控制口地址为:0x8000(I/O空间);其说明如下:D11 D10 D09 D08D07D06D05D04D03D02 D01 D00NR NY NG ER EY EG SR SY SG WR WY WG WG:方向西的绿灯控制位;WY:方向西的黄灯控制位;WR:方向西的红灯控制位;SG:方向南的绿灯控制位;SY:方向南的黄灯控制位;SR:方向南的红灯控制位;EG:方向东的绿灯控制位;EY:方向东的黄灯控制位;ER:方向东的红灯控制位;NG:方向北的绿灯控制位;NY:方向北的黄灯控制位;NR:方向北的红灯控制位;当以上各位置“1”时,点亮各控制位所代表的交通灯状态的LED灯。
LED控制口地址为:0x8002(IO空间):其说明如下:D7 D6 D5 D4 D3 D2 D1 D0OUT7 OUT6 OUT5OUT4OUT3OUT2OUT1 OUT0向控制位OUT[7:0]写入“1”时,点亮相应位置的LED灯。
注:8个LED灯是位于SEED-CPLD板上的,其控制线是通过DTK_IO单元模块转接的,然后经SEED-CPLD单元模块驱动后再点亮LED灯的。
1013.4 DSP 算法实验3.4.1有限冲击响应滤波器(FIR)算法实验 3.4.1.1 实验目的1. 掌握数字滤波器的设计过程;2. 了解FIR 的原理和特性;3. 熟悉设计FIR 数字滤波器的原理和方法。
3.4.1.2 实验内容1. 通过MATLAB 设计确定FIR 滤波器系数;2. DSP 初始化;3. A/D 采样;4. FIR 运算,观察滤波前后的波型变化。
3.4.1.3实验背景知识 3.4.1.3.1 有限冲击响应数字滤波器(FIR )的基础理论FIR 数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式为: ∑−=−=10)()()(N i i n x i h n yN 为FIR 滤波器的阶数。
在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。
为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)。
这样,当N 为偶数时,偶对称线性相位FIR 滤波器的差分方程表达式为))1()()(()(12/0i n N x i n x i h n y N i −−−+−=∑−=由上可见,FIR 滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。
因此,FIR 实际上是一种乘法累加运算。
而对于线性相位FIR 而言,利用线性相位FIR 滤波器系数的对称特性,可以采用结构精简的FIR 结构将乘法器数目减少一半。
3.4.1.3.2 本实验中FIR 的算法公式nx j k j x k h j r nh k ≤≤−=∑=0][][][03.4.1.4 实验要求对带有噪声的不同输入信号(正弦波、方波、三角波)进行FIR滤波,观看滤掉噪声后的波形。
3.4.1.5 实验程序功能与结构说明3.4.1.5.1 Filter实验,包含文件1. Filter.c:实验的主程序,包含了系统初始化,音频芯片各控制寄存器的初始化, A/D采样程序,FIR_Filter子程序。
2. DEC643.C:对SEED-DEC643各项资源操作的函数集,主要包含系统初始化函数。
3. CODEC.c:包含对音频芯片的各控制函数。
4. IIC.c:包含对IIC的各操作函数。
5. vecs.asm:包含定时器中断的中断向量表。
6. CODEC.cmd:声明了系统的存储器配置与程序各段的连接关系。
7. DEC643.gel:系统初始化程序。
3.4.1.5.2 程序流程图3.4.1.5.3 实验准备首先将光盘下03. Examples of Program \ 04. SEED-DTK643实验程序目录下的3.4.1 FIR_Filter的文件夹拷贝到D根目录下。
1. 将DSP仿真器与计算机连接好;2. 将DSP仿真器的JTAG插头与SEED-DEC643单元的J1相连接;3. 打开SEED-DTK643的电源。
观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯以及SEED_DEC643的电源指示灯D1是否均亮;若有不亮的,请断开电源,检查电源。
4. 用音频线连接SEED-DTK_MBoard单元的DAOUT1(J10)接口和SEED-DEC643 102的BNC转接头(J13)的音频输入接口Ain。
3.4.1.5.4 实验步骤1. 打开CCS,进入CCS的操作环境。
2. 装入FIR_Filter.pjt工程文件,添加DEC643.gel文件,开始进行调试。
3. 打开Filter.c文件,到第21行修改SAMPLELONG宏定义。
SAMPLELONG是采样长度选择,有3个选择1、2、3。
1表示256,2表示512,3表示1024;4. 修改完宏定义后,编译、连接生成Filter.out文件,装载程序Filter.out。
5. 本实验和FFT实验,AD实验都需要设置实验箱信号源。
通过液晶屏和键盘,设置信号源:当液晶屏上出现“通讯自检不成功,请复位系统”时,按下“Enter”键,进入“信号发生器设置”。
在“信号发生器设置”这一菜单下:“通道”设为“0”;“信号类型”可根据需要任意选择(这里我们选”噪声正弦波”);“信号频率”和“信号振幅”可在屏幕下方“有效输入”限定的范围内任意输入,建议振幅设为1000左右,频率”设为300左右;“信号发生器开关”设为“开启”。
此时便有噪声方形波信号输入音频芯片AIC23的输入端(利用此芯片同样可以进行AD采集)。
6. 打开Filter.c文件,在第65行“fir_filter((int *)DataBuffer,(int *)hfir,DDataBuffer,ORDER_FIR ,SampleLong,ROUND_FIR);”66行设置断点“printf("FIR filter havedone!\n");”7. 运行程序。
可以观察收到的数据和显示的图像;DataBuffer数组显示的是原始信号图像;DDataBuffer数组显示的是滤波后信号图像。
其中图像显示设置对话框中Start adderss:起始地址;Acquisition Buffer Size:输入数据个数;Display Data Size:显示数据个数(注意:显示个数要与程序中宏定义的采样个数一致);DSP Data Type:数据类型;滤波前103104滤波后:8. 从第6)步开始重新执行,变化采样长度或滤波类型,或者退出本实验。
3.4.1.6 MATLAB的应用实验者若进一步研究FIR算法,会发现在每种算法函数的开始处都已定义好进行FIR 运算时所需的系数,这些系数是用Matlab产生的。
下面具体介绍一下在Matlab中如何设置各种参数,从而方便实验者根据具体需要进行参数的调整,从而达到不同的滤波效果。
说明:实验箱提供的信号默认采样频率为48KHz,信号频率为200Hz,幅值为500mv。
fir具体参数如下:(为方便起见,采用MATLAB执行格式,括弧内为说明)ezFIR FILTER DESIGN SCRIPTInput FIR Filter order(EVEN for BS and HP Filter) : 50(阶数)Low Pass: 1High Pass: 2Band Pass: 3Band Stop: 4Select Any one of the above Response: 1(低通)Hamming: 1Hanning: 2Bartlett : 3Blackman: 4Select Any one of the above window : 1(使用Hamming窗)Enter the Sampling frequency: 48000(采样频率)Enter the corner frequency(Fc): 500(截止频率)Enter the name of the file for coeff storage : filter.dat(生成dat文件名)说明:MATLAB源文件在在光盘下03. Examples of Program \07. MAtlab文件夹中,文件名为ezFIR,只需运行它,按照以上示例输入参数(或根据具体需要输入所需参数后)即可得到FIR-FILTER算法所需的系数。
输入参数中,通带截至频率(FP)和截止带截止频率(FS)是比较重要的两个参数,不宜过小,过小滤掉的高频成分太多,很难还原出原波形的形状;也不宜过大,过大滤波效果欠佳。
这里只是作为实验演示程序时所需参数的建议,真正做滤波程序时,所需参数还要根据具体要求而定。
105106 3.4.2无限冲击响应滤波器(IIR)算法实验 3.4.2.1 实验目的1. 掌握数字滤波器的设计过程;2. 了解IIR 的原理和特性;3. 熟悉设计IIR 数字滤波器的原理和方法。
3.4.2.2 实验内容1. 通过MATLAB 设计确定IIR 滤波器系数;2. A/D 采样 ;3. IIR 运算,观察滤波前后的波型变化。
3.4.2.3 实验背景知识3.4.2.3.1 无限冲击响应数字滤波器(IIR )的基础理论1. IIR 滤波器直接型结构数字滤波器的输入x[k]和输出y[k]之间的关系可以用如下常系数 线性差分方程及其z 变换描述。
][][][10p k y b p k x a k y N p p N p p −+−=∑∑== 系统的转移函数为∑∑=−=−−==N k kk M k kk z a z b z X z Y z H 011)()()(设N=M ,则传输函数变为∏=−−−−−−=++++++=N j j j N N N N p z z z C z b z b z a z a a z H 111110...1...)(它具有N 个零点和N 个极点,如果任何一个极点在Z 平面单位圆外,则系统不稳定。
如果系数j b 全部为0,滤波器成为非递归的FIR 滤波器,这时系统没有极点,因此FIR 滤波器总是稳定的。
对于IIR 滤波器,有系数量化敏感的缺点。
由于系统对序列施加的算法,是由加法、延时和常系数乘三种基本运算的组合,所以可以用不同结构的数字滤波器来实现而不影响系统总的传输函数。
2. IIR 数字滤波器的设计数字滤波器设计的出发点是从熟悉的模拟滤波器的频率响应出发,IIR 滤波器的设计有两种方法:107第一种方法先设计模拟低通滤波器,然后通过频带变换而成为其他频带选择滤波器(带通、高通等),最后通过滤波器变换得到数字域的IIR 滤波器。
第二种方法先设计模拟低通滤波器,然后通过滤波器变换而得到数字域的低通滤波器,最后通过频带变换而得到期望的IIR 滤波器。
模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器) 为了用物理可实现的系统逼近理想滤波器的特性,通常对理想特性作如下修改:1) 允许滤波器的幅频特性在通带和阻带有一定的衰减范围,幅频特性在这一范围内允许有起伏。
2) 在通带与阻带之间允许有一定的过渡带。
工程中常用的逼近方式有巴特沃斯(Butterworth )逼近、切比雪夫(Chebyshev )逼近和椭圆函数逼近。
相应设计的滤波器分别为巴特沃斯滤波器、切比雪夫滤波器和椭圆函数滤波器。
巴特沃斯滤波器的模平方函数由下式描述:nc B H 22(11|)(|ΩΩ+=Ω n 为阶数;c Ω为滤波器截止频率切比雪夫滤波器比同阶的巴特沃斯滤波器具有更陡峭的过渡带特性和更优的阻带衰减特性。
切比雪夫低通滤波器的模平方函数定义为)(11|)(|222Ω+=Ωn c T H ε 其中,ε为决定|)(|Ωc H 等波动起伏幅度的常数;n 为滤波器的阶数;)(Ωn T 是n 阶切比雪夫多项式。