# How to do smoothing without affecting phase

I have signals captured from two channels of a measurement system. There is phase and magnitude differences between these two signals.

I want to apply nonlinear smoothing to the magnitude, but the phases should remain the same after the process.

This is what I have done both channels:

1. Perform FFT
2. calculate magnitude
3. calculate phase
4. apply nonlinear smoothing to the magnitude
5. get real and imaginary part from smoothed magnitude and phase
6. perform inverse FFT.

However the resultant signal is not as desired. It appears as a two sided time signal or has some additional signals in the end.

Is there a solution to this problem?

• Are you using a long enough FFT? The effect of the nonlinear smoothing of the magnitude could be like convolving the signal with a very long filter. If your signal is length $N$ and the effective length of the nonlinear smoothing is $M$, then your FFT needs to be of length $N+M-1$ (at least) to avoid circular convolution "aliasing". Examples of the sort of data you're using could also help, in addition to putting some numbers on the sizes of things (and perhaps the type of "nonlinear smoothing").
– Peter K.
Sep 24 '13 at 16:34
• Can you provide before/after pictures of the signal? What is the non-linear smoothing. With your reputation you won't be able to post the pictures here, but you can post them elsewhere and link to them here. Sep 24 '13 at 16:47