Spectral baseline distortion simulation - Bruker smile I work with Magnetic Resonance Spectroscopy data. Data (complex signals) obtained from Bruker scanners (one of the biggest manufacturers of MRS scanners) start with an important group delay - around 60-80 points (in the time domain) - probably due to the fact that they use a long FIR filter. 



The effect of this group delay cumulated with some other (unfortunately unknown) problems results in a baseline distortion called Bruker smile/frown. (in the frequency domain, after FFT) 


I would like to simulate this kind of distortion (smile or frown).
I tried with a bandpass FIR of several taps (80- 140) and I cannot reach this effect. 
Could you recommend me any way of getting this distortion? Thank you in advance.
My guess is that somewhere in the processing you are using an AR (or ARMA) model that is being over / under fitted and that is what is causing the issue.

If I make a fake signal like this in R:

group_delay &lt;- 84 
T &lt;- 350

omega &lt;- 2*pi*0.252352890
tau &lt;- 0.005
phi &lt;- 2*pi*0.0989038
t &lt;- 1:T

bruker_signal &lt;- rep(0,T)
t_index &lt;- seq(group_delay, T)
bruker_signal[t_index] &lt;- exp(-(t_index-group_delay)*tau)*(
    sin(omega*t_index) + sin(1.5*omega*t_index + phi)) +
     rnorm(length(t_index),0, 0.1)


i.e. it's a noisy, delayed, damped sum of two sinusoids and then do AR modelling of the spectrum with different orders, then I get something like the smiles / frowns you are seeing.

An earlier attempt I made used a low-pass filtered version of the signal added to the same thing, modulated to $f_s/2$.

smile_filter &lt;- butter(3,0.1)
smile_signal &lt;- filter(smile_filter, bruker_signal)
plot(abs(fft(bruker_signal+2*smile_signal + 2*smile_signal*rep(c(1,-1),     lenght.out=T)))[1:175], type='l')
title('Attempt at Smile Spectrum ')


but that seemed way noisier than what you're after.