请教些关于FIR滤波器的FPGA实现中遇到的一些问题:
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 21:02:16
请教些关于FIR滤波器的FPGA实现中遇到的一些问题:
1、在用matlab的fdatool设计滤波器生成系数时,里面的滤波器采样频率Fs是只要满足奈奎斯特定理就行了吗?譬如,我用40MHz采样速率的AD采集5MHz频率的数据,经FIR滤波,这里的Fs怎么确定,是40MHz,还是大于10MHz就行了?
2、我采集的数据都是正数,而fda生成的系数有负的,对这负系数采用什么编码方法啊?
3、最后的数据需要截位,一般截哪些位啊?
暂时就这些问题,不甚感激!
就是第一个问题里的FIR数字滤波器的时钟频率和采样频率Fs有关吗?时钟频率要求等于Fs还是任意设置?
1、在用matlab的fdatool设计滤波器生成系数时,里面的滤波器采样频率Fs是只要满足奈奎斯特定理就行了吗?譬如,我用40MHz采样速率的AD采集5MHz频率的数据,经FIR滤波,这里的Fs怎么确定,是40MHz,还是大于10MHz就行了?
2、我采集的数据都是正数,而fda生成的系数有负的,对这负系数采用什么编码方法啊?
3、最后的数据需要截位,一般截哪些位啊?
暂时就这些问题,不甚感激!
就是第一个问题里的FIR数字滤波器的时钟频率和采样频率Fs有关吗?时钟频率要求等于Fs还是任意设置?
1、理论上大于10m就ok了,但是实际中肯定要留有余量的,40m可以,主要看你的主频能做到多少了.
2、不管是正数还是负数,在FPGA中最好都用补码表示.
3、截位当然是截断最低的位,高位截断了数据就错了.
还有问题就是你这样做肯定只能用并行的方法来做了,因为你用大于10m的采样频率,如果你用10阶的FIR滤波器,同时需要9个乘法器,不知道你的数据是多少位的,也不知道你的FIR是多少阶的,如果位数宽,且阶数多的话,你的FPGA可能没有这么多的乘法器,
还有不知道FPGA里面的乘法器是不是补码乘法器,如果不是的话,你的数据表示方法如果用补码的话,乘法之前要求原码,乘法器之后还要再求补码,可能得不偿失,这样的话可以考虑用原
码表示整数和负数.
关于补充:你的第一个问题没有提到时钟频率啊.
如果你的时钟频率比采样频率高很多的话,就可以用串行的方法来做,这样的话需要很高的时钟频率,但是省资源(乘法器和加法器),如果你没有很高的时钟,只能串行做,这种方法适用于时钟频率等于或者略大于时钟频率.
再问: 现在我的数据是10位的,具体用几阶的FIR还没确定(关于阶数一般怎么确定啊,我看fdatool里有这个参数设置,一种是自己确定,一种自动生成最低阶数)。 还有就是我补充的问题,FIR的时钟频率和采样频率Fs是否有关啊?
再答: 10位的数据可能误差比较大,但是应该可以,我们做的IIR是数据32位,系数是26位。 阶数的确定我遇到过两种方法:1、根据你的设计要求确定,有的要求里面明确提出了要用几阶的,仔细看一下spec,说不定有说明.2、如果没有的话,就要根据你需要得到的信噪比来决定了,可以选择自动生成最低阶数,然后填入你的信噪比,就是阻带通带衰减值填一下,根据自己的要求填,让工具算出你的阶数,然后把算出的系数转化成二进制就行了。 补充的问题我回答过了,看回复要仔细点。
2、不管是正数还是负数,在FPGA中最好都用补码表示.
3、截位当然是截断最低的位,高位截断了数据就错了.
还有问题就是你这样做肯定只能用并行的方法来做了,因为你用大于10m的采样频率,如果你用10阶的FIR滤波器,同时需要9个乘法器,不知道你的数据是多少位的,也不知道你的FIR是多少阶的,如果位数宽,且阶数多的话,你的FPGA可能没有这么多的乘法器,
还有不知道FPGA里面的乘法器是不是补码乘法器,如果不是的话,你的数据表示方法如果用补码的话,乘法之前要求原码,乘法器之后还要再求补码,可能得不偿失,这样的话可以考虑用原
码表示整数和负数.
关于补充:你的第一个问题没有提到时钟频率啊.
如果你的时钟频率比采样频率高很多的话,就可以用串行的方法来做,这样的话需要很高的时钟频率,但是省资源(乘法器和加法器),如果你没有很高的时钟,只能串行做,这种方法适用于时钟频率等于或者略大于时钟频率.
再问: 现在我的数据是10位的,具体用几阶的FIR还没确定(关于阶数一般怎么确定啊,我看fdatool里有这个参数设置,一种是自己确定,一种自动生成最低阶数)。 还有就是我补充的问题,FIR的时钟频率和采样频率Fs是否有关啊?
再答: 10位的数据可能误差比较大,但是应该可以,我们做的IIR是数据32位,系数是26位。 阶数的确定我遇到过两种方法:1、根据你的设计要求确定,有的要求里面明确提出了要用几阶的,仔细看一下spec,说不定有说明.2、如果没有的话,就要根据你需要得到的信噪比来决定了,可以选择自动生成最低阶数,然后填入你的信噪比,就是阻带通带衰减值填一下,根据自己的要求填,让工具算出你的阶数,然后把算出的系数转化成二进制就行了。 补充的问题我回答过了,看回复要仔细点。
用FPGA如何实现fir滤波器的设计
关于数字信号处理中FIR滤波器的设计的问题
我是电子的,请问基于FPGA的FIR滤波器的设计的大体思路如何?
FFT和FIR滤波器是什么关系呢?FFT是实现FIR滤波器的一种,这种说法行不?
DSP实验:FIR滤波器的设计与实现,用matlab语言实现
在设计FIR滤波器时遇到点问题,
请教一下matlab的fir滤波器设计,已知频率响应的表达式,要如何编写代码设计滤波器呢?
如何确定FIR滤波器的阶数
基于matlab 的fir滤波器程序
IIR与FIR滤波器的异同
简述iir,fir滤波器的优缺点
fir滤波器原理谁会编辑fir滤波器的程序?或者告诉我哪里有也可以