使用单片机和FFT算法显示波形(高分!!!急救!!)
答案:2 悬赏:20 手机版
解决时间 2021-04-14 11:11
- 提问者网友:谁的错
- 2021-04-14 03:50
我要做一个projet,内容是输入电流或电压等信号,经过单片机(在单片机中使用fft程序),最后能在电脑屏幕上显示出波形图,怎么做呢?老师给我们找到了一个fft的c程序(必须是1024点的),但是他说还需要改,做这个projet我需要确切了解fft算法吗?或者只需要了解什么是fft的输入值就可以了,输入值是什么?整个projet需要用到什么电子元件呢?通过什么可以把fft的结果转化为波形?单片机为PIC18F45
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-04-14 04:21
涉及到单片机跟上位机通信得问题,有模块一般用串口的比较多 网上去找吧 单片机的硬件应该考虑AD转换器
(1024点的话 就用10bit特的AD吧) 若选用 STC的单片机自带10bitAD 可以不用考虑AD的问题 你的软件主要会涉及到两个部分吧 单片机的程序 和 上位机的显示程序(VB还是delphi就自己目前状况定吧) 难点还在于通讯这一块 如果以前没接触过花的时间可能会长点 还有你电压信号一般是工频的吧 采样定律要求采样率是它的两倍以上 所以100HZ以上的了 而且事实上要大上好几倍 最好500Hz以上吧(周期就倒数下)
现在一般都用数据采集卡了 在大项目中单片机有点古老的感觉 你这课题用LabVIEW的还不错 几个框图一拉就完了 一周可以搞定 呵呵
不过以后要走技术的路 还是要一步一个脚印稳扎稳打从单片机起步吧~~~好了就这么多了,你也不必再问了,下次上线我不知道是什么时候了~~~
全部回答
- 1楼网友:深街酒徒
- 2021-04-14 05:02
fft算法是频谱分析,输入电流或电压信号首先要使用模-数转换电路,根据精度和速度的不同要求,采用的电路也差别很大。fft的输入不外乎就是一串采样数据,以及这些数据的采样时间间隔是多少,这个你需要自己去分析或者代码中有注解就更好。
fft最终可能会输出一个数组作为它的分析结果,你可以通过串口输入到电脑中,电脑通过串口接收到单片机发过来的数据以后,就可以通过一些数据分析工具把曲线显示出来。
我见过用fft算法配合高速采样电路来分析钢琴音准和音色(即频谱)的实际产品,价格很贵的哦。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯