Spectral or peak alignment

48 Ansichten (letzte 30 Tage)
Curious Mind
Curious Mind am 9 Jul. 2017
Hello: I have two spectra, Spectrum A and Spectrum B. Spectrum A is the reference spectrum and spectrum B is one I just collected. I'm trying to match spectrum B with the reference spectrum A. However, I realized that the peaks in B are a bit shifted.
My question is how do I correctly align B to the reference A using matlab?
How do I correct for the peak shifts in my spectrum so that they align correctly to the reference spectrum using matlab or any other program or algorithm?
Thank you.
  2 Kommentare
dpb
dpb am 9 Jul. 2017
'Pends on what kind of shift you're talking about...is it simply a phase shift of the whole spectrum or a shrinkage/expansion?
Attach at least figure; data would be better...
Curious Mind
Curious Mind am 9 Jul. 2017
I just attached a figure. Thank you.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Kateryna Artyushkova
Kateryna Artyushkova am 19 Okt. 2018
Maybe this will work: https://www.mathworks.com/matlabcentral/fileexchange/15392-shifts-set-of-spectra-to-a-new-maximum-position?s_tid=prof_contriblnk

Weitere Antworten (2)

Star Strider
Star Strider am 9 Jul. 2017
One option is to use the Signal Processing Toolbox alignsignals (link) function. That is not its intended use, but it could work. (It is relatively recent. The documentation does not say when it was introduced.)
  14 Kommentare
Curious Mind
Curious Mind am 10 Jul. 2017
@Image Analyst:
I really appreciate the information. I think I'm gonna leave the data the way it is. Thank you so much.
Curious Mind
Curious Mind am 10 Jul. 2017
@dpb Thank you.

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 9 Jul. 2017
Look up xcorr in the help and see this entry "Find a Signal in a Measurement". It says "You receive some data and would like to know if it matches a longer stream you have measured. Cross-correlation allows you to make that determination, even when the data are corrupted by noise."
and then it gives an example. Try it.

Community Treasure Hunt

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

Start Hunting!

Translated by