我们的任务是实现滤波器(数字高通IIR滤波器)以降低500 Hz以下的频率并允许更高的频率。 使用sptool和椭圆函数我们构造了以下
% Sampling Rate (Hz)
Fs = 46875;
% High-pass filter
N = 4; % Filter Order
Wn = 500/(46875/2); % Cutoff Frequency in terms of Passband / Nyquist frequency ratio
Rp = 0.5; % Passband ripple specification
Rs = 20; % Stopband attenuation
[Num,Den] = ellip(N,Rp,Rs,Wn,'high');
secondOrderSection = tf2sos(Num,Den)./2
然后我们使用L1规范计算了比例因子: 我们需要在16位atmel微控制器(AC3U3 Xplained)上实现这一点,因此必须以Q_0.15形式计算比例因子
% FIRST SECTION
firstScaleFactor = 1/(sum(abs(impz(1,secondOrderSection(1,4:6)))))
sf1_2_Q = round(firstScaleFactor*(2^15))
% SECOND SECTION
secondScaleFactor = 1/(sum(abs(impz(1,secondOrderSection(2,4:6)))))
sf2_2_Q = round(secondScaleFactor*(2^15))
问题:我们的比例因子似乎有点低,第一比例因子是77,第二比例是14。 我们的计算中有错误吗?