fasteddiev wrote:So I am producing FFT plots in MATLAB using the pwelch method.
Without disagreeing with either JT or Greg, & admitting I have never used pwelch, a quick look suggests that is the kind of thing I would expect to have to do to obtain good frequency domain estimates*. Scaling issues can be overcome by computing frequency response functions, assuming that you have both an "input" & an "output" and you can replicate the same process with your model results.
fasteddiev wrote:It is giving me OK frequency results but not enough resolution...
Frequency_interval = acquisition_rate/N. Hence you can increase N, as Greg suggests, or decimate the data (reducing the acquisition rate). However, I expect you really need more data, since the variance error is proportional to the number of independent transforms, & increasing N or decimating a fixed length of data simply increases the variance error.
* It should be noted that an FFT calculation is actually a "Discrete Fourier Series" estimator, the implication being that the original data series is assumed to be exactly periodic. If that is not case, then the result will be contaminated by the end condition (the discontinuities between the end and beginning of the data sample). "Hanning" or other similar weighting functions are designed to eliminate any discontinuities, but they also eliminate part of the data sequence, which can be recovered (to an extent) by overlapping successive transforms - assuming that the process computes the average of multiple transforms.
The average of multiple transforms is computed for exactly the same reason that averages are usually taken of any measurements (to improve reliability).
The result is a transform whose scaling depends on the data, the "window" used and the precise nature of the overlapping algorithm. The scaling can be determined experimentally (as suggested by Greg), or cancelled out by computing a Frequency Response Function.