cheminfo / nmrium

React component to display and process nuclear magnetic resonance (NMR) spectra.
https://docs.nmrium.org
MIT License
55 stars 25 forks source link

bruker data with DIGMOD = baseopt phase correction #2282

Open jobo322 opened 1 year ago

jobo322 commented 1 year ago

I face at moment to use the phase correction values from metadata ( phc0, phc1 ) of bruker data with:

DIGMOD = 3 (baseopt, rectangle digital filter function)

the phase correction values for zero and first order should be negated to obtain a similar result than in topspin.

topspinResult phaseParameters nmriumResult
jobo322 commented 1 year ago

I should remark that it does not happen for DIGMOD = 1 (digital).

somebody know if we are missing something until to apply the FFT?

jobo322 commented 1 year ago

At the moment to apply the digital filter by move the group delay from the beginning to the end of the FID, we should take care about an additional zero phase of 180 degree peer point moved. So if the number of points is odd we should apply a zero order phase correction to obtain the same result at least in the real part of the spectrum.

In the other hand, after FFT we obtain the imaginary part of the spectrum multiplied by -1 with respect to the result of topspin processed spectrum.

telegram-cloud-photo-size-1-4909380892342987716-y

The real part match perfectly. So it is the reason of negative values for ph0 and ph1 with respect to topspin.

we should obtain the same result that topspin by multiplied the imaginary part of the FID by -1, then reverse the data.

@lpatiny should nmrium match with topspin? or should we only save the negative value of ph0 and ph1 from bruker data?