DSP课程实验报告
——利用DSP实现实时信号谱分析
学院:电子信息工程学院
指导老师:高海林
学生:
目录
1、设计任务书 ............................................ 3 2、设计内容 .............................................. 3 3、设计方案 .............................................. 4 3、1整体思路 ......................................... 4 3.2 信号的实时采集与传输 ............................. 4 3.3 FFT算法 ........................................ 5 3.4 “ping-pong”存储方式 ........................... 8 4、实验步骤 ............................................ 9 5、实验结果及分析 ....................................... 10 6、实验中遇到的问题及解决方法 ......................... 13 7、实验感想 ............................................. 13
1、设计任务书
在信息处理中,可以对信号进行时域分析,也可以对信号进行变换域分析,在频域对信号进行频谱分析是最常见的分析之一。利用DSP可以实时地对信号进行频谱分析—快速傅立叶变换(FFT)。本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行频谱分析。
基本部分:
(1) 设计谱分析算法,或调用DSPLIB中 FFT函数,实现对信号的频谱分析。 (2) 在DMA中断服务程序中,实现信号的实时谱分析
(3) 利用CCS信号分析工具分析信号的频谱成分, 对FFT算法结果进行验证。
发挥部分:
(1)信号频谱数据实时输出到Headphone输出接口,并在示波器上进行显示; (2)在实验板的Line in输入端接入正弦信号,分左右声道分别采集,并分别进行频谱分析;
(3)利用CCS的Profiler工具计算FFT算法所需要的时间,并根据实时性要求进行必要的算法优化。
2、设计内容
(1)掌握CCS的安装、设置,工程的建立、工程设置、编译运行和调试方法 (2)编写C语言程序实现设计要求,并在CCS集成开发环境下调试通过,实现设计所要求的各项功能。 (3)按要求撰写课程设计报告。
3、设计方案
3、1整体思路
首先利用DSP的DMA方式对外部信号进行实时采集,外部模拟信号先进行A/D转换,利用MCBSP的接收寄存器接收数据,并将数据存放到DSP存储区中。设计FFT算法或调用DSPLIB中的rfft或cfft频谱分析函数,对信号进行快速傅立叶变换。频谱数据利用DMA方式送到D/A转换器转换为模拟信号在示波器上显示。
3.2 信号的实时采集与传输
DMA控制器可以在不影响CPU的情况下完成数据的传输,因此数据传输速度快,在要求信号实时采集和处理的系统中常采用DMA方式进行信号传输。本设计中输入信号经过A/D转换成数字信号后,将DMA通道4的源地址设为串口的接收寄存器,利用DMA通道4进行传输;而将DMA通道5的目的地址设置为串口的发送寄存器,将信号频谱利用DMA5通道进行传输,此步骤需要对AIC23、McBSP、DMA通道4和DMA通道5进行初始化配置。处理流图如图3.2.1所示。
上电复位A/D和D/A初始化DM3A通道初始化DM2A通道初始化序列倒序DM方A式接收A/D数据序列FFT等待DM2A接收中断
信号经D/A输出中断服务程序
主程序图3.2.1信号实时采集和频谱分析流程图
3.3 FFT算法
FFT(Fast Fourier Transformation),即为快速傅氏变换,是离散傅氏变换(DFT)的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。 (1)离散傅里叶变换DFT
N点DFT的正变换公式为:
式中,WN=e-j*2π/N,称为旋转因子或蝶形因子。从DFT的定义可以看出,在x(n)为复数序列的情况下,对某个k值,直接按(1)式计算X(k)只需要N次复数乘法和(N-1)次复数加法。因此,对所有N个k值,共需要N2次复数乘法和N(N-1)次复数加法。对于一些相当大有N值(如1024点)来说,直接计算它的DFT所需要的计算量是很大的,因此DFT运算的应用受到了很大的限制。 (2) 快速傅里叶变换FFT
旋转因子WN 有如下的特性: 对称性: WNk+N/2=-WNk 周期性:WNn(N-k)=WNk(N-n)=WN-nk
利用这些特性,既可以使DFT中有些项合并,减少了乘法积项,又可以将长序列的DFT分解成几个短序列的DFT。FFT就是利用了旋转因子的对称性和周期性来减少运算量的。
一般而言,FFT算法分为按时间抽取的FFT(DIT FFT)和按频率抽取的FFT(DIF FFT)两大类。DIF FFT算法是在时域内将每一级输入序列依次按奇/
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库dsp实验报告 - 实时信号谱分析new在线全文阅读。
相关推荐: