网站大量收购独家精品文档,联系QQ:2885784924

基于ARM的便携式音频频谱分析仪的设计的报告.docVIP

基于ARM的便携式音频频谱分析仪的设计的报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM的便携式音频频谱分析仪的设计的报告

基于ARM的便携式音频频谱分析仪基于ARM的便携式音频频谱分析仪设计报告项目组: 逆火 项目组成员: 薛扣英(研) 西安交通大学计算机系统结构 丁少华(研) 西安交通大学工企自动化 陈墨(研) 西安交通大学系统工程 赵刚(研) 西安交通大学计算机软件与理论周佳 (本) 西安交通大学软件工程 系统简介:该系统能够在噪音场合使用手持设备进行声音的采集,以及进行简单的频谱分析,更能够为现场工程师提供简单的故障诊断信息,具有很强的工程使用价值。并且可以连接示波器,在没有计算机的情况下重放信号波形,增强了系统的可用性和扩展性。系统功能:示波两用( 产生时域波形)存储音频信号(总计30分钟采集,可分多个文件存储)频谱分析(包括Bode图)频带分离频谱还原实现原理:见图1图 SEQ 图 \* ARABIC 1系统原理框图FFT算法我们知道N点FFT运算可以分为logn2级,每一级有N/2个碟形。FFT变换的算法是用3层循环完成全部运算。FFT算法思想如下:开始后进行码位倒置,得到FFT运算所需要的输入序列。然后采用3层循环完成N点FFT。第一层循环是“级”,N=2M点FFT运算共有M级,这里,我们用m作循环变量;第二层循环是“组”,由于第L级有2L-1个蝶形因子(乘数),第二层循环根据乘数进行控制,保证对于每一个蝶形因子第三层循环要执行一次,这样,第三层循环在第二层循环控制下,每一级要进行2L-1次循环计算。第三层循环是每组里的蝶形单元由于第L级共有N/2L个群,并且同一级内不同群的乘数分布相同,当第二层循环确定某一乘数后,第三层循环要将本级中每个群中具有这一乘数的蝶形计算一次,即第三层循环每执行完一次要进行N/2L个碟形计算。可以得出结论:在每一级中,第三层循环完成N/2L个碟形计算;第二层循环使第三层循环进行 2L-1次,因此,第二层循环完成时,共进行2L-1 *N/2L=N/2个碟形计算。实质是:第二、第三层循环完成了第L级的计算。波形显示 因为要把处理前的数据和经过FFT处理后的数据同时显示在LCD上,所以, LCD上可以显示显示时域图以及频谱图。为了把波形显示在特定的区域,需要对数据进行处理,见图2。图 SEQ 图 \* ARABIC 2多线程程序流程图数据存储在本系统中采用双缓冲机制,有辆个缓冲区分别为Buf和Buffer,Buf用来存放采集的数据,Buffer为临界资源。程序把数据从Buf放入临界资源Buffer中,设置一个共享锁,实现该模块、数据的处理和显示模块的互斥访问。硬件设计:PCB图MIC电路,包括驻极体话筒的硬件接口和相应放大电路。驻极体话筒将拾取到的声音信号转换成电信号并放大,同时通过压-流转换为电流信号送入系统AD模块AD变换部分,将从MIC传来的电流信号转换为电压信号并采样数字化,然后通过数据总线送入ST710。DA模块,可将系统中存储的数字信号还原为波形并在示波器上输出。通过总线与ST710连接。键盘电路,接收外界输入并使系统作出相应动作。ST710主系统PCB。软件设计:系统层操作系统系统层以免费、成熟的uC/OS-Ⅱ操作系统内核为基础进行移植扩展。所谓移植,是指使一个实时操作系统能够在某个微处理器平台上运行。根据μC/OS-Ⅱ的体系结构,包括对与处理器相关的OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C三个文件中的代码进行移植,以及对与应用设置相关的OS_CFG.H、INCLUDES.H两个文件中的代码进行移植。移植的关键是定义宏OS_ENTER_CRITICAL()和OS_EXIR_CRITICAL()控制系统打开关闭中断;定义函数OS_TASK_SW,执行任务切换;用纯汇编定义函数OSCtxSw,实现用户级上下文切换;用纯汇编定义函数OSIntCtxSw,实现中断级任务切换;定义函数OSTaskStkInit来初始化任务堆栈;定义函数OSTimeTick实现时钟中断服务。 在uC/OS-Ⅱ提供的任务调度内核的基础上通过设计驱动程序模块、操作系统的API函数、系统任务、任务调度模块等模块对操作系统内核进行扩展。通过设计实现LCD和USB设备的接口函数,建立驱动程序模块,使操作系统API函数和底层硬件分离开;操作系统的API函数部分主要是设计图形用户接口(GUI)函数,建立系统API函数库;系统任务部分设计液晶显示屏刷新任务、按键扫描任务两个基本任务,并随操作系统的启动而运行。驱动在嵌入式系统中,设备驱动程序隐藏了各种设备的具体细节,维护着设备的正常工作,在用户与设备之间起到了桥梁作用。开发设备驱动程序是开发嵌入式

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档