function H = hpfilter(type, M, N, D0, n) %HPFILTER Computes frequency domain highpass filters % H = HPFILTER(TYPE, M, N, D0, n) creates the transfer function of % a highpass filter, H, of the specified TYPE and size (M-by-N). % Valid values for TYPE, D0, and n are: % % 'ideal' Ideal highpass filter with cutoff frequency D0. n % need not be supplied. D0 must be positive % % 'btw' Butterworth highpass filter of order n, and cutoff D0. % The default value for n is 1.0. D0 must be positive. % % 'gaussian' Gaussian highpass filter with cutoff (standard deviation) % D0. n need not be supplied. D0 must be positive. % % The transfer function Hhp of a highpass filter is 1 - Hlp, % where Hlp is the transfer function of the corresponding lowpass % filter. Thus, we can use function lpfilter to generate highpass % filters. if nargin == 4 n = 1; % Default value of n. end % Generate highpass filter. Hlp = lpfilter(type, M, N, D0, n); H = 1 - Hlp;