I'm trying to digitize a VGA signal with a low-power consumer computer running a consumer OS and am having issues with the stability of the sampling rate.

What I did so far:

  • grabbing the green channel of the VGA signal analogue signal
  • converting it to a rectangular wave form (so either fully lit pixel or totally dark)
  • sampling it with a computer and
  • reconstructing the image

Here is an example of a screen I'm trying to capture (640x480x60hz)

enter image description here

And here is a video of the capture my programme made.

The conversion to the rectangular wave loses most luminance information, but that is ok. The issue is that the sample rate is unstable because the sampling programme I wrote is interrupted by OS tasks for a few μs here and there. The timer resolution is also quite low (1 μs).

The image I'm trying to capture has a low rate of change, is mostly still for all practical purposes (so no motion video) and I can take multiple passes at each image.

Is there any way I can reconstruct the image information despite the unreliable sample rate?

edited for legibility

  • $\begingroup$ "sampling it with a computer": could you explain what that involves? What's the part doing the analog-to-digital conversion? How is that controlled from the computer? $\endgroup$ – Marcus Müller May 27 at 10:33
  • $\begingroup$ The entire thing is an industrial computer - something like a laptop without a screen. The computer exposes digital pins (like a parallel printing port used in the 90s) which a programme can read. There are no other electronics involved apart from wires between the VGA port I'm trying to sample and the computer. $\endgroup$ – George Georgovassilis May 27 at 14:37
  • $\begingroup$ we'll need more infos about what these pins can do and how they can be controlled! $\endgroup$ – Marcus Müller May 27 at 14:49
  • $\begingroup$ It would be instructive to have a example image of what you are capturing right now, and (if possible) a reference image of what the computer was generating. I am reminded of DIY projects 15 years ago where people were using the VGA output of their PC as an AM radio transmitter and others where they were eaves-dropping on the emitted radio energy of a VGA cable from a distance. I believe that someone used cheap USB tv receivers as software-defined radio front-ends? $\endgroup$ – Knut Inge May 27 at 15:13
  • $\begingroup$ If the source clock is stable, the image is mostly static and you are getting «dropouts» from OS interupt, perhaps you can sample many video frames, synchronize them and do some kind of averaging where missing pixels are left out from the average? I think that analog video contains explicit signals to synchronize frame start and line start, they should be visible on a generic sampled waveform. $\endgroup$ – Knut Inge May 27 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.