FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP

FIR II bit growth

Altera_Forum
Honored Contributor II
1,265 Views

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
Altera_Forum
Honored Contributor II
305 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
Altera_Forum
Honored Contributor II
305 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
Altera_Forum
Honored Contributor II
305 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
Altera_Forum
Honored Contributor II
305 Views

Thanks a lot!

0 Kudos
Reply