我有以下代码,有人告诉我这是一个低通巴特沃斯滤波器。我如何为此得出频率响应和相位?我只有模拟电子方面的经验,因此无法将其与真实的滤波器响应联系起来。我不确定为什么所有内容都按比例放大 2^16 - 这一定与在计算过程中保持足够的分辨率有关?
#define FILTER_TC(FC, FS) ((411775 * FC) / FS)'
其中TC = (2^16) * 2pi * Fc * Fs,Fc截止频率以 Hz 为单位,Fs采样频率以 Hz 为单位。
#define FILTER_LP(FILTER_OUT, FILTER_IN, FC, FS) \
(FILTER_OUT += ((signed long)FILTER_TC(FC, FS) * \
((signed long)FILTER_IN - (signed long)(FILTER_OUT)) >> 16)'
感谢您对此的任何帮助。
jmv
