# 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! Commented Jul 17, 2018 at 9:52
• OK, thank you so much .. I'm sorry because I don't know that is totally unrelated Commented Jul 17, 2018 at 9:56

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. Commented Jul 17, 2018 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. Commented Jul 17, 2018 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. Commented Jul 17, 2018 at 11:32
• Yes, got it. When I understood the concept, I discovered that is very basic of MATLAB ... Thanks again Commented Jul 17, 2018 at 13:16