--- Quote Start ---
Thank you for reply, I understood "I should reduce taps, and reduce bit-growth", "I should edit coefficients, and reduce sun(abs(h[n]))", and so on.
--- Quote End ---
No, that is not how you should think of the problem.
You need to first define what your signal is, eg., 8-bits from an analog-to-digital converter, and then define what your filtering requirements are, i.e., the pass-band ripple, stop-band rejection, and the transition bandwidth. Those parameters define your filter, which in turn defines the coefficients. At that point you know what the bit-growth will be. If the "answer" you get cannot be implemented, eg., you find that you cannot fit your filter into your FPGA, then you have to change your requirements and design a new filter.
--- Quote Start ---
Excuse me, may I addition question?
If I designed to maximize the dynamic range, how to calucurate gain?
I think that input.txt and output.txt is voltage.
example
input bits : 8bit
input data : 100 ~ -100
bit-growth : 6.6 (log2(100))
output bits : 15bit
output data at one point : 25500 (sum of 100 0xFF values)
The following calculations correct?
Gain = 10 log (Vin / Vout)^2 = 10 log (100 / 25500)^2 = 48dB
It seems to be amplified.
or
I should convert out put max range into input data range (100 ~ -100) by user logic?
--- Quote End ---
Provide a specific set of filtering requirements, and I'll try to help walk you through a couple of design options. The "gain" of the filter will then be easier to understand.
Your description above is insufficient;
1. LPF
2. cut off frequency : 1.25MHz
3. input 8bit
4. ADC sampling frequency ???
5. Pass-band ripple requirement
6. Stop-band rejection requirement
Keep in mind that an FPGA can operate at 100MHz, so filtering the data to 1.25MHz results in a signal that is very "slow" compared to the clock rate of the FPGA. This fact can be exploited to reuse the FPGA hardware.
Cheers,
Dave