Other Parts Discussed in Thread: DLPC350
- I’m trying to display a moving sinusoidal intensity pattern (sinusoidal intensity pattern along one spatial dimension, repeated along the orthogonal spatial dimension, moving like a wave along the first spatial dimension, repeatedly).
- Instead of a smooth sinusoidal intensity pattern, I’m seeing multiple narrow bands of the wrong intensity, scattered throughout the pattern. This is not a subtle artifact. It is strong enough to make the pattern unusable.
-
- Bands do not appear on computer monitor (I’ve tried two computers, each with different operating systems, GPUs, and monitors)
- Bands appear on Lightcrafters that have different sets of cables (power/usb/HDMI)
- Like the sinusoidal pattern, the bands do not vary along the dimension orthogonal to the dimension across which the sinusoid is drawn
- The intensity of an individual band can be either greater or lesser than intended, and does not appear to depend on whether it is located in the rising or falling phase of the sinusoid
- It’s hard to tell, but the band intensity may always be at maximum or minimum intensity
-
Bands becomes more obvious as I increase frame rate (vsync period) - bands appear around 60 Hz, and at 100 Hz, are very obvious
- as the sinusoid’s spatial and temporal frequency increase (fewer than two sinusoidal periods across the entire image, moving at at least 1 Hz)
- Bands are much less obvious when bit depth is set to 6 bit in the Lightcrafter GUI (across full range of exposure periods, pattern periods, number of patterns, etc)
- Bands only appear in moving patterns (static version of the same pattern does not produce bands)
- Bands appear at particular positions along the sinusoidal pattern, and move with the sinusoid, remaining in those positions as the sinusoid moves across the screen
- Bands are inverse mirror symmetric (if there is a darker-than-intended band in a particular location of the rising phase of sinusoid, there will be a lighter-than-intended band in the same relative location on the falling phase of sinusoid)
- Bands are equal in width, judging by eye (roughly 5-8 pixels?? This is a guess)
- Bands appear regardless of the sinusoid’s orientation or direction of motion
- Spacing between bands appears random
- Bands are most obvious and most numerous furthest from the peak/trough of the sinusoid (in the “greyest" areas)
- Bands only appear when the texture resolution is high (roughly 5 pixels or fewer per texel)
- I don’t have the ability to take a photo of the artifact, but I found a photo online that looks very similar. This photo (at bottom) claims to show a DXT compression artifact, maybe totally unrelated, maybe not. This photo does not show a sinusoidal pattern, but it does show an intensity gradient, with scattered bands throughout.
- It seems like the Lightcrafter is having trouble representing particular grey values (since the banding moves with the sinusoid, and is inverse-mirror symmetric). The fact that it only appears obvious in 8 bit, and becomes more obvious as the sinusoid gets larger in period and moves relatively quickly, means that when the grey value transitions from one frame to another become very small, the DMD fails, but only if the frame rate is relatively fast (60+ Hz). Because the artifact does not appear on the computer monitor, I think the problem is related to how the Lightcrafter interprets the data.
- Finally, when displaying these moving sinusoids, the motion does not always appear smooth. There are occasional skips in the motion, and these skips are most obvious under circumstances when the bands are also most obvious, described above. So this may be a related artifact.
-
Operating system: Windows 10 (bands also appear on Ubuntu 16.04.5 LTS)
-
Hardware: NVIDIA Quadro K2200 (DisplayPort output) to DisplayPort -> HDMI adapter to HDMI -> mini HDMI cable to DLP4500 EVM
- Images are designed in OpenGL using Microsoft Visual Studio 14.0
- Lightcrafter GUI version 3.0.1
- Pattern sequence mode
- LED: manual, blue, current 75 (bands appear using any combination of LEDs, at any current)
- pattern source: video port
- Trigger mode: vsync
- Pattern exposure, pattern period: bands appear across full range of these values given 10 ms vsync (anywhere from 8333-10000 us)
-
- In general I’m (arbitrarily) using pattern exposure 9500 us, pattern period 9500 us
- Bands appear whether pattern period is shorter than or equal to pattern exposure
- Color depth: 8 bit (bands are much less obvious in 6 bit, across range of exposure/pattern periods)
-
- Bands appear using any contiguous range of bit planes (R0-R7, B0-B7, etc.)
- Clear DMD after exposure (bands appear regardless of whether we clear DMD after exposure)
- One pattern per vsync period
- Lightcrafter is identified as 2nd monitor, and is not the “primary” monitor (in NVIDIA control panel)
- Lightcrafter in portrait orientation (bands also appear in landscape)
- Custom resolution 912x1140@100Hz
-
- Timing in NVIDIA control panel custom resolution
-
- horizontal
-
- active pixels: 912
- front porch: 54
- sync width: 64
- total pixels 1040
- positive pulse
- vertical
-
- active pixels: 1140
- front porch: 17
- sync width: 10
- total pixels: 1170
- positive pulse