base line correction of a non uniformly spaced spectral data points

3 views (last 30 days)
Hi all, Need help in performing baseline correction of a non-uniformly spaced spectral data points.
My values in X column are not equally spaced. I have 22k data points. Initially, they are spaced by 0.02 and finally it reaches to 0.06 units and fluctuate within 0.01 to 0.06. 'msbackadj' function in matlab is unable to execute as a stepsize is not constant.
thank you in advance

Accepted Answer

Luuk van Oosten
Luuk van Oosten on 7 Sep 2016
Edited: Luuk van Oosten on 7 Sep 2016
Dear Abdul Kalam,
You could resample your non-uniform spaced spectral data to obtain uniform spaced spectral data.
I am guessing your spectra with non-uniform X axis has some kind of Y value associated with it; you can use the msresample function, which allows you to get uniform spaced data.
  2 Comments
abdul kalam
abdul kalam on 7 Sep 2016
Dear Luuk van Oosten,
I have tried 'msresample' but still the data points are not equally spaced. step size is still increasing from 0.0089 to 0.06. I am providing a .txt file. It has wavelength in first column and intensity in second column.
kindly look into this.
Luuk van Oosten
Luuk van Oosten on 7 Sep 2016
Are you sure you set the value for uniformity to 'TRUE'? The default value (if not specified) of 'Uniform' is 'FALSE (i.e. your spectrum is not uniformly resampled). Example: If you do the following
[Xout, Intensitiesout] = msresample(X, Intensities, N)
Your resampled signal is still not uniform, because you did not specify that you wanted it uniform. Use the following instead:
[Xout, Intensitiesout] = msresample(X, Intensities, N, 'Uniform', 1)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!