You are on page 1of 2

x(t) = xe(t) + xo(t)

x[n] = xe[n] + xo[n]

where:
xe(t) = 1(x(t)+ x(—t)) even part of x(t)
xo(t) = (x(t) — x( t)) - odd part of x(t)
xe[n] = 1(x[n] + x[—n]) even part of x[n]
xe[n] = Ifx[n] — x[—n]} odd part of x[n]

In Matlab
In Editor

function [xe,xo,m] = evenodd(x,n)


% Real signal decomposition into even and odd parts

Vo[xe,xo,m] = evenodd(x,n)

if a ny(imag(x) —= 0)
error ('x is not a real sequence')
end
m = -fliplr(n);
ml = min([m,n1); m2 = max([m,n]); m = ml:m2;
nm = n(1) - m(1); n1= 1:length(n);
xl = zeros(1,length(m)); xl(nl+nm) = x; x = xl;
xe = 0.5*(x + fliplr(x));

In Command Window

» n=[1:4];
» x=[1 2 3 4];
» rxe,xo,nThevenodd(x,n);
» subplot(2,1,1)
» stem(xe)
» subplot(2,1,2)
» stem(xo)

» xe+xo
Adding the even and odd parts x[n] = xe[n] + xe[n]

You might also like