Hye all,I'm implementing a 127-taps FIR for baseband shaping. I'm using the FIRII compiler for it. I noticed that in the 'old' FIR compiler you had the option to scale the coefficients automatically with a power of 2. In FIRII there is only one scaling: Y = ((2^bits-1)/max(|coefvalue|))X I like to use the FIRII because of the coefficient reload interface it generates, but I also like either no scaling or scaling by power of two, so at the output I can easily compensate for gain. Any idea if this is possible with FIRII and how? Thanks! Grtz, Olaf
It is really important:1) scaling, when coefficients reload ; 2)I make Hilbert transformer for envelope detection: real part - as shift register, image part - as bandpass filter (FIR II 10.1). Both parts must have equal scale, but FIR II don't asks me!:cry:
To get dc unity gain, you scale your coeffs as follows:coeff = round(2^n/sum(coeffs)); in your case, you easily work around by rescaling your normalised coeffs so that your max coeff = sum of coeffs. what remains is the difference of 2^n & 2^n - 1 which is trivial.