Polyphase filter

28 views (last 30 days)
i Venky
i Venky on 26 Oct 2011
I have been reading about this since yesterday and I couldn't come to any conclusion. I need your help.
Consider a signal x. When we upsample it we interpolate zeros between the non-zero values in the signal x. Now when you pass this through a low pass filter we remove the images (or alias). Okay what would we get in the time domain?
What would be the output of the polyphase filter (when it is used for interpolating)?
Thanks in advance.

Answers (3)

Wayne King
Wayne King on 26 Oct 2011
There is no single interpolation filter. You can design different interpolators with different results. The simplest case is a constant interpolator.
x = randn(16,1);
y = upsample(x,2);
h = [1 1]; % constant interpolator impulse response
y1 = filter(h,1,y);
Note that every two samples in y1 are the same, y1(1:2) are the same, y1(3:4) are the same on so on. This is probably not desirable, which leads people to design other interpolators.
  3 Comments
i Venky
i Venky on 26 Oct 2011
The filter should remove the images too.
Wayne King
Wayne King on 26 Oct 2011
h =[1 1] is a lowpass filter. The transfer function is
H(e^{j\omega}) = 2e^{-j\omega/2}cos(\omega/2)
You cannot realize an ideal lowpass filter

Sign in to comment.


Honglei Chen
Honglei Chen on 26 Oct 2011
The idea of polyphase filter is to avoid unnecessary computations by performing the computation at the lowest data rate possible.
For example, if you do upsample by 2 first and then perform the filtering, as the text says, every other sample is 0, so that computation is wasted. Therefore, if we can switch the order of upsampling and filtering, then the filter can be run at half data rate, which translates to lower cost, and there is no waste of multiplying by 0.
A quick search reveals the following slides and I think the figures in there should be helpful for you to understand what's going on.
HTH
  1 Comment
i Venky
i Venky on 27 Oct 2011
Hello chen. I have only one doubt. What should be the output after coming out of the polyphase filter in the time domain(not in the frequency domain)? Will the output have any zeros in it?

Sign in to comment.


Honglei Chen
Honglei Chen on 27 Oct 2011
The output is determined by both input and the filter coefficients, so we don't have control for that, if it is a 0, it is a 0. I guess your question is really whether there is wasted samples at the output of the polyphase filter and the answer to that is no, and that is they beauty of polyphase filter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!