Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
964 Views

FIR II bit growth

Good afternoon, 

 

Can I please ask if there is any formula connecting the FIR II filter's performance and bit widths (especially coefficient width). 

 

To be more precise I would like to short out (reduce) the output width that as far as I understand is determined by:input width+coefficient width+ log2(coefficient number). 

 

I would like that as short as possible,is there any way to relate the attenuation achieved with the coefficient bit width? 

 

Bear in mind that I simply import floating point coefficients, fixed point would increase the outoput size dramatically. 

 

Thanks in advance, 

 

G
0 Kudos
4 Replies
Highlighted
Valued Contributor III
4 Views

 

--- Quote Start ---  

Good afternoon, 

 

Can I please ask if there is any formula connecting the FIR II filter's performance and bit widths (especially coefficient width). 

 

To be more precise I would like to short out (reduce) the output width that as far as I understand is determined by:input width+coefficient width+ log2(coefficient number). 

 

I would like that as short as possible,is there any way to relate the attenuation achieved with the coefficient bit width? 

 

Bear in mind that I simply import floating point coefficients, fixed point would increase the outoput size dramatically. 

 

Thanks in advance, 

 

--- Quote End ---  

 

 

for coeffs: 

convert coeffs to fixed point e.g. 

coeffs = round(coeffs*2^15)/2^15; 

then plot freqz(coeffs); 

 

you should be able to see response and measure it. 

 

for coeffs and signal: 

use above scaled coeffs on fixec point input (x): 

y = filter(coeffs,1,x);  

 

f = fft(y); 

plot(20*log10(abs(f)));
0 Kudos
Highlighted
Valued Contributor III
4 Views

Kaz, 

 

Thank you very much for your reply, 

 

It is very helpful explaining how the conversion works but unfortunately is not what I am after. 

 

I would like to know if there is any formula (mathematical relation) between output performance and bit growth. 

 

Best Regards 

George
0 Kudos
Highlighted
Valued Contributor III
4 Views

 

--- Quote Start ---  

Kaz, 

 

Thank you very much for your reply, 

 

It is very helpful explaining how the conversion works but unfortunately is not what I am after. 

 

I would like to know if there is any formula (mathematical relation) between output performance and bit growth. 

 

Best Regards 

George 

--- Quote End ---  

 

 

I never heard of any formula for that. But my previous post tests that directly. 

In practice we have to truncate signals to same width as input (usually). You choose your final ADC or DAC bitwidth and study accordingly. 

There are formulas for SNR of quantisation noise at ADC/DAC which basically states that SNR = 6*bitwidth in dBs for a clean tone.
0 Kudos
Highlighted
Valued Contributor III
4 Views

Thanks a lot!

0 Kudos