I am involved in designing a 10th order high pass filter with cutoff frequency 300Hz.
My hardware AIC3204 has a 5 biquads of direct form I, 24bit coefficient so I have chosen the FDA (filter design and anylysis) tool of MATLAB to design a 10th order filter and convert it to SOS sections 5 such and realize coefficients from it.
This is my procedure:
and realization of direct form I
Coefficients obtained as a file:
%
% Generated by MATLAB(R) 7.12 and the Signal Processing Toolbox 6.15.
%
% Generated on: 05-Aug-2013 15:26:23
%
% Coefficient Format: Hexadecimal
% Discrete-Time IIR Filter (real)
% -------------------------------
% Filter Structure : Direct-Form I, Second-Order Sections
% Number of Sections : 5
% Stable : Yes
% Linear Phase : No
% Arithmetic : fixed
% Numerator : s24,22 -> [-2 2)
% Denominator : s24,22 -> [-2 2)
% Scale Values : s24,23 -> [-1 1)
% Input : s16,15 -> [-1 1)
% Output : s16,11 -> [-16 16)
% Numerator State : s16,15 -> [-1 1)
% Denominator State : s16,15 -> [-1 1)
% Numerator Prod : s40,37 -> [-4 4)
% Denominator Prod : s40,37 -> [-4 4)
% Numerator Accum : s40,35 -> [-16 16)
% Denominator Accum : s40,35 -> [-16 16)
% Round Mode : convergent
% Overflow Mode : wrap
% Cast Before Sum : true
SOS matrix:
400000 000000 c00000 400000 7ab444 3b9018
400000 000000 c00000 400000 8bd4b8 377a90
400000 000000 c00000 400000 7404d3 34d7f8
400000 000000 c00000 400000 976d93 2b9955
400000 000000 c00000 400000 067eae d364fd
Scale Values:
77c3b6
77c3b6
6f5fe0
6f5fe0
6c9b03
Is my approach correct?
How can these higher order SOS filters be realised?