发明名称 |
一种在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>[</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi></mrow><mo>]</mo></mrow></msub><mo>+</mo><mrow><mo>(</mo><mrow><msub><mi>X</mi><mrow><mo>[</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mo>]</mo></mrow></msub><mo>-</mo><msub><mi>X</mi><mrow><mo>[</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi></mrow><mo>]</mo></mrow></msub></mrow><mo>)</mo></mrow><mo>×</mo><mrow><mo>{</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi><mo>-</mo><mrow><mo>[</mo><mrow><mfrac><mi>n</mi><mi>m</mi></mfrac><mi>i</mi></mrow><mo>]</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号 |