当然不是,之前的程序只是完成了原理性的仿真。实际环境和这个差别老大了哦。比如没有加入噪声。噪声是时刻存在的,而程序里面没有噪声。为什么?学习是循序渐进的过程,这是为了方便学生们学习,后续会慢慢将程序实用化!再比如实际中使用的滤波器阶数是根据指标而定的,程序里面也没有涉及这个过程,而是直接定义了一个阶数。
这些问题都值得大家思考。
本次课我抛出了是关于滤波器延迟的问题。很多同学都会问这个问题。因此我觉得有必要讲一讲。
首先,同学们要搞清楚,天下没有绝对的实时,那只是理论上才会有的概念。
其次,滤波器的延迟时间怎么计算?
在程序里面,信号不是从第一个采样点就进入滤波器的,而是在滤波器阶数值后的第一个点进入滤波过程的。为什么这么写?
先看两张图。
前面那些点是怎么回事?
难道就是“传说”中的延时吗?
休息一下吧!
提问:
这两张图的差别在哪?
FIR有(N-1)/2个采样周期的群时延!
N为滤波器阶数且为奇数。
如果为偶数呢?
FIR有N/2个采样周期的群时延!
那么怎么会造成这个现象呢?
我提示一下。
当信号的第一个点进入滤波器,
滤波器会有什么输出呢?
这时候滤波器里面很多存储器还没有值呢?能反应出滤波的特性吗?当一半的存储器有了信号的值了,那么在进行完乘加及累加运算后才能反应出滤波的特性!所以,这就是滤波器为什么会有时延的原因!
还有哪些概念可以深究呢?程序中滤波器的系数都是浮点数,实际产品中用浮点还是定点呢?浮点运算和定点运算有什么差异呢?掌握原理,然后到企业去打磨,那么你在大学里面学的知识就能得到实用。
全部0条评论
快来发表一下你的评论吧 !