![]() ![]() |
Audio Asylum Thread Printer Get a view of an entire thread on one page |
For Sale Ads |
68.163.146.96
In Reply to: Asynchronous Sample Rate Conversion..... posted by Todd Krieger on May 12, 2006 at 21:31:34:
because rational fraction sample rate conversion is likely used and it is a completely synchronous process – the only “lost” information is the unavoidable bandwidth limiting lowpass filtering required to meet the Nyquist limit of the 44.1K output streamlogically you:
"upsample" and zero stuff 96K 147x
filter and decimate by 1/320 to 44.1K
but,
since you don't have to multiply out the "0" entries in the "upsampled" data in the filter and you only need to evaluate the filter for each output sample the actual fir bandlimiting/image reject filtering you need anyway doesn't cost much more except for fancy indexing
![]()
Follow Ups:
The "320/147" ratio was brought up by the late Julian Dunn of Prism Sound, which would indeed make this a "synchronous" conversion. The problem is I've yet to see the a 16/44 to 24/96 conversion actually implemented this way.....I don't know where the term "zero stuffing" came from.... The upsampled signal is not "zero stuffed", but calculated using a mathematical process called "convolution," where a set of coefficients representing the "Fourier transform" (within a truncated time period or "window") of the brickwall filter function is first multiplied with the a set of corresponding values from the raw signal at a specific time, and then added together, to provide the "interpolated" sample value.
![]()
Consider.If I do f&y (& meaning convolution), f a filter, y the signal in the time domain...
If I then calculate F (fourier transform of the filter) and Y (fourier transform of the signal), then F*Y is the exact dual of f&y.
(* being point by point multiply, complex)If I then do IFFT(F*Y), I get exactly f&y. You need some guard band to prevent wraparound, but that's easy to calculate.
but software to do synchronous conversion certainly existshttp://www.soundslogical.com/support/resample/documentation/english/documentparts/resamplehelp-30.html
cruise the site, matlab files, textbook references
http://www.analog.com/UploadedFiles/Application_Notes/154260303EE183Rev5.pdf
just from the first few hits from
google: 320 147 sample rate conversion software
The polyphase filter implementations can be thought of as the “fancy indexing” I referred to previously
I have designed/implemented fir filters using polyphase concepts to deskew/time align data from a multiplexed multichannel adc system, so I am familiar with those big word too
![]()
This post is made possible by the generous support of people like you and our sponsors: