It is often possible to get into situations where it is impossible to
create spectra between zero and one for the various components
(usually the red curve). For spectra defined from 400nm to
700nm and an XYZ to RGB matrix based on Sony monitor data with a white
point set at (.333,.333)2, it is not possible to get the red curve below one. The area
of the spectrum contributing solely to red is not large enough.
Even though all the matching functions are low past 700nm, the red is
still significant and more importantly, the other two matching
functions are negative. Two factors are responsible for causing
curves to rise above one: the width of
the visible spectrum, and the chromaticity coordinates for the
primaries used to create the XYZ to RGB matrix. The width of the
spectrum can be
increased, however for small numbers of spectral samples (9 or less),
uniform bin size results in poor sampling of the regions of the
spectrum where the matching functions are changing more frequently.
As the primaries get more saturated, this problem gets worse.
Consider three monochromatic primaries. The only way to (almost)
match these is to have a zero for every basis function except the one
containing that wavelength. For the sum of the red, green,
and blue curves to have the same intensity as a constant unit
spectrum, the value of the single non-zero coefficient must be much
larger than one.
Comments: Brian Smits
2000-01-24