FPGA实现可变带宽数字滤波器
时间:10-02
整理:3721RD
点击:
各位高手:
有朋友研究过基于FPGA实现中心频率可变,带宽可变的数字滤波器吗?(不是那种基于Matlab算出几个不同中心频率/带宽的FIR滤波器系数,把系数存在EEPROM中,再通过手动去选择不同系数达到中心频率可变的效果!)假如我要实现Fs=64Mhz,中心频率在0~20Mhz全频可变这种数字滤波器,而且带宽有9Khz,40Khz,100Khz,160Khz,300Khz,650Khz,800Khz,1Mhz这固定几种。实现0~20Mhz中心频率可变,带宽固定可调的数字滤波器。
我原有想法是用FFT+IFFT实现,但是需要的FFT点数要求过高(FFT_N>64000khz/9khz,取FFT_N=8192),而且后续还要提高采样率=125Mhz,这样就需要最大的FFT_N=16K,这样数据处理延时很大,不好做数字缓存。
谢谢大家!
有朋友研究过基于FPGA实现中心频率可变,带宽可变的数字滤波器吗?(不是那种基于Matlab算出几个不同中心频率/带宽的FIR滤波器系数,把系数存在EEPROM中,再通过手动去选择不同系数达到中心频率可变的效果!)假如我要实现Fs=64Mhz,中心频率在0~20Mhz全频可变这种数字滤波器,而且带宽有9Khz,40Khz,100Khz,160Khz,300Khz,650Khz,800Khz,1Mhz这固定几种。实现0~20Mhz中心频率可变,带宽固定可调的数字滤波器。
我原有想法是用FFT+IFFT实现,但是需要的FFT点数要求过高(FFT_N>64000khz/9khz,取FFT_N=8192),而且后续还要提高采样率=125Mhz,这样就需要最大的FFT_N=16K,这样数据处理延时很大,不好做数字缓存。
谢谢大家!
帮顶,我觉得不借助上位机比较困难
FFT+IFFT实现的原理是矩形窗滤波器的复频域调谐,直接用效果不会太好。这个我感觉可以先将0-20M中心频率在复频域搬移到0频然后用带宽9Khz,40Khz,100Khz,160Khz,300Khz,650Khz,800Khz,1Mhz不同的滤波器滤波,然后频率搬回,应该可行
哈哈哈哈啊哈哈哈哈
想去百度,腾讯,学FPGA不行啊
试过用FFT的方法仿真过,效果的确不太好,小编的中心频点和带宽不是预先知道的?
中心和带宽不知怎么滤波? 除非自适应滤波器,那就搞复杂了, 没有这样的搞法
那么,效果最好应该是上面提到的手动配置的那种方法