1 原是频域抽取的FFT -> 时域抽取的FFT; 2 大部分代码使用C编写。 3 对RAM的要求降低了,原在M16上实现不了128点的变换。(本可以实现256点的,但是由于需要分配堆栈,如果不函数调用,全部函数内联,可以实现256点变换) 4 改进了算法,提高了速度。 下面是输入方波的一个频谱
楼主是否使用浮点算法?一次128点FFT需要多少时间?我现在准备做一个三相电机保护器,算法方案时域分析还是频域分析,还在犹豫中。。。
肯定不能用浮点啊。浮点太慢了。都是用的定的。 整个变换 之用了大概6.6毫秒 @ 16MHz 如果用浮点数,在这几个毫秒里做不了几次计算。
定点FFT,精度如何?楼主能否贴点代码,谢谢!
用浮点做FFT的估计很少,主要是速度问题,除非处理器具有浮点计算器(好像TI的C6000系列DSP上有);代码在公司的机器上,改天想个办法考出来。
原帖在这里,大家别到处找了. http:///works/akilcd/report_e.html 还有人设计出了下变频电路,使得这个设计能够支持高频信号的频谱分析.
里面还有PWM播放wave文件的设计,也很不错,我做了一个效果很好.
|