The differences are not far away from the other. Any estimation algorithm (estimator) is technically called a filter. While signals are measured with sensors, then a filter separates noise from a signal (signal processing). Observer is also an estimator, however, 'observer' name is better suited for control systems terminology. An observer (state observer model) is a model which feeds the controller (in a control process) with estimation of state (this is when state measurement with sensor is not available). Estimation is purely a lingual term for estimation, nothing more.
The estimator, just like the observer, will try to reconstitute as faithfully as possible the parameters of the system (state vector) according to the inputs and the outputs.
The Kalman filter is a Bayesian estimator (this is an extension of the Wiener filter which is itself a Bayesian estimator), hence its application to deterministic and stochastic systems and signals.
In nonlinear control theory aspects, all there are same.
However, filter is the one which filtering the unwanted signals from the core signals. For example, low-pass filter or high-pass filter used to filter out the low-frequency or high-frequency signals from the raw signals according to the filter configuration.
Observer is the one observing the known output of the system and giving the known and unknown states of the system.
Estimator is the one which estimates the parameters based on available input signals.
Some cases, these three act in single system for example Kalman filter used to filter the noises and estimate the states (both known and unknown).
Similarly, extended observers used to estimate the states and disturbances.
So, based on application of the tool, it can be called any one of these or vise versa.
An observer obtains the state of the dynamic system from measurements of outputs
A smoother obtains estimates of noise-free system outputs up to the present time
A filter obtains estimates of noise-free system outputs at the present time
A predictor obtains estimates of future system outputs.
In practice, all of these can be based on the observer, and are therefore similar as the previous answers mention. However filtering, smoothing, and prediction can be performed through many other methods including low pass filters, or batchwise regression (instead of a recursive Kalman filter or Luenberger observer).
As far as I know, these three terms are being used interchangeably, especially in control and system.
but there is a few differences.
A filter can be defined as any action on the signal, a filter is not necessarily a dynamic system, but 99% of filters are proposed as a dynamic system. for example, multiplying a signal by .5 is a filter that reduces the amplitude of signal (a ridiculous filter!!! )
on the other hand, the term of observer means you are going to observe one or more characteristics of a dynamic system. So, an observer can be categorized as filter. You take the outputs and inputs of a system and feed them to proposed observer and theoretically show the observer is able to "observe" the system characteristics. the characteristics of a system can be system states, system outputs, disturbance, uncertainty or system faults. the important point is that the dynamic model of observer is very similar to dynamic of main system. luenberger observer or Kalman observer (mostly known as Kalman filter) and sliding mode observer are famous ones
Finally, the estimator. the estimator can be stated as an observer with dynamic system (again to estimate some features of system), but not necessarily! for example, the adaptive laws, neural networks and fuzzy algorithms, and some other evolutionary algorithms such as PSO and ANFIS, can all used as the estimator. these estimator all have different dynamic structure compared to the main dynamic system
The most important point regarding observer and estimator is that "YOU SHOULD PROVE THEORETICALLY THAT THE PROPOSED OBSERVER OR ESTIMATOR WILL CONVERGE TO THE ACTUAL SYSTEM CHARACTERISTICS, FOR WHICH YOU HAVE PROPOSED THE OBSERVER OR ESTIMATOR", but regarding the filter you might just propose a filter, for example to filter out some frequency, or amplify the signal at some given frequencies.
An observer or an estimator use the system dynamics model and take in measurement for state estimation. Yet a filter requires an a priori info of noise characteristics, such as white noise, to estimate output or state.
observer is output feedback control, estimation is prediction of actual data and filter is a general term for reduction of unwanted component in measurements... so we can say observer/estimator are filters.
Observer is a virtual model and is used when measurement is not available. For example in a furnace, high temperatures, hinders use of sensor inside the furnace. Hence, a virtual model (virtual dynamic model or mathematical model) is used to hypothetically feed the controller with states of the plant (to use it in feedback loop).
The use of observers (e.g., Luenberger observers) is typically restricted to the deterministic case. Conversely, estimators (e.g., Kalman filters) are used for the stochastic case. While good observer design can provides robustness to exogenous disturbances (in both the state and output processes), the Kalman Filter and its nonlinear counterparts (Benes and Yao Filters) and finite state counterpart (Wonham Filter), and, to a lesser degree, it's suboptimal approximants (Extended Kalman Filter, sigma-point filters such as the Unscented Kalman Filter, and Ensemble Kalman Filter) all explicitly incorporate a noise model for both state and output processes and are thus more appropriate and, in general, perform far better for stochastic systems.
We are talking about state estimation and therefore I will first define what I mean with state and what with estimation.
•STATE: variables used to describe the mathematical state of a dynamical system
•ESTIMATION: finding an approximation which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable.
•What is State Estimation for? It allows you to estimate something which you can not see or measure directly
Dynamical systems can be either deterministic or stochastic.
•Deterministic system: no randomness involved in the development of future states of the system
•Stochastic system: randomness involved in the development of future states of the system
Back to your question: what is the difference between a filter and an observer (usually an estimator can be both a filter or an observer)
Usually, the term observer is referred when you are trying to do state estimation on a deterministic dynamical system (Examples of observer for deterministic systems is the Luenberger Observer).
Instead, a filter is a mathematical tool which allows to do state estimation on a stochastic system (Examples of filters for stochastic systems are: Kalman Filter, Extended Kalman Filter, Unscented Kalman Filter, Particle Filters, Invariant Extended Extended Kalman Filter, etc.).
Although State Observers and Kalman Filters appear to be similar from the design point of view, operation between two are different.
State Observers: Mainly used to estimate states which are difficult/impractical to measure using readily available sensing techniques. Observer gains are selected using methods such as pole placement and remains constant through out the process. Once setup correctly, Observes are capable of generating estimates and correcting the all the state estimates by comparing between either one or more of measured states.
Kalman Filter/EKF/UKF: Used to obtain optimum state estimations by altering the Kalman gain recursively by comparing between noisy estimations and noisy states measurements. Thus, unlike the Observers, gains are continuously changed with each iteration to converge the states rapidly in a robust manner.
In my opinion, the key point is about how to figure out the terminology "filter".
(1) According to the explanations in Wikipedia
This word has different interpretations in terms of different research fields according to https://en.wikipedia.org/wiki/Filter.
Related to the discussed topic, some definitions in "Signal Processing", "Computing" and "Mathematics" can be specially concerned.
in "Signal Processing", filter can be used to remove or select frequency components, such as most used lowpass, highpass, bandpass and notch filters, which has been introduced by a recommended online course: https://www.coursera.org/lecture/linear-circuits-ac-analysis/3-4-bandpass-and-notch-filters-PeahQ.
in "Computing", Kalman filter is involved and defined as "an approximating algorithm in optimal control applications and problems".
in "Mathematics", it is defined as "a special subset of a partially ordered set", which has characteristics of “try to find some information” with clustering and convergence.
(2) Kalman filter vs. observer (a general description)
The Kalman filter is classified into the approximating algorithm in the field of "Computing", which is also comparable with the observer due to the similar features with state (or paramerter) estimation processes.
Kalman filter is used in stochastic processes especially considering noises in the process and in measurements, with iterative time-varying estimation gains. This method is based on the mechanism of convex optimization techniques with a convergence objective. A recommended link is here: https://www.kalmanfilter.net/default.aspx
Observer, especially for a most classical Lunberger observer is relatively used more in a deterministic process, even with extended observers for multi-state estimation or with concerns in a nonlinear or in an adaptive process. Globally, the concept "observer" usually utilizes a pre-designed estimation gain considering global asymptotic stability of the dynamics of the estimation error.
(3) "filter" vs. observer (try to find something interesting)
As mentioned in the related 3 classifications in Wikipedia, the filter is able to extract useful information or remove unwanted ones, which is important for a control process, including robustness (e.g. resilience and fault-tolerance) as well as the fault diagnosis process.
In detail, the filter is able to extract the disturbances from model uncertainties, external measurement noises or fault occurrences. This can used for the detection, localization and identification issues as well as the active fault tolerant control issues. A great number of researchers are concentrating on these issues in fact.
This aspect is what I have studied currently. Compared to the observer used for these issues, filter seems like a combined technique through the functions of signal reprocessing and advantages from state estimation by either the classical observers or the Kalman filter (or its high stage versions). The main merits of the mentioned filter lie in probably the less dependence of system model or model parameters, which is convenient to extend to other control systems.
To sum up, this is an issue with multidisciplinary crossovers. The observer can be regarded as a special filter since both of them has similar structures expressed by transfer functions. And the observer can be also found the bandwidth of the estimation process, which is similar to the filter for signal reprocessing
Whatever which concept is considered, a better behavior in practice and solid-scalable theoreticality should be highlighted with respect to each specific issue.
The above illustrations are only my ideas and welcome the discussions from all the researchers with an academic purpose who is interested in this topic.
The term "filter" is more appropriate for stochastic systems. In stochastic state estimation, "filtering" refers to the estimation of a signal at instant k from measurements taken up to instant k. The same literature adopts the term "prediction" and "smoothing" for referring to the estimation of a signal at instant k from measurements taken up to instant j > k and up to instant j < k, respectively. Therefore, a stochastic state estimator can be a filter, a predictor, or a smoother.
Therefore, a filter is an estimator. To be more accurate, it is a state estimator. Similarly, a filter is an observer.