江苏大学dsp课程设计

  • 格式:doc
  • 大小:565.00 KB
  • 文档页数:15

下载文档原格式

  / 15
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JIANGSU UNIVERSITY

本科生课程设计DSP课程设计实验报告

基于ICETEK5509实验箱和基2FFT算法的频谱分析

学院名称:计算机科学与通信工程学院

专业班级:通信工程

学生姓名:

指导教师姓名:

指导教师职称:

年月

一、设计目的与意义

1、本课程设计与理论课、实验课一起构成《DSP芯片原理与应用》完整课程

体系;

2、针对理论课、实验课中无时间和不方便提及内容和需强调重点进行补充与

完善;

3、以原理算法的实现与验证体会DSP技术的系统性,并加深基本原理的体会。

二、设计要求

1、系统设计要求:

⑴.设计一个以ICETEK5509为硬件主体,FFT为核心算法的频谱分析系统

方案;

⑵.用C语言编写系统软件的核心部分,熟悉CCS调试环境的使

用方法,

在CCS IDE中仿真实现方案功能;

⑶.在实验箱上由硬件实现频谱分析。

2、具体要求:

⑴.FFT算法C语言实现与验证

1) 参考教材节FFT核心算法在CCS软件仿真环境中建立FFT工

程:添加main()函数,更改教材中个别语法错误,添加相应的库文

件,建立正确的FFT工程;

2) 设计检测信号,验证FFT算法的正确性及FFT的部分性质;

3) 运用FFT完成IFFT的计算。

⑵.单路、多路数模转换(A/D)

1) 回顾CCS的基本操作流程,尤其是开发环境的使用;

2) 参考实验指导和示例工程掌握5509芯片A/D的C语言基本控制流

程;

3) 仔细阅读工程的源程序,做好注释,为后期开发做好系统采集前端

设计的准备。

⑶.系统集成,实现硬件频谱分析

1) 整合前两个工程,实现连续信号的频谱分析工程的构建;

2) 参考A/D转换示例和DSP系统功能自检示例完成硬件连

接,并测试

开发系统运行效果;

3) 基于现有系统,对于实时频谱分析给出进一步开发设计

和系统改良

方案。

三、课程设计原理

1、DSP应用系统构成:

注:一般的输入信号首先进行带限滤波和抽样,然后进行模数(A/D)转换,将信号变成数字比特流。根据奈奎斯特抽样定理,对低通信号模拟,为保持信号的不丢失,抽样频率必须至少是输入带限信号的最高频率的2倍,工程上为带限信号最高频率的3-5倍。

2、快速离散傅里叶变换(FFT)的基本原理:

频谱分析系统

FFT是一种快速有效地计算离散傅里叶变换(DFT)的方法。它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。

因为需要N 次复数乘法和N-1次复数加法,所以计算全部

X(k)01k N ≤≤-(),共需要2N 次复数乘法和N(N-1)次复数加法。实现一次复数乘法需要四次实数乘法和两次实数加法,一次复数加法需要两次实数加法,因此直接计算全部X(k)共需要42N 次实数乘法和2N(2N-1)次实数加法。为减少运算量,提高运算速度,就必须改进算法。

FFT 算法就是不断地把长序列的DFT 分解成几个短序列的DFT ,并利用m

N W 的

周期性和对称性来减少DFT 的运算次数。

nk

N

W 具有以下固有特性: (1)nk

N W 的周期性:()(N nk n N k n k N N N W W W ++==) (2)nk

N W 的对称性:()nk nk n n N k N N N W W W --=

=() (3)nk N W 的可约性:/,n n

N N n N Nn W W W W == 另外,/2(/2)1,N k N k

N N N W W W +=-=-。

利用nk

N W 的上述特性,将x(n)或X(k)序列按一定规律分解成短序列进行运

算,这样可以避免大量的重复运算,提高计算DFT 的运算速度。算法形式有很多种,但基本上可以分为两大类,即按时间抽取(Decimation In Time ,DIT)FFT 算法和按频率抽取(Decimation In Frequency ,DIF)FFT 算法。

N=8的按时间抽取FFT

N=8的按频率抽取FFT

实数序列的FFT : 反FFT 运算可以表示为:

1

1

x(n)=

(),0,1,2,,1N nk N

k X k W

n N N

--==⋅⋅⋅-∑ .2.8(4)

式中,X()k 是时域信号x()n 的傅里叶变换。比较.1.2(4)和.2.8(4)

可以看出,通过下列修改,我们可以用FFT 算法来实现反FFT:

⑴增加一个归一化因子1/N ;

⑵将nk N W 用其复共轭-nk

N W 代替。

由于第二点需要修改符号,因此FFT 程序还不能不加修改的来计算反FFT 。 因为

10

1x(n)=[()]N nk N k X k W N -**

=∑

1

=

{[()]}FFT X k N

** .2.9(4) 可见,求X()k 的反FFT 可以分为以下三个步骤: ⑴取X()k 的共轭,得X ()k *; ⑵求X ()k *的FFT,得Nx ()n *;

的共轭,并除以N,即得x()n。

⑶取x()n

采用这种方法可以完全不用修改FFT程序就可以计算反FFT。

3、单路、多路模数转换实验原理(AD)

⑴ TMS320VC5509A模数转换模块特性:

—带内置采样和保持的10位模数转换模块ADC,最小转换时间为500ns, 最大采样率为。

—2个模拟输入通道(AIN0-AIN1)。

—采样和保持获取时间窗口有单独的预定标控制。

⑵模数转换工作过程:

—模数转换模块接到启动转换模块后,开始转换第一通道的数据。

—经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存。

—转换结束,设置标志。

—等待下一个启动信号。

⑶模数转换的程序控制:

模数转换相对于计算机来说是一个较为缓慢的过程。一般采用中断方式启动转换或保存结果,这样在CPU忙于其它工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际需要选择适当的触发转换手段,也要能及时地保存结果。

由于TMS320VC5509A DSP芯片内的A/D转换精度是10位,转换结果的低10位为所需数值,所以在保留时应注意将结果的高6位去除,取出低10位有效数字。

⑷实验程序流程图: