Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Approximate a spectrum from a series of measurements

  1. Feb 11, 2016 #1
    Hi. Im working on a linear algebra problem that arose somewhat like this: Suppose that you are shining a light with a known intensity spectrum [itex]P(\lambda)[/itex] upon a surface with an unknown reflection spectrum, [itex]R(\lambda)[/itex]. You have a detector to detect the total reflected light intensity, I. How to find [itex] R(\lambda)[/itex] ?

    We know that:
    [itex] I = \int_{400}^{800} P(\lambda)R(\lambda) d\lambda \approx \Delta\lambda\sum_{i=1}^N P(\lambda_i)R(\lambda_i)[/itex].

    My strategy so far has been:
    Rewrite to [itex]I \approx \vec{A^T} \cdot \vec{R}(\vec{\lambda})[/itex], where [itex] \vec{\lambda^T} = [\lambda_1, \lambda_2, ..., \lambda_N][/itex], [itex]\vec{R}(\lambda) = [R(\lambda_1), R(\lambda_2),...] [/itex]and [itex] \vec{A^T} = \Delta\lambda[P(\lambda_1), P(\lambda_2),...][/itex].

    To be able to solve(or rather approximate) the spectrum i figured I need to have at least N intensity measurements with different light sources so that i don't have an underdetermined system.
    Then one gets a linear system where row k is:
    [itex]\vec{I} \approx A \vec{R}(\vec{\lambda})[/itex]. Where row k of A is: [itex] A_k = \Delta\lambda[P_k(\lambda_1), P_k(\lambda_2),...][/itex].

    Then I figured to find the least square solution of the linear system.
    This yielded poor results so far, but that may be to bugs in the code or poor choice of lightsource spectrum.

    Is my approach reasonable? How do I choose[itex] P_k(\lambda)[/itex](This is so far a theoretical probelm, so I can choose them to whatever i want)?
    Does anyone know of a similar problem that I can learn from?
  2. jcsd
  3. Feb 12, 2016 #2


    User Avatar
    Science Advisor

    Rewriting your problem in Hilbert space terms you have [itex] I=(\vec{P},\vec{R})[/itex] where I is a scalar and () is the scalar product in the L2 space. Looking at that equation, you can immediately see the problem: There are a lot of different values for [itex]\vec{R} [/itex] that will satisfy the equation.
  4. Feb 12, 2016 #3
    Thanks. Yup, I understand that, although my knowledge of abstract LA is limited. My idea was, however, that I can do multiple measurements of the intensity with different source lightspectra [itex]P(\lambda)[/itex], and thus start to get information about the spectrum. For instance if i do N measurments with the discrete delta function(centered at each [itex]\lambda_i[/itex]) as the source spectrum, I can easily do it. But that is a bit too convenient... I'm wondering how to best do it for other [itex]P(\lambda)[/itex]?
  5. Feb 12, 2016 #4


    User Avatar
    Science Advisor

    What you need is a base for the color space. A good candidate is the RBG color space used in color monitors (and color TV). Based on that concept, you can get away with three coordinates and skip the integral (BTW, this is what happens in a video camera).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook