View Single Post
  #5 (permalink)  
Old 10-21-2008, 06:39 PM
baeksan
Guest
 
Posts: n/a
Default Re: Sample rate conversion, Multistage and polyphase?

Thanks for the reply. I will try out 4 stages and see if it improves.
have a decent understanding about the design of the lowpass filter's fo
each cascade, I'm referencing Crochiere and Rabiner for this. I guess
just need to analyze the cascade structure more in depth to actually writ
the c code for implementation. Theory vs actual implementation seems to b
a whole different ball game. If you can share the c code, that would b
great. Or just some pseudo code would be very helpful, esp for th
cascaded stages.

Thanks

>I think a three or four stage approach would be your best bet for a
>44.1 to 48 conversion. Euclid's method reduces this to 160:147
>(reversed order to state as interpolation/decimation ratio) as you
>already know. And then prime factoring these gives (2*2*2*2*2*5):
>(3*7*7). So you could try (3:2),(7:4),(7:4), and finally (1/5) for a
>possible set of interpolation/decimation ratios. Hopefully you are
>only trying to keep something like 0-20kHz and not get close to
>22.05kHz.
>
>Also when you design your filter (only one for each interpolator/
>decimator stage), you know that the filter isn't designed as a strict
>lowpass filter. The folding over of the spectra creates don't care
>regions. So by not forcing your lowpass filter to specifically stop
>everything above a certain frequency but rather have it just stop
>certain bands (ones that map on top of the desired passband) above a
>critical frequency, will allow your filter to have fewer taps and
>therefore save resources.
>
>Also The cascade structure basically has you call the output put stage
>which in turn calls the stage before it as necessary to feed it. The
>input stage will request input data from the source as needed. As I
>stated before I've used this approach quite sucessfully for converting
>various rates common in computer audio.
>
>The motivation behind the factoring of the ratios into ones with small
>prime numbers is high interpolation and decimation ratios force sharp
>transitions in the interpolation filter's response which makes for
>very long (high numberof taps) filters. So the primes allow you to use
>the lowest possible ratios.
>
>IHTH,
>
>Clay
>
>
>p.s. Maybe I need to write a paper giving the details of this approach
>along with c code actually implementing it. I already have the code
>written.
>
>
>
>
>
>
>

Reply With Quote