圈圈您好!
我现在在学习用ALTERA FFT IPCORE8.0实现基于FPGA的FFT变换。
之前用其FIR IP实现滤波器基本上可以满足要求。
现在在做FFT的时候,参考一些ALTERA 有关FFTIPCORE 的资料,对该核的各个控制引脚都做了相应的时序控制。
我用的是CYCLONE III的芯片,总的就是AD采集信号,到FPGA的FFT,变换之后直接DA输出。我这里晶振提供50M频率,AD分频用25M,DA倍频到125M。
对照ug_fft.pdf资料,SIGNALTAP观测时序控制输入信号基本上都相同了,但就是输出信号无论如何都输不出想要的频谱波形,先不管横纵轴的意义,至少频谱波形的大致形状应该对的上吧。(256,1024点,分别用streaming,varied streaming,burst,buffered burst几种方式我都用过了,输出都不对)
附件中是SIGNALTAP仿真FFT变换,256点的。SIGNALTAP采样深度4K。
信号发生器提供1V(无偏置峰峰值,-0.5V~0.5V),1M输入正弦波信号,波形图中myreal是FFT核的输入,由控制信号控制每次输入256点正弦波信号样点,分别进行变换;输出信号是DA_BIT。理论上,输出信号是频谱,那么每次变换的256点单频正弦波数据,对应输出频谱应该是一对对称波峰。但是这里出来的是紊乱波形,而且输出指数信号理论上个点不该相同,这里也都没有变化,很奇怪,调了好多天仍无头绪,特来这里求助。
真诚期待您的答复,感谢先!
各位大侠有成功用过FFT IPCORE 的,希望可以援手。
开始有些灰心了。。。 |