3
$\begingroup$

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.

group delay

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) Bruker smile

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.

$\endgroup$
  • $\begingroup$ Question does not seem to be clear enough. what is the operation done to reach from data shown in first figure to second/third figure ? $\endgroup$ – arpit jain Jul 4 '17 at 12:22
  • $\begingroup$ Fourier Transform. Thx. $\endgroup$ – mikel Jul 4 '17 at 12:23
1
$\begingroup$

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 <- 84 
T <- 350

omega <- 2*pi*0.252352890
tau <- 0.005
phi <- 2*pi*0.0989038
t <- 1:T

bruker_signal <- rep(0,T)
t_index <- seq(group_delay, T)
bruker_signal[t_index] <- 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 <- butter(3,0.1)
smile_signal <- 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.

enter image description here

$\endgroup$
  • $\begingroup$ Thank you so much. The problem is that we don't know what exactly they do in order to get this smile. Your approach is very interesting. I will try it on my data and I will let you know. $\endgroup$ – mikel Jul 4 '17 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.