基于DSP的数字滤波器的设计.doc_第1页
基于DSP的数字滤波器的设计.doc_第2页
基于DSP的数字滤波器的设计.doc_第3页
基于DSP的数字滤波器的设计.doc_第4页
基于DSP的数字滤波器的设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

目录 摘要 I 第 1 章 课程设计的目的和要求 1 第 2 章 系统功能介绍及总体设计方案 2 第 3 章 主要内容和步骤 3 3 1 滤波器原理 3 3 2 操作步骤 3 第 4 章 详细设计 4 第 5 章 实验过程 5 5 1 汇编语言实验步骤与内容 5 5 2 实验过程中出现的错误及解决的办法 7 5 3 CCS 程序运行后的各种输出结果 7 第 6 章 结论与体会 10 参考文献 11 附件 源程序清单 12 DSP 实现 FIR 滤波的关键技术 12 汇编程序清单 14 1 第 1 章 课程设计的目的和要求 通过课程设计 加深对DSP芯片TMS320C54x的结构 工作原理的理解 获得DSP应用技术的实际训练 掌握设计较复杂DSP系统的基本方法 通过使 用汇编语言编写具有完整功能的图形处理程序或信息系统 使学生加深对所学知识 的理解 进一步巩固汇编语言讲法规则 学会编制结构清晰 风格良好 数据结构 适当的汇编语言程序 从而具备解决综合性实际问题的能力 2 第 2 章 系统功能介绍及总体设计方案 2 1 系统功能介绍 一个实际的应用系统中 总存在各种干扰 数字滤波器在语音信号处理 信号 频谱估计 信号去噪 无线通信中的数字变频以及图像信号等各种信号处理中都有 广泛的应用 数字滤波器也是使用最为广泛的信号处理算法之一 在本设计中 使用MATLAB模拟产生合成信号 然后利用CCS进行滤波 设定模拟信号的采样频率为400000Hz 设计一个FIR低通滤波器 其参数为 滤波器名称 FIR低通滤波器 采样频率 Fs 40000Hz 通带 阻带截止频率 4000Hz 4500Hz 通带最大衰减 0 5dB 阻带最少衰减 50dB 滤波器级数 N 154 滤波器系数 由MATLAB根据前述参数求得 2 2 总体设计方案流程图 使用MATLAB编写程序产 生待滤波数据 使用MATLAB 滤波器的设 计 分析工具 FDATOOL 设计 FIR 滤波器 使用 CCS编写程序实现滤波功能 查看程序运行后的输入输 出波形并比较滤波效果 图1 总体设计方案 3 第 3 章 主要内容和步骤 3 1 滤波器原理 对于一个FIR滤波器系统 它的冲击响应总是又限长的 其系统函数可记为 1 0 N n n H zh n z 其中是FIR的滤波器的阶数 为延时结 为端口信号函数 1N n z h n 最基本的FIR滤波器可用下式表示 1 0 N k y nh k x nk 其中输入采样序列 是滤波器系数 是滤波器的阶数表 x nk h kN Y n 示滤波器的输出序列 也可以用卷积来表示输出序列与 的关系 y n x n h n 如下 y nx nh n 3 2 操作步骤 1 打开FDATOOL 根据滤波要求设置滤波器类型 通带截止频率 指定 阶数 采样频率等 指定完设计参数后单击按钮Design Filter 生成滤波器系数 2 把生成的滤波器系数传到目标DSP 选择菜单Targets Export to Code Composer Studio tm IDE 打开Export to C Header File对话框 选择 C header file 指定变量名 滤波器阶数和系数向量 输出数据类型可选浮点型或 32 b 16 b整型等 根据自己安装选择目标板板号和处理器号 单击OK 保存 该头文件 需指定文件名 filtercoeff h 和路径 保存在c ti myprojects fir工 程中 3 修改CCS汇编程序 删掉数据前的所有文字 在开头加上 data 第二 行加coeff word 在每行的前面加上 word 比且把每行的最后的逗号去掉 4 编译汇编程序 如果有错误 按错误进行修改 没错误 则往下执行 5 加载初始化DATA数据 运行程序 查看输入输出波形 修改相应参 数进行调试 4 第 4 章 详细设计 在本实验中使用MATLAB模拟产生信号 观察滤波前的时域波形和频域波 形 MATLAB仿真后 使用得到的滤波器参数 进行DSP编程 在DSP中实 现带通滤波 并使用CCS的频谱分析功能 查看DSP的滤波效果 MATLAB程序流程图如图4 1所示 初始化 产生需要虑波信号 画出原始信号频谱图 生成fir 滤波器 进行滤波 初始化 图4 1 MATLAB程序流程图 CCS汇编程序流程图如图4 2所示 画出滤波后信号频谱图 是否有待滤波数据 输入原始信号 定义滤波器系数 为原始信号和系数指定寄存器 做滤波算法 本次滤波结束待滤波系数减一 滤波结束 是 图4 2 CCS汇编程序流程图 5 第 5 章 实验过程 5 1 汇编语言实验步骤与内容 MATLAB辅助DSP 实现FIR 其总体过程为在DSP 中编写处理程序 在MATLAB中利用滤波器设计 分析工具 FDATOOL 根据指定的滤波器 性能快速设计一个FIR 然后把滤波器系数以头文件形式导入CCS 中 头文件中 MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组 在 MATLAB中调试 运行DSP 程序并显示 分析处理后的数据 使用该方法 便 于采用汇编语言来实现程序 头文件名不变 当MATLAB中设计的滤波器系数改 变时 相应头文件中系数也改变 方便了程序调试 仿真 1 在MATLAB中先编写程序 查看待滤波和已滤波的信号的时域和频域 波形 如图5 1和图5 2所示 图 5 1 待滤波信号的时域图 图 5 2 待滤波信号的频域图 利用FDA TOOL 设计FIR 滤波器的参数 操作步骤如图5 3所示 图 5 3 FIR 滤波器的参数 打开Export 把Numerator改为B 如图5 4所示 6 图 5 4 Export 设置 已滤波的信号的时域和频域波形 如图5 5和图5 6所示 图 5 5 已滤波信号时域波形图 图 5 6 已滤波信号频域波形图 MATLAB滤波器设计工具在完成FIR设计后 如图5 7所示 在Export as 中选择16bit符号整数输出 然后单击OK按钮 生成fir h C语言头文件 将系 数稍作修改 调整后拷贝到程序的系数初始化空间即可 图 5 7 MATLAB 输出数值转换图 2 在CCS中编写汇编语言程序 进行调试 实现带通滤波的功能 在 7 CCS IDE 中建立LHM pjt工程 用汇编语言编写处理主程序fir asm 另外根据 板上的存储器配置方式 编写存储器配置文件fir cmd文件 将MATLAB生成的 LHM h和input1 dat文件拷贝到LHM pjt工程文件夹下 进行编译 链接 生 成可执行文件LHM out 3 加载初始化data数据 图5 8所示 图 5 8 data 初始化图 运行程序 查看输入输出波形 修改相应参数进行调试 5 2 实验过程中出现的错误及解决的办法 1 在MATLAB程序设计中 采样频率设置的过小 截止频率大于采样频 率的一半 运行的时候图形出现错误 2 FIR m中的采样频率要和开始设置时的采样频率一致 否则结果会出现 偏差 3 在CCS中未定义标号 程序运行错误 4 在 h文件中未把coeff顶格写 编译时出现错误 5 未将fir h和input dat文件考入工程文件中 6 间接寻址过程中 程序中丢失 7 在View的Graph中单击Time frequency出现graph property dialog框 未修改抽样点数 显示的图形出现差异 5 3 CCS 程序运行后的各种输出结果 在View的Graph中单击Time frequency出现graph property dialog框 将显示类型 图形名称 起始地址 抽样点数 数据类型等分别进行设置 输 出各种波形 输出滤波前的信号时域波形 首先 设置如图5 9所示 输出滤波前 的信号时域波形 8 图 5 9 Graph property dialog 设置框图 单击OK后生成如下图5 10波形 图 5 10 滤波前信号波形图 图5 10为滤波前的信号 波形很杂乱 从时域上很难看出信号的周期性 修 改相应设置 输出如图5 11所示滤波前信号频谱 图 5 11 滤波前信号频谱波形图 经过滤波后 时域波形频谱波形如图5 12 和 5 13所示 9 图 5 12 滤波后信号时域波形图 图 5 13 滤波后信号频谱图 由上述的所有截图可知 输入参数中 通带截止频率和阻带截止频 率是比较重要的两个参数 不宜过小 过小滤掉的高频成分太多 很难 还原出远波形的形状 也不宜过大 过大滤波效果欠佳 在本课程设计 中 通带截止频率选用4000Hz 阻带截止频率选用4500Hz 因此 显示图形时的 时域显示的抽样点数为1024 频域显示的带宽为 0 5Hz 对比滤波前后信号的时域图5 10和5 12 频谱波形图5 11 和5 13可以知道 滤波前的时域信号的波形图的波形很杂乱 很难看 出信号的周期性 滤波后周期性也相对的明显起来了 滤波前信号分布 在整个频带上 滤波后阻带范围内的基本被滤掉 这些都可以从上述截 图看出 10 第 6 章 结论与体会 通过本次课程设计 让我了解了数字滤波是信号处理技术中的重要部分 研究 了数字滤波器的基本理论知识以及它实现方法 学习了数字滤波器的结构 设计理 论 掌握了各种数字滤波器的原理和特性 并且复习了MATLAB的相关知识 并且利用MATLAB与CCS设计了低通滤波器以及高通滤波器 还研究了如何 在定点DSP中实现数字滤波器的算法 学到了16位定点DSP芯片 TMS320C5402的硬件 软件结构和特性 掌握了CCS环境下的程序开发方法 调试工具的使用及优化级别的选择等 研究了MATLAB环境下FIR数字滤波器 的设计方法 利用MATLAB软件编程实现FIR滤波器设计 利用DSP来快速 设计FIR数字滤波器的方法 寻找系数的快速传递 MATLAB中调试仿真DSP 程序 DSP作为一门新兴学科 越来越引起人们的关注 目前已广泛应用在各个领 域 20世纪60年代以来 随着计算机和信息技术的飞速发展 数字信号处理技 术应运而生并得到迅速的发展 数字信号处理是 DSP 利用计算机或专用处理设 备 以数字形式对信号进行采集 变换 滤波 估值 增强 压缩 识别等处理 以得到符合们需要的信号形式 数字信号处理 DSP 是围绕着数字信号处理的理 论 实现和应用等几个方面发展起来的 数字信号处理在理论上的发展推动了数字 信号处理应用的发展 反过来 数字信号处理的应用又促进了数字信号处理理论的 提高 而数字信号处理的实现则是理论和应用之间的桥梁 数字信号处理DSP是 以众多学科为理论基础的 它所涉及的范围极其广泛 所以在今后的工作和学习生 活中 综合运用模拟电子 数字电子和DSP基本原理等课程中所学的理论知识去 独立完成一个项目的设计 不仅要完善以上的MATLAB设计方法 更要学会利用多种途径设计各种DSP最小系统 熟练C语言编程 11 参考文献 1 戴明桢等编著 TMS320C54X DSP 结构原理及应用 北京 航空航天大学出版社 第 2 版 2007 2 彭启琮编著 DSP 技术的发展与应用 北京 高等教育出版社 2002 3 胡广书编著 数字信号处理理论 算法与实现 北京 清华大学出版社 2005 4 北京合众达电子技术有限公司编著 SEED DTK 系列实验手册 北京合众达电子技术有限公司 出版 2007 5 李真芳 苏涛等 DSP 程序开发一 MATLAB 调试及直接目标代码生成 M 西安 西安电子科 技大学出版社 2003 87 163 6 楼顺天 李博函 基于 MATLAB 的系统分析与设计一信号处理 M 西安 西安电子科技大学 出版社 1998 81 88 7 王秀芳 关凌涛 基于 MatLab 与 DSP 的滤波器的快速设计方法 期刊文章 现代计算机 2008 总第二七七期 97 99 8 赵秀玲 基于定点 DSP 的 FIR 数字滤波器的研究与设计 硕士论文 曲阜师范大学 2007 15 32 9 罗军辉 罗勇江等 MATLAB 在数字信号处理中的应用 M 北京 机械工业出版社 2005 63 128 12 附件 源程序清单 DSP 实现 FIR 滤波的关键技术 用线性缓冲区实现 FIR 滤波器程序清单 title FIR1 ASM mmregs def start x usect x 8 PA0 set 0 PA1 set 1 data COEF word 1 32768 10 word 2 32768 10 word 4 32768 10 word 3 32768 10 word 4 32768 10 word 2 32768 10 word 1 32768 10 text start SSBX FRCT STM x 7 AR2 STM 6 AR0 LD x 1 DP PORTR PA1 x 1 FIR1 RPTZ A 6 MACD AR2 COEF A STH A AR2 PORTW AR2 PA0 BD FIR1 PORTR PA1 AR2 0 end 13 用循环缓冲区实现 FIR 滤波器程序清单 title FIR2 ASM mmregs def start bss y 1 xn usect xn 7 b0 usect b0 7 PA0 set 0 PA1 set 1 data table word 1 32768 10 word 2 32768 10 word 3 32768 10 word 4 32768 10 word 5 32768 10 word 6 32768 10 word 7 32768 10 text start SSBX FRCT STM b0 AR1 RPT 6 MVPD table AR1 STM xn 6 AR2 STM b0 6 AR3 STM 7 BK STM 1 AR0 LD xn DP PORTR PA1 xn FIR2 RPTZ A 6 MAC AR2 0 AR3 0 A STH A y 14 PORTW y PA0 BD FIR2 PORTR PA1 AR2 0 end 汇编程序清单 lhm h 文件内容 data coeff word 85 64 61 36 8 62 110 136 131 word 96 42 11 44 44 11 39 85 106 word 88 37 29 83 101 73 7 70 124 word 131 82 5 96 151 144 72 37 140 word 191 162 61 76 191 231 174 35 132 word 256 278 180 7 208 337 330 176 72 word 316 445 392 156 178 475 599 470 108 word 361 745 857 594 6 748 1336 1456 893 word 386 2192 4154 5816 6768 6768 5816 4154 2192 word 386 893 1456 1336 748 6 594 857 745 word 361 108 470 599 475 178 156 392 445 word 316 72 176 330 337 208 7 180 278 word 256 132 35 174 231 191 76 61 162 word 191 140 37 72 144 151 96 5 82 word 131 124 70 7 73 101 83 29 37 word 88 106 85 39 11 44 44 11 42 word 96 131 136 110 62 8 36 61 64 word 85 Fir asm 内容 title fir asm mmregs global c int00 ORDER set154 D LEN set1024 The Length of Input Data 15 xn usect xn ORDER 1 a0 usect a0 ORDER 1 input usect input D LEN output usect output D LEN copy HM h Get coefs from coef h text asgAR0 FIR INDEX asgAR2 FIR DATA asgAR3 FIR COEF asgAR5 DATA IN asgAR6 DATA OUT c int00 SSBX FRCT STM a0 FIR COEF Copy a0 coefs to FIR COEF AR3 RPT ORDER 1 MVPD coeff FIR COEF STM 1 FIR INDEX STM xn FIR DATA Copy

温馨提示

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

评论

0/150

提交评论