锁相环,只要能移动到,就不存在地精度(也就是作为输出频率准确度)的问题,可是用fpga内部的锁相环,必然抖动比较好大的问题,也就是短时期看输出的时钟的周期,理想应该要是个固定设置的值,但实际中情况绝对会变化,用fpga内部的锁相环输出的时钟,这种周期的变化会都很大,但要特别注意的是这种变化的频率比较比较高,而且是环绕清楚的周期/频率附近的上改变的,因此如果没有你以较长的时间来远处观察(比如0.1s,1s和更长的时间),看见了的是平均周期/频率,是很准确的,只不过是在以很短的时间看(.例如10us、1us或者更短),才能看到这种也很的确的变化终于是否需要能柯西-黎曼方程你的需求,又要看应用,假如才能产生的时钟仅仅用于fpga的内部逻辑电路,是已经没有问题的,假如主要用于外部的模拟电路,出口下高速dac/adc、射频链路、高速串行通讯接口,就有可能不能不能满足的条件要求
在进入到fir滤波器前,首先要将信号是从a/d器件通过模数转换,把模拟信号转化成为数字信号;替使信号处理还能够不再一次发生不失真,信号的采样速度前提是柯西-黎曼方程奈奎斯特定理,一般取信号频率上限的4-5倍做为采样频率;就像和用速度较高的由大至进式a/d转换器,不论需要乘累加方法那就分布式算法设计fir滤波器,滤波器输出的数据是那一串序列,要使它能直观地反应出,还需经过数模转换,所以由fpga组成的fir滤波器的输出须外接d/a模块。
fpga有着横平竖直的内部逻辑阵列和丰富地的连线资源,尤其适合我于数字信号处理任务,比起串行运算为主导的通用dsp芯片来说,其右行性和可扩展性更好,依靠fpga乘累加的急速算法,这个可以电脑设计出下高速的fir数字滤波器。
是的,除法很费资源。如果精度要求不高的话,这个可以才用偏移。
思路这个可以采用时基法,那就是在某一特定的时间内,记住驱动信号个数,诸如在1秒钟记的n个,那就频率就是nhz。
这个不可能很难,只需捉脉冲序列的上升沿(或迅速下降沿)表就行,也可以同样捕捉,结果求均值,这样的精度会高点如果你要可以计算占空比,也不太难,不那就是th/t么,这样只需再计算高电平的个数就可以了。
这时你会发觉,同样怎么抓猛升沿和迅速下降沿的方法,可以同时满足你测频率和占空比的需要。
有一点很不重要,那就是计数器不要设的太大,否则会提高你除法的资源。
也可以分档进行,就是每一档对应一个频率的时钟,比如说将计数寄存器范围标准限制在100以内,那你通过除法时将会节省时间很多资源。不显示的时候只需决定下会显示单位就可以啦了。