www.gusucode.com > signal 工具箱matlab源码程序 > signal/@dfilt/@basefilter/compute_freqrespest.m
function [H,w] = compute_freqrespest(this,L,varargin) %COMPUTE_FREQRESPEST % Author(s): R. Losada % Copyright 2006 The MathWorks, Inc. if L ~= round(L) || L < 1, error(message('signal:dfilt:basefilter:compute_freqrespest:invalidNTrials')); end opts = uddpvparse('dspopts.pseudospectrum', {'freqrespopts', this}, varargin{:}); if ishalfnyqinterval(opts), M = 2*opts.NFFT; else M = opts.NFFT; end [VP,Yp] = nlminputnoutput(this,L,M); H = Yp./VP; H = H(1:opts.NFFT); if opts.CenterDC, H = fftshift(H); end % Make sure to return a column H = H(:); if nargout > 1, w = generate_freq(opts); end %-------------------------------------------------------------------------- function w = generate_freq(opts) if opts.NormalizedFrequency, Fs = []; else Fs = opts.Fs; end if ishalfnyqinterval(opts), s = 2; elseif opts.CenterDC, s = 3; else s = 1; end w = freqz_freqvec(opts.NFFT, Fs, s); % Make column w = w(:); % [EOF]