📄 inversefilter.m
字号:
function p = inverseFilter(s,r,gamma,d);
%
% p = inverseFilter(y,h,gamma,d);
%
% Generalized inverse filtering using threshold gamma:
%
% inv_g(R) = gamma*abs(fft(r))/fft(r), if abs(fft(r)) <= 1/gamma
% inv_g(R) = inv(R), otherwise
%
% Reference: J.S.Lim,"Two dimensional signal and image processing",
% Prentice Hall, 1990- pg.552 Eq.(9.50)
%
%d is a vector of the form d(m)= exp(-i*w*m) that takes care of the delay
%that the linear phase inverse filter causes in th etime domain
N= length(s);
S = fft(s);
R = fft(r);
% handle singular case (zero case)
R1 = R.*(abs(R)>0)+1/gamma.*(abs(R)==0);
iR = 1./R1;
%
% invert Hf using threshold gamma
G = iR.*(abs(R)*gamma>1)+gamma*abs(R1).*iR.*(abs(R1)*gamma<=1);
p = real(ifft(S.*G.*d));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -