I am guessing this is a commonly encountered problem, but I am lost on how to really solve it.
I have FIR filter coefficients that are used to match the frequency response of data sampled at 3 kHz. I have 12 coefficients, which I would like to implement as a filter for data being sampled at 48 kHz, but I understand, I can't directly do this.
So far, I've tried this (MATLAB):
- Find roots of the 12 order polynomial (which are the zeros).
- Find the magnitude and angle of the zeros.
- Scale the magnitude(m) and angle(phi) by a factor of 3 kHz / 48 kHz.
- Construct new zeros by multiplying m .* exp(phi);
- Find the polynomial whose roots are the new zeros using poly.
- Coefficients of the new polynomial are the new filter?
However, I am not sure how sound this logic really is, or if there's something wrong here entirely. I also think I'm losing a lot of information to resolution.
Any pointers on how to go about this would be really helpful!