How can I get the polyphase components of a signal

My question, What is the polyhase components of the signal? What does mean a polyphase component for a signal?

Is it true that example :

N = 100;
h = firls(N, [0 .2 .25 1], [1  1 0  0],[.001 .0001]);

% PolyPhase Componets
%First polypase component

for i=1:length(h),
h0(i)=h(i);
end

%% Second polyphase component

for i=1:length(h),
h1(i)=h(i)*exp((-j*2*pi*((i-1)))/4);
end

%% Third polyphase component:

for i=1:length(h),
h2(i)=h(i)*exp((-j*2*pi*(2*(i-1)))/4);
end

and so on ..


Thank you

• I removed the "digital-communications" tag, as it was totally unrelated. Please don't just randomly sprinkle tags on your questions, thanks! – Marcus Müller Jul 17 '18 at 9:52
• OK, thank you so much .. I'm sorry because I don't know that is totally unrelated – New_student Jul 17 '18 at 9:56

1 Answer

No, that's not right:

Your polyphase components need to be ... well, phases of your signal, and hence, only take every $N$th component. What you do is something different.

To say "these are polyphase components of $h$", you need to define how many components you'll have. You're mixing different $N$s in your code, but overall, your code is just confused – it never selects the $N$th input samples.

Hence, you'd need something like

\begin{align} p^4_0[n] &= h[4n]\\ p^4_1[n] &= h[4n+1]\\ p^4_2[n] &= h[4n+2]\\ p^4_3[n] &= h[4n+3] \end{align}

for a $N=4$-phase polyphase decomposition of $h$ (of a specific type; "type" specifies in which order you take the $+0$,$+1$, $+2…$ components and declare them as $p_0$, $p_1$ and so on).

Feels like you need a better text book to start with! In English, the classic would be fred harris' Multirate Signal Processing for Communication Systems. It does an introduction that I'd explain differently these days, but I've worked with such systems a bit, and my initial understanding was guided by that book, so I consider it relatively good.

• OK .. thank you so much dear, I will try to check that book of Multirate Signal Processing for Communication Systems and check if I can understand that well. – New_student Jul 17 '18 at 9:59
• Please Marcus, 1- do you have MATLAB example for that components you mentioned above? or guide me how to build an example like that in MATLAB. 2- By they way, I'm trying to check that book on-line but I didn't get it, do you have a link to download it, please. – New_student Jul 17 '18 at 10:15
• 1 - no, this is a basic Matlab programming problem (slicing with a fixed step size), and if you can't solve this: read the very basic tutorial that comes with Matlab, 2- no. – Marcus Müller Jul 17 '18 at 11:32
• Yes, got it. When I understood the concept, I discovered that is very basic of MATLAB ... Thanks again – New_student Jul 17 '18 at 13:16