示波器应用程序为建立频谱分析应用程序提供了一个很好的基础。从概念上来看,这两个很相似,但是区别是由主机来读取频谱数据并显示,而不是从DSK读取音频数据。这样对DSP应用程序大多需要更改。它们包括:
图E.3 示波器应用对话框
●数据缓存必须转换成浮点类型,左右通道数据要送入分开的缓存区(或者其中一个通道能被去掉或者只使用一个单独的缓存区)。
●HPI_Block.Index变量再也不是用来作为主机判断数据是否已满的标志。确切地说,它用于主函数main()的永久循环。当数据寄存器已满,数据就会在main()循环中处理。
●当主函数main()循环过程完成时,会通知主机从正确的寄存器位置读取频谱数据。当DSP得知主机已经读取了软件,index将被清零,以便读取下一组新数据。
●需要增加新的HPI_Block变量来作为主机的标志。当频谱数据有效时,该标志要置1,当主机读完数据时该标志清零。
主机应用程序需要修改的地方包括:(www.xing528.com)
●主机必须读取HPI_Block的正确标志,而不是HPI_Block.Index值。当该标志非零时,主机就要读取数据,然后将标志位清零。
●数据寄存器必须转换成浮点类型。如果DSP使用两个寄存器,那么主机也要使用两个寄存器。使用C6XCONTROL_ReadFloat()函数来读取数据,因为它是以浮点格式存储的。
●画图程序必须调正数据范围以便适合画图。在示波器应用程序中,垂直分变率(清晰度)有256像素。
修改的详细指令没在这里给出。但在本书CD中附录E的DSK6_CONTROL_SPECTRUM目录里有完整的频谱分析工程。图E.4所示为该程序的简单显示的对话框。
图E.4 频谱分析应用对话框
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。