diff options
author | priyanka | 2015-06-24 15:03:17 +0530 |
---|---|---|
committer | priyanka | 2015-06-24 15:03:17 +0530 |
commit | b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch) | |
tree | ab291cffc65280e58ac82470ba63fbcca7805165 /758/CH6/EX6.34 | |
download | Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.gz Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.bz2 Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.zip |
initial commit / add all books
Diffstat (limited to '758/CH6/EX6.34')
-rwxr-xr-x | 758/CH6/EX6.34/Ex_6_34.sce | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/758/CH6/EX6.34/Ex_6_34.sce b/758/CH6/EX6.34/Ex_6_34.sce new file mode 100755 index 000000000..c89d456e7 --- /dev/null +++ b/758/CH6/EX6.34/Ex_6_34.sce @@ -0,0 +1,27 @@ +//Example 6.34
+
+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=[x x(1:K*N-xl)];
+H=fft(h);
+y=zeros(1,M-1);
+for k=0:K-1
+ xk=[x(k*N+1:(k+1)*N) zeros(1,M-1)];
+ Xk=fft(xk);
+ Yk=H.*Xk;
+ yk=ifft(Yk);
+ yk=clean(yk);
+ y=[y(1:k*N) y(k*N+1:k*N+M-1)+yk(1:M-1) yk(M:L)];
+ disp(k+1,'Segment =');
+ disp(xk,'xk(n)=');
+ disp(yk,'yk(n)=');
+end
+y=y(1:xl+M-1);
+disp(y,'Output Sequence is y(n): ');
|