From: Vladimir Vassilevsky on 7 Jun 2010 20:52 Jerry Avins wrote: > On 6/7/2010 8:18 AM, PaulTapper wrote: > >> Hi, >> >> Is there a standard way of converting an IIR filter to a different sample >> rate? >> >> What I mean by this is, if I have an IIR filter F0 with a particular >> frequency response at sample rate S0, and I want to create a filter F1 to >> give, as near as possible, the same frequency response, at a different >> sample rate S1, is there a standard way of calculating the >> coefficients of >> F1 from F0? >> >> My initial thoughts are that maybe I can find the zeroes and poles, and >> then rotate them around the unit circle or something, but I suspect there >> may be a standard solution to this problem? > > > Why not design a new filter to the original response specs? Even if > there were a simple transformation, the prewarping would be wrong. The problem stated by OP is quite common. Of course, it is possible to design a filter to a new sample rate from scratch. However this implies pretty extensive floating point math with libraries which could be too heavy for the target hardware. If this is a case, I prefer interpolation between the sets of coefficients. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
From: pnachtwey on 7 Jun 2010 21:57 On Jun 7, 5:18 am, "PaulTapper" <paul__tapper(a)n_o_s_p_a_m.hotmail.com> wrote: > Hi, > > Is there a standard way of converting an IIR filter to a different sample > rate? > > What I mean by this is, if I have an IIR filter F0 with a particular > frequency response at sample rate S0, and I want to create a filter F1 to > give, as near as possible, the same frequency response, at a different > sample rate S1, is there a standard way of calculating the coefficients of > F1 from F0? > > My initial thoughts are that maybe I can find the zeroes and poles, and > then rotate them around the unit circle or something, but I suspect there > may be a standard solution to this problem? > > Thanks for any help. > > Paul I just posted a similar question http://groups.google.com/group/comp.dsp/browse_frm/thread/9eee0eb0c9ca6e82# I am not able to work on the solution now but I will next week. I tried use an inverse Tustin's to s domain and then Tustin's to z domain but that was not very accurate. It was accurate to about 3 decimal places. The Tustin's approximation also introduced zeros that weren't there before. Not good. I also have an offset that you may not have. When I am able I will look into using the inverse matched z transforms and match z transforms. This problem seems to have stump this news group. How many terms do you have in your IIR filter? I may be able to help with something simple but at this time I don't have a general solution. There may not be a general solution. I do know I can wok out a solution for a specific case given time using the same techniques I used for the simple first order IIR in my pdf files. Peter Nachtwey
From: Jerry Avins on 7 Jun 2010 22:04 On 6/7/2010 8:52 PM, Vladimir Vassilevsky wrote: > > > Jerry Avins wrote: >> On 6/7/2010 8:18 AM, PaulTapper wrote: >> >>> Hi, >>> >>> Is there a standard way of converting an IIR filter to a different >>> sample >>> rate? >>> >>> What I mean by this is, if I have an IIR filter F0 with a particular >>> frequency response at sample rate S0, and I want to create a filter >>> F1 to >>> give, as near as possible, the same frequency response, at a different >>> sample rate S1, is there a standard way of calculating the >>> coefficients of >>> F1 from F0? >>> >>> My initial thoughts are that maybe I can find the zeroes and poles, and >>> then rotate them around the unit circle or something, but I suspect >>> there >>> may be a standard solution to this problem? >> >> >> Why not design a new filter to the original response specs? Even if >> there were a simple transformation, the prewarping would be wrong. > > The problem stated by OP is quite common. Of course, it is possible to > design a filter to a new sample rate from scratch. However this implies > pretty extensive floating point math with libraries which could be too > heavy for the target hardware. If this is a case, I prefer interpolation > between the sets of coefficients. Had the OP written that he needs to design his filter on target hardware, the suggestions would have been different. A program's needing to adapt to a new sample rate it couldn't anticipate must be rather rare. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
From: Tim Wescott on 7 Jun 2010 23:27 On 06/07/2010 06:57 PM, pnachtwey wrote: > On Jun 7, 5:18 am, "PaulTapper"<paul__tapper(a)n_o_s_p_a_m.hotmail.com> > wrote: >> Hi, >> >> Is there a standard way of converting an IIR filter to a different sample >> rate? >> >> What I mean by this is, if I have an IIR filter F0 with a particular >> frequency response at sample rate S0, and I want to create a filter F1 to >> give, as near as possible, the same frequency response, at a different >> sample rate S1, is there a standard way of calculating the coefficients of >> F1 from F0? >> >> My initial thoughts are that maybe I can find the zeroes and poles, and >> then rotate them around the unit circle or something, but I suspect there >> may be a standard solution to this problem? >> >> Thanks for any help. >> >> Paul > I just posted a similar question > http://groups.google.com/group/comp.dsp/browse_frm/thread/9eee0eb0c9ca6e82# > I am not able to work on the solution now but I will next week. I > tried use an inverse Tustin's to s domain and then Tustin's to z > domain but that was not very accurate. It was accurate to about 3 > decimal places. The Tustin's approximation also introduced zeros that > weren't there before. Not good. I also have an offset that you may > not have. When I am able I will look into using the inverse matched z > transforms and match z transforms. This problem seems to have stump > this news group. > > How many terms do you have in your IIR filter? I may be able to help > with something simple but at this time I don't have a general > solution. There may not be a general solution. I do know I can wok > out a solution for a specific case given time using the same > techniques I used for the simple first order IIR in my pdf files. Well, I wouldn't say that I'm stumped per se, just that I don't have the information at my fingertips and -- much as I think you're a cool guy -- I'm not willing to work it all out for free. I think it's a very solvable problem, however. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
From: Mikolaj on 8 Jun 2010 02:03 On 08-06-2010 at 02:52:13 Vladimir Vassilevsky <nospam(a)nowhere.com> wrote: > The problem stated by OP is quite common. Of course, it is possible to > design a filter to a new sample rate from scratch. However this implies > pretty extensive floating point math with libraries which could be too > heavy for the target hardware. If this is a case, I prefer interpolation > between the sets of coefficients. > > > Vladimir Vassilevsky > DSP and Mixed Signal Design Consultant > http://www.abvolt.com Entry: resampling. Am I right? -- Mikolaj
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 5 Prev: please DSP simple FPGA example Next: implementing MUSIC/Pisarenko algorithm in Matlab |