Is there a way to initialize a filter to the first unfiltered value?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to filter a data set. Suppose the data set consists of data points which equal 100 plus noise. I want the filtered value to be initialized to the first unfiltered value, instead of zero, so the filter won't have to take a long time to go from zero to the nominal value. Is there a way to do this?
After some thought, I came up with this method: filteredData = filter(b, a, raw - raw(1)) + raw(1); I think this answers my question, but I would welcome any comments.
0 commentaires
Réponses (1)
mojtaba rayati
le 5 Déc 2023
Be sure that your b array is normalized then for x0 initial condition: y=filter(b, a, x-x0) + x0.
The Reason: In FIR filter case:
if
the above formulation is equal to y=filter(b, a, x-x0) + x0.
Similar reason can be used for IIR Filter
0 commentaires
Voir également
Catégories
En savoir plus sur Digital Filter Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!