function [symbolEst, symbolDet, symbolErr] = ...
         equalize(eqobj, inputSig, varargin)
%EQUALIZE   Equalize a signal using an equalizer object.
%   EQUALIZE will be removed in a future release. Use comm.LinearEqualizer
%   or comm.DecisionFeedbackEqualizer instead. See 
%   <a href="matlab:helpview(fullfile(docroot, 'toolbox','comm', 'comm.map'), 'REPLACE_udd_equalizer')">Communications Toolbox R2019a Release Notes</a> for more information.
%
%   Y = EQUALIZE(EQOBJ, X) processes the baseband signal vector X with
%   equalizer object EQOBJ, and outputs the equalized signal vector Y.  You
%   can construct EQOBJ using either LINEAREQ or DFE.  The signal X is
%   assumed to be sampled at NSAMP samples per symbol, where NSAMP
%   corresponds to the nSampPerSym property of EQOBJ.  The equalizer adapts
%   in decision-directed mode using a detector specified by the signal
%   constellation property in EQOBJ.   
%
%   Y = EQUALIZE(EQOBJ, X, TRAINSIG) uses a training sequence initially to
%   adapt the equalizer. After processing the training sequence, the
%   equalizer adapts in decision-directed mode.  
%
%   [Y, YD] = EQUALIZE(...) returns the vector YD of detected data symbols.
%
%   [Y, YD, E] = EQUALIZE(...) returns the result of an error calculation.
%   For adaptive algorithms other than CMA, E is the vector of errors
%   between Y and the reference signal, where the reference signal consists
%   of the training sequence or detected symbols.
%
%   See also LMS, SIGNLMS, NORMLMS, VARLMS, RLS, CMA, LINEAREQ, DFE.

%   Copyright 1996-2019 The MathWorks, Inc.

% 'equalize' is a method associated with equalizer objects (classes
% equalize.lineareq and equalizer.dfe).  For source code, see
% @equalizer/@baseclass/equalize.m (for most error checking) and 
% @equalizer/@lineareq/thisequalize.m (for equalizer operation).

error(message('comm:equalize:ImproperUseOfEqualize'));

