summaryrefslogtreecommitdiff
path: root/758/CH6/EX6.35/Ex_6_35.sce
blob: 11e55b4a0a98301152cc5208c2b76dfd8bd0b656 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//Example 6.35

clc;clear;close;
h=[2 2 1];
x=[3 0 -2 0 2 1 0 -2 -1 0];
M=length(h);                //length of impulse response
L=2^M;              //length of FFT/IFFT operation
N=L-M+1;
xl=length(x);
K=ceil(xl/N);       //number of iterations
h=[h zeros(1,L-M)];
x=[zeros(1,M-1) x x(1:K*N-xl)];
H=fft(h);
for k=0:K-1
    xk=x(k*N+1:(k+1)*N+M-1);
    Xk=fft(xk);
    Yk=H.*Xk;
    yk=ifft(Yk);
    yk=clean(yk);
    y=[y(1:k*N) yk(M:L)];
    disp(k+1,'Segment =');
    disp(xk,'xk(n)=');
    disp(yk,'yk(n)=');
end
disp(y,'Output Sequence is y(n): ');