I am acquiring time-varying data with unequal sampling (nature of the source). When building a spectrogram, I have the algorithm choose sample blocks that are are -nearly- the same length -but, they are never equal. Since the peak widths are a function of the sample block length, this means that although two sample blocks, just separated by one sample (sliding window), can have the same underlying frequency content, the total power (if one is to sum the PSD) is different. This is a problem because sometimes, again due to the nature of the data source, adjacent sample blocks can have vastly different lengths, and therefore there is a large variation in the total power.
One possible solution I have thought of is to take an interactive approach to "normalizing" the spectrum. For each spectral component, I can calculate the goodness of fit. Then, choose the best fit sinusoid and subtract it from the data. Doing this iteratively I will eventually reach a noise floor, where no sinusoid fits the data. (one benefit is that it will remove spurious peaks such as aliases). Then, using the list of amplitudes and frequencies, "rebuild" the spectrum assuming that each peak is the sinc shape and width based on the desired sample block length.
I would appreciate any feedback on this approach, or others to try. I am well versed in signal analysis, but with uniform sampling -where these problems don't show up. And after extensive literature search, I have been unable to find a solution.