- added
git-svn-id: http://moon:8086/svn/matlab/trunk@153 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
Executable
+30
@@ -0,0 +1,30 @@
|
||||
function [y, gain] = cic_filter(R, M, N, x)
|
||||
% [y, gain] = cic_filter(R, M, N, x)
|
||||
|
||||
a_i = [1 -1];
|
||||
b_i = 1;
|
||||
|
||||
a_c = 1;
|
||||
b_c = [1 zeros(1, M-1) -1];
|
||||
|
||||
gain = (M*R)^N
|
||||
k_i = 1/(M*R);
|
||||
|
||||
i_out = x;
|
||||
|
||||
% Integrator
|
||||
for i=1:N,
|
||||
i_out = k_i*filter(b_i, a_i, i_out);
|
||||
end;
|
||||
|
||||
% Decimate
|
||||
c_out = i_out(R:R:length(i_out));
|
||||
|
||||
% Comb
|
||||
for i=1:N,
|
||||
c_out = filter(b_c, a_c, c_out);
|
||||
end;
|
||||
|
||||
|
||||
y = c_out;
|
||||
|
||||
Reference in New Issue
Block a user