发明名称 一种在FPGA中实现任意点数FFT的方法
摘要 一种在FPGA中实现任意点数FFT的方法,包括1.根据原始采样点计算出符合FFT要求的采样点;2.符合FFT要求的采样点的计算公式为<img file="dest_path_image002.GIF" wi="300" he="60" />;3.使用按上述方法计算出的采样点再进行FFT运算;4.计算出的采样点存放在2个双口RAM中,采用ping–pang方式工作。本发明可对任意点数的采样点进行FFT运算;所需逻辑资源的开销小;无需额外的时间开销;与通常2的整数次幂采样点数的FFT所需时间相等;对被分析信号基频频繁发生变化的场合,传统的FFT需要改变采样电路采样频率进行重新采样,本方法则只需改变计算参数n、m即可。
申请公布号 CN103077154B 申请公布日期 2016.01.06
申请号 CN201210589073.X 申请日期 2012.12.31
申请人 西安奇维科技股份有限公司 发明人 刘升;王一凡
分类号 G06F17/14(2006.01)I 主分类号 G06F17/14(2006.01)I
代理机构 西安吉盛专利代理有限责任公司 61108 代理人 潘宪曾
主权项 一种在FPGA中实现任意点数FFT的方法,其特征在于,该方法包括:1】在外部采样电路完成采样时读入采样点;2】判断每个采样点与前一个采样点之间是否需要产生FFT模块的输入点,若需要则按以下公式计算:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>Y</mi><mi>i</mi></msub><mo>=</mo><msub><mi>X</mi><mrow><mo>&lsqb;</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi></mrow><mo>&rsqb;</mo></mrow></msub><mo>+</mo><mrow><mo>(</mo><mrow><msub><mi>X</mi><mrow><mo>&lsqb;</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mo>&rsqb;</mo></mrow></msub><mo>-</mo><msub><mi>X</mi><mrow><mo>&lsqb;</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi></mrow><mo>&rsqb;</mo></mrow></msub></mrow><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>{</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi><mo>-</mo><mrow><mo>&lsqb;</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi></mrow><mo>&rsqb;</mo></mrow></mrow><mo>}</mo></mrow></mrow>]]></math><img file="FDA0000776603140000011.GIF" wi="935" he="188" /></maths>其中n为实际每周波的采样点数;m为FFT需要的采样点数;[]为取整符号;Y<sub>i</sub>为输出采样点;X<sub>i</sub>为输入采样点;3】将产生的输出采样点Y<sub>i</sub>存入输出的双口RAM中;4】若产生的输出采样点数i=m,则启动FFT计算;同时将i清零,并切换存放输出采样点的双口RAM块;计算出的采样点存放在2个双口RAM中,采用乒乓模式工作。
地址 710077 陕西省西安市高新区锦业路69号创业研发园C区8号