I would like to know how to change the parameters of state estimation by Kalman filter in wtDigiTwin.

I am testing the wtDigiTwin and I am currently at the point where I can use OpenFAST outputs as measurement data and use a linearized model from OpenFAST to estimate the state with a Kalman filter.
As a next step, I would like to estimate the state of a wind turbine using measurements from sensors attached to the actual wind turbine.

Looking at “wtDigiTwin/welib/welib/kalman/examples/onshore_OFLin/kalman_model.py”, the following four parameters are used to estimate states.
self.sStates = np.array([‘ut1’ ,‘psi’,‘ut1dot’,‘omega’] )
Can I specify the readings from a strainmeter or accelerometer attached to the tower instead of the above?
I do not have time series measurements for ‘ut1’ ,‘psi’,‘ut1dot’ and ‘omega’.

The code offers a fairly general framework, but you might need to look at the dataframes A, B C D that you get from openfast and look at the names of the columns. These names can be used to define the states, inputs and outputs. wtDigiTwin renames some of these columns to shorter names for convenience. If you step through the code, you might be able to find the location where the raw A, B, C, D matrices are read from the openFAST lin files, and then where the columns are renamed.
If you put a break point in your code, (e.g., import pdb; pdb.set_trace()) you should be able to find how the different states, inputs and outputs are named.

If you use a different model than the one I have, you’ll have to build the A, B, C, D matrices of the kalman filter from the A, B, C, D matrices of OpenFAST. This requires a bit of surgery to move elements from one matrix to the other.

Sorry, I cannot provide more guidance than this at the moment. I hope you’ll be able to make some progress.