卷积运算及算法的DSP实现.doc_第1页
卷积运算及算法的DSP实现.doc_第2页
卷积运算及算法的DSP实现.doc_第3页
卷积运算及算法的DSP实现.doc_第4页
卷积运算及算法的DSP实现.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

现代信号处理课程设计 课程设计报告课程设计报告 设计题目设计题目 卷积运算及算法的卷积运算及算法的 DSPDSP 实现实现 目 录 第 1 章 总序 1 1 1 设计目的与背景 1 1 2 设计要求 1 1 3 设计思路简介 1 第 2 章 系统开发平台与环境 2 2 1 CCS 开发环境 2 2 2 ICETEK F2821 A 开发实验 板 2 第 3 章 卷积算法设计过程 3 3 1 卷积算法设计总框图 3 3 2 卷计算法设计的原理 3 第 4 章 系统软件设计 5 4 1 程序流程图 5 4 2 程序源代码 6 第 5 章 系统仿真 11 5 1 仿真设置 11 5 2 仿真图 12 第 6 章 总结 16 参考文献 17 第第 1 章章 绪论绪论 1 11 1 设计目的与背景设计目的与背景 1 1 设计背景 设计背景 卷积是在信号与线性系统的基础上或背景中出现的 脱离这个背景单独谈 卷积是没有任何意义的 除了那个所谓褶反公式上的数学意义和积分 或求 和 离散情况下 信号与线性系统 讨论的就是信号经过一个线性系统以后发生的变化 就是输入输出和所经过的所谓系统 这三者之间的数学关系 所谓线性 系统的含义 就是 这个所谓的系统 带来的输出信号与输入信号的数学关 系式之间是线性的运算关系 因此 实际上 都是要根据我们需要待处理的信号形式 来设计所谓的 系统传递函数 那么这个系统的传递函数和输入信号 在数学上的形式就是 所谓的卷积关系 卷积关系最重要的一种情况 就是在信号与线性系统或数 字信号处理中的卷积定理 利用该定理 可以将时间域或空间域中的卷积运 算等价为频率域的相乘运算 从而利用 FFT 等快速算法 实现有效的计算 节省运算代价 DSP 数字信号处理器 与一般的微处理器相比有很大的区别 它所特有 的系统结构 指令集合 数据流程方式为解决复杂的数字信号处理问题提供 了便利 本文选用 F2812 作为 DSP 处理芯片 通过对其编程来实现卷积 2 2 设计目的 设计目的 通过本次设计掌握并熟悉 dsp 的应用以及 ICETEK F2812 A 的平评估板的 使用 了解卷积算法的原理和计算方法 以及其特性与特点 并学习卷积 算法的程序实现 并且通过本次设计来提高自己的动手实践能力 增加我们对本专业的各 种芯片的了解 增强我们的专业素养 1 21 2 设计要求设计要求 利用 C 语言在 CCS 环境中编写一个卷积算法程序 并能利用已设计好的 卷积器对一些常用信号进行卷积运算处理 1 31 3 设计思路简介设计思路简介 在 TMS320C54x 系统开发环境 CCS Code Composer Studio 下对卷积 的 DSP 实现原理进行讨论 利用 C 语言设计相应的算法 通过实验仿真 从输入信号和输出信号的时域和频域曲线可看出在 DSP 上实现的卷积算法 能完成预定的计算任务 第第 2 章章 系统开发平台与环境系统开发平台与环境 2 12 1 CCSCCS 开发环境开发环境 DSP 开发工具 PC 机 目标板 仿真器 CCS 开发环境 一般是先在 CCS 开发环境下编写程序 使用 C 语言 汇编语言或者两 者混合 CCS 内置软仿真 simulator 提供了编译 调试 运行功能 其作 用主要是检测目标程序运行的正确性和连贯性 但不能够实时查看和控制 当程序成功运行通过后 通过仿真器 XDS510 或者 XDS560 与目标板连接 安装仿真器驱动 然后 load program 到目标板 运行 利用仿真器提供 的 RTDX 可实时查看存储器和寄存器变化 2 22 2 ICETEK F2821 AICETEK F2821 A 开发实验板开发实验板 第第 3 章章 卷积算法设计过程卷积算法设计过程 3 13 1 卷积算法设计总框图卷积算法设计总框图 开 始 初始化 DSP 产生输入信号 将卷积信号X m 和 H m 输 入在同一个坐标系内 翻转 将 H m 以 m 0 的垂 直轴为轴翻褶成 H m 移位 将 H m 移位 n 即 得 H n m 相乘 再将 H n m 和 X m 的相同 m 值的对应点值 相乘 相加 把以上所有点的对应点 的乘积叠加起来 即得 Y n 值 取移位值 n N 值取遍整 个坐标轴 结 束 YES 3 23 2 卷积算法设计的原理卷积算法设计的原理 1 1 卷积算法基础理论 卷积算法基础理论 卷积的基本理论和公式 卷积和 对离散系统 卷积和 也是求线性时不变系统输出响应 零状态 响应 的主要方法 卷积和的运算在图形表示上可分为四步 A 翻褶 现在亚变量坐标 M 上作出 X m 和 H m 将 m 0 的垂直轴为轴翻 褶成 H m B 移位 将 H m 移位 n 即得 H n m 当 n 为正整数时 右移 n 位 当 n 为负整数时 左移 n 位 C 相乘 再将 H n m 和 X m 的相同 m 值的对应点值相乘 D 相加 把以上所有点的对应点的乘积叠加起来 即得 Y n 值 依上法 取 n 2 1 0 1 2 3 各值 即可得全部 Y n 值 第第 4 章章 系统软件设计系统软件设计 4 14 1 程序流程图程序流程图 While TRUE 执行 dataIO2 子程序 执行 dataIO 子程序 执行 processing4 子程序 结束 YES NO 执行 processing4 子程序 开始 打印 volume example tarted n 执行 processing1 子程序 执行 processing2 子程序 执行 processing3 子程序 程序的自编函数及其功能 1 processing int input2 int output2 调用形式 processing1 int input2 int output2 参数解释 input2 output 为两个整型指针数组 返回值解释 返回一个 TURE 让主函数的 While 循环保持连续 功能说明 对输入的 input2 buffer 波形进行截取 m 点 再以零点的 Y 轴为对称轴进行翻褶 把生成的波形上的各点的值存入以 OUTPUT2 指针 开始的一段地址空间中 2 processing2 int output2 int output3 调用形式 processing2 int output2 int output3 参数解释 output2 output3 为两个整形指针数组 返回值解释 返回了一个 TREN 让主函数的 While 循环保持连续 功能说明 对输出的 output2 buffer 波形进行作 n 点移位 然后把生成 的波形上的各点的值存入以 OUTPUT3 指针开始的一段空间中 3 processing3 int input1 int output2 int output4 调用形式 processing3 int input1 int output2 int output4 参数解释 output2 output4 input1 为三个整型指针数组 返回值解释 返回了一个 TRUE 让主函数的 While 循环保持继续 功能说明 对输入的 input2 buffer 波形和输入的 input1 buffer 做卷 积和运算 然后把生成的波形上的各点的值存入以 OUTPUT4 指针开始的 地址空间中 4 processing4 int input2 int output1 调用形式 processing4 int input2 int output1 参数解释 output1 input 为两个整型指针数组 返回值解释 返回了一个 TRUE 让主函数的循环保持继续 功能说明 对输入的 input2 buffer 波形截取 m 点 然后把生成的波形上的各 点的值存入以 OUTPUT1 指针开始的一段地址空间中 4 24 2 程序源代码程序源代码 源程序 源程序 include DSP281x Device h include DSP281x Examples h include f2812a h include stdio h include volume h int inp1 buffer BUFSIZE int inp2 buffer BUFSIZE int out1 buffer BUFSIZE int out2 buffer BUFSIZE int out3 buffer BUFSIZE int out4 buffer BUFSIZE 2 int size BUFSIZE int ain MINGAIN int zhy 0 int sk 64 unsigned int processingLoad 1 static int processing1 int output1 int output2 static int processing2 int output2 int output3 static int processing3 int input1 int output2 int output4 static int processing4 int input2 int output1 static void dataIO1 void static void dataIO2 void int input1 int input2 int output1 int output2 int output3 int output4 void main void int jishu 0 int input1 int input2 int output1 int output2 int output3 int output4 puts volume example started n while TRUE dataIO1 dataIO2 processing4 input2 output1 processing1 output1 output2 processing2 output2 output3 processing3 input1 output2 output4 jishu 在此处加断点 static int processing4 int input2 int output1 int m sk for m 0 m output1 input2 ain for size m 0 m output1 m 0 static int processing1 int output1 int output2 int m sk 1 for m 0 m output2 output1 ain static int processing2 int output2 int output3 int n zhy m size 64 for n0 i y x 0 z 0 f y for i 0 i g input1 z output2 f x x g z f output4 x y m sk y sk 1 w m zhy 1 for m 0 m y i y z sk 1 x 0 f sk y for i 0 i z f g input1 z output2 f x x g out4 buffer w x w static void dataIO1 return static void dataIO2 do data I O return 第第 5 章章 系统仿真系统仿真 5 15 1 仿真设置仿真设置 1 在程序中 dataIO1 上单击鼠标右键选择 Toggle software breakpoint 设置软件断点 再在同一行上单击鼠标右键 选择 software breakpoint edit 来设置断点 此时打开了一个新 的窗口 最后设置成如下图所示 2 同理 在程序中 dataIO2 上同样操作设置 最后设置如下图 3 打开窗口菜单 Viwe Graph Frequency 进行如下设置 5 25 2 仿真图仿真图 1 当输入波为SIN SIN 时 SIN inp1 SIN inp2 SIN out 2 当输入波为SIN11 SIN11 时 SIN11 inp1 SIN11 inp2 SIN11 out 3 当输入波为SIN22 SIN22 时 SIN22 inp1 SIN22 inp2 SIN22 out 5 当输入波为SIN33 SIN33 时 SIN33 inp1 SIN33 inp2 SIN33 out 6 当输入波为SIN44 SIN44 时 SIN44 inp1 SIN44 inp2 SIN44 out 7 当输入波为 SIN44 SIN Sin44 inp1 Sin inp2 SIN44 SIN Out 8 当输入波为 SIN11 SIN33 时 Sin11 inp1 Sin33 inp2 Sin11 sin33 Out 9 当输入波为 SIN22 SIN 时 Sin22 inp1 Sin inp2 Sin22 Sin Out 第第 6 章章 总结总结 卷积计算是数字信号的基础 也是 dsp 芯片的基础 通过本次 设计不仅使我们对卷积计算的理解加深了 也加强了我们对 dsp 芯 片的了解与其应用的学习程度 而且还增强了我们的实践动手能力 提高我们合作解决问题的能力 使我对 DSP 芯片有了更深一步的了

温馨提示

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

评论

0/150

提交评论