Yes, such a method can give you a reasonable estimates of noise. Note that it is susceptible to systematic error. For instance if you are flying a quadrotor in the presence of a fan. This would show up in your findings which is generally undesirable.
With that said you could improve your estimates by using the forward-backward algorithm. This algorithm is named from the fact that it consists of a forward pass and a backward pass. The forward pass is basically just an application of a Kalman-Filter, which as you may already realize, only includes data available up until the time step for which the state is being estimated. The backward pass then improves these estimates by including data available after the time in question.
I have only used the forward-backward algorithm with a KF (i.e. not an EKF). As such I don't know the precise implementation details when using an EKF. However there does appear to be some literature on the topic.
Edit: As I think about this further it occurs to me that you can use expectation maximization (EM) and coordinate descent (CD) to automatically determine the noise parameters. The process would treat the covariance matrices for the process model (call it P) and observation models (call it O) as EM parameters and proceeds as follows:
- Start with your best guess for one of the matrices. Say P for the
sake of an example. Then use EM to identify O.
- Use the O found in step 1 with EM to improve the estimate of P.
- Repeat steps 1 and 2 until the log-likelihood of using O and P reaches some stopping criterion (e.g. stops varying, varies very little, or is minimized).