# Resampling FIR coefficients

I have received from a client a 32-coefficient FIR filter running at 1 kHz. I would like to adapt the filter to a 24-coefficient FIR filter running at 750 Hz while preserving the 0-375 Hz frequency response as much as possible, especially the 0-30 Hz band. Is there a way to resample my FIR coefficients?

Edit :

The FIR has linear phase, is a low-pass filter, and also has zeroes at specific frequencies (multiples of 60 Hz)

• Can you say a bit more about the filter? Does it have linear phase? What about its magnitude response? I ask because it might be easier to actually re-design it than to resample it. – Matt L. Jul 30 at 14:44
• Linear phase and zeroes at specific frequencies. – Ben Jul 30 at 15:05

As mentioned in a comment, I would probably try to re-design the filter at the new sampling rate. Take equidistant samples of the magnitude of the existing filter between DC and the new Nyquist frequency as a desired response. Since you want to make sure that the new filter has zeros at integer multiples of $$60$$ Hertz, split your new filter response into two parts:

$$H(z)=P(z)G(z)\tag{1}$$

where $$P(z)$$ is a polynomial with zeros at integer multiples of $$60$$ Hz. Your desired magnitude is then defined by equidistant samples of

$$M_D(e^{j\omega})=\left|\frac{H_D(e^{j\omega})}{P(e^{j\omega})}\right|\tag{2}$$

where $$H_D(z)$$ is the transfer function of the original filter. In your frequency grid, avoid frequencies at which the zeros of $$P(z)$$ occur. Of course, those zeros are cancelled by the zeros of $$H_D(z)$$, but you might nevertheless have some numerical problems otherwise.

Now you find a linear phase transfer function $$G(z)$$ approximating $$M_D(e^{j\omega})$$ on the unit circle, and your final filter transfer function is given by Eq. $$(1)$$.

I would use a weighted least squares approximation, which just requires the solution of a system of linear equations. If the range between DC and $$30$$ Hz is especially important, you can assign those frequencies a higher weight, such that the approximation is better in that range (at the cost of the approximation outside that range).