Help - Search - Members - Calendar
Full Version: Polyphase filter implementation
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
abhijit
Hi all,
I am currently working in mp3 compression project. In mp3 encoding as part of the initial step, 32 audio samples are taken and pushed into a 512 point buffer say "x". Then this x will be multiplied by 512 point "C" window. My doubt is regarding how the new 32 samples are pushed inside the 512 point x buffer.
I have implemented in such a way that the recent 32 samples are pushed to the 481-512 positions of x buffer while shifting the rest of samples to the left.
I got one C code for mp3 where it is implemented in such a way that the recent 32 samples are first pushed to position 1-32 in the reverse order. ie the first sample is pushed to position 32, next to 31 and so on. Then the next 32 samples are pushed to position 481-512. The very next 32 samples are pushed to position 449-480. So once after 16 such operations are completed the first 32 samples ie those in position 1-32 are overwritten. Here no shifting of the rest of the samples are performed. Only the shifting of the position of the sample fixed. The obtained x buffer is then multiplied with C buffer.
After i have seen this C code I have gone through one pdf where they are saying that the recent 32 samples are pushed to position 1-32 and the rest are pushed rightwards. Exactly opposite the way I have implemented.
So can anyone help me please to figure out which one is right? I am confused a lot because of this. Thanking in advance

Regards
Ranjith S
DualIP
Instead of a shift register, a circular buffer is used.
This does not require shifting all samples to correct position after adding some samples.
Addressing however is harder though: You need an extra pointer to keep track where the begin is located in the ring.

Better spend CPU cycles on calculations than shifting data
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.