📄 cicinterpolator.m
字号:
%-------cic interpolation filter
%-------time :2007-12-06
%-------name : Wanyiping
%R ratio change factor
%M delay order of comb filter
%N cascade stages num.
function data_out=cicinterpolator(data,R,M,N);
data_len=max(size(data));
for i=1:M
ds(i,1)=data(i);
end
for i=M+1:data_len
ds(i,1)=data(i)-data(i-M);
end
if N>1
for j=2:N
for k=1:M
ds(k,j)=ds(k,j-1);
end
for i=M+1:data_len
ds(i,j)=ds(i,j-1)-ds(i-M,j-1);
end
end
end
for i=1:data_len
data_comb(i)=ds(i,N);
end
up_data=zeros(1,length(data_comb)*R);
for m=1:length(data_comb)
up_data(1,m*R-1) = data_comb(m);
end
up_data_len=max(size(up_data));
s(1,1)=up_data(1);
for i=2:up_data_len
s(i,1)=up_data(i)+s(i-1,1);
end
if N>1
for j=2:N
s(1,j)=s(1,j-1);
for i=2:up_data_len
s(i,j)=s(i,j-1)+s(i-1,j);
end
end
end
data_out = s(:,N);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -