I have two sampled signals, which I then perform wavelet analysis on, by synthesising the Filterbank, perform the dft on each kernel, and the dft on the sampled signals, and multiply together.
Using this I can get successfully extract the magnitude of the signal, and either take an average or identify the time response of a frequency.
Now I would like to extract the phase. Taking either an instance in time, or averaging the mean signal I can get the phase and plot it, using atan2(im / re) for each signal, and then subtracting one from the other. However it appears to be very noisy. Although I can identify the phase trend, there are a lot of sporadic results that lie far out of the trend.
Researching into this a little, I have found there can be issues with rounding small floats, and it is good to set a threshold for the phase, so everything below the threshold is rounded to 0. This returns similar results.
What I am witnessing looks like some kind of phase noise, reading this it is my understanding this occurs when the frequency is not an exact integer number of cycles for the dft size. This is where I start to get confused as I have my Filterbank frequencies and I have the dft size. How do these two relate? Would I need to remove all results where the centre frequency of each filter does not meet an integer number of cycles for the sample length?
Am I on the right path here, or is there something else that would be causing my phase noise. Failing this, is there any decent way to filter out outliers in a signal.
If I go about not performing Wavelet analysis, and do a straight forward dft on an incoming signal and extract the phase, I get similar results, so I think phase noise is along the right path, please point me in the right direction!