Is there a way to initialize a filter to the first unfiltered value?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
mojtaba rayati
am 5 Dez. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Digital Filter Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!