summaryrefslogtreecommitdiff
path: root/macros/latcfilt1.sci
diff options
context:
space:
mode:
authorshamikam2017-11-07 15:59:48 +0530
committershamikam2017-11-07 15:59:48 +0530
commitc0c0582462720ed597b00e116506570577614e89 (patch)
tree31dedd23698e5357b19c810b7d7a8464100ef44a /macros/latcfilt1.sci
downloadFOSSEE-Signal-Processing-Toolbox-c0c0582462720ed597b00e116506570577614e89.tar.gz
FOSSEE-Signal-Processing-Toolbox-c0c0582462720ed597b00e116506570577614e89.tar.bz2
FOSSEE-Signal-Processing-Toolbox-c0c0582462720ed597b00e116506570577614e89.zip
initial commit
Diffstat (limited to 'macros/latcfilt1.sci')
-rw-r--r--macros/latcfilt1.sci28
1 files changed, 28 insertions, 0 deletions
diff --git a/macros/latcfilt1.sci b/macros/latcfilt1.sci
new file mode 100644
index 0000000..194ec76
--- /dev/null
+++ b/macros/latcfilt1.sci
@@ -0,0 +1,28 @@
+//Author: Parthasarathi Panda
+//parthasarathipanda314@gmail.com
+//the function is for application on vectors only
+function [f,g,zo]=latcfilt1(k,v,x,zi)
+ N=length(k);
+ gv=zi;
+ //gv[n+1]=Agv[n]+Bfv[n]
+ //fv[n]=-Cgv[n]+Dx[n]
+ //computing A,B,C and D as required by the system
+ C=[];
+ for i=[1:N]
+ C=[C;[zeros(1,N-i),(k(i:N))']]
+ end
+ A=[zeros(1,N);[eye(N-1,N-1),zeros(N-1,1)]];
+ B=[1,zeros(1,N-1);diag(k(1:(N-1))),zeros(N-1,1)];
+ D=ones(N,1);
+ l=length(x);
+ g=[];
+ f=[];
+ //iterating through the input entry
+ for i=[1:l]
+ fv=D*x(i)-C*gv;
+ gv=A*gv+B*fv;
+ g=[g;gv(N)+k(N)*fv(N)];
+ f=[f;v(N+1)*g(i)+(v(1:N))'*gv];
+ end
+ zo=gv;
+endfunction