Results 1 to 4 of 4

Thread: Sample spacing for vector graphic frames

  1. #1
    Join Date
    Jun 2007

    Default Sample spacing for vector graphic frames


    I have been experimenting with using a TI DSP (TMS320F2812, 150MHz 32-bit integer CPU) to drive an x,y scanner pair (Catweazles) to do abstracts. Now I would like to try some static vector drawing frames.

    When we speak of 30k points/second (pps), for instance, we mean that the DAC is updated at 30kpps. The number of frames per second thus impacts the maximum possible samples per frame as:

    PPF = PPS / FPS , where:

    PPF is points per frame
    PPS is points per second
    FPS is frames per second.

    Do laser show designers/software packages allow one to specify a frame rate? Usually I only hear of being able to specify a PPS scan rate. Thus, if for instance, one has a frame with 500 points, you would get:

    FPS = 30kpps / 500ppf = 60 fps

    Then if you change to a 1000 point frame at the same PPS, you would be rendering that frame at only 30fps.

    It must be desirable to maintain the FPS high enough to avoid flicker, so I suspect something like the movie rate of 24fps is a lower limit of what is useful, so that means with a 30kpps scanner, one is limited to <=1250ppf.

    Am I on the right track here?

    What concerns me more is how one determines the physical spacing of samples in a frame, for instance for a single stroke or curved line segment. Do DAC controllers interpolate between samples and using a higher internal subsampling rate sweep between the points in a smooth fashion?

    Otherwise, if for instance you choose samples which are widely spaced compared to the beam diameter, then the scanner will basically step from one point to the next, pausing at each one. This would result in the appearance of a sequence of dots with faint connecting traces rather than a smooth line.

    Thus, it seems one of two methods is needed: sampling close enough relative to the beam diameter such that the "dots" are close enough to, combined with the scanner's finite slew rate, produce the appearance of a smooth line. Or second, a subsampling/interpolation algorithm would be needed to smoothly sweep between more widely spaced samples. The first method has the drawback of needing a lot of points for complex frames, while the second requires much more CPU processing but can facilitate sparsely sampled frames (less data).

    I am considering to implement such an algorithm on the DSP because it is low on memory to store frames, but rich in processing power to synthesize signal with brute force.

    Any input will be of interest. I wish to learn more about how the actual frame rendering process works in typical laser show programs. I suppose I need to find docs on the ILDA file format next as well, and see if I can understand it...
    Have a good day!

  2. #2
    Join Date
    Oct 2006
    Central Florida


    Someone tell him he is crazy... So I don't feel so dumb...
    Love, peace, and grease,

    allthat... aka: aaron@pangolin

  3. #3
    Join Date
    Dec 2006


    Hi OPO226,

    I've done some thinking in that direction before got started actually using the equipmet (waiting for its arrival). Actually using the gear tought me a lot about how it is used in practice. I'm guessing you are in that same phase now??

    Anyway, hope to clear some things up for you:
    the 30kpps specification means that the scanners are tuned to properly produce the ILDA test pattern at 30kpps at (usually) 8 degrees optical deflection angle.
    This is the industry standard for adjusting the driver to the galvo set.
    Once the driver is properly adjusted you can feed the DAC with values different from 30kpps. So you can vary the number of points per frame.

    I tend to design frames using the full 60kpps my DAC allows. Like you my view on the point rate is a digital sample rate of an analogue signal (the frame). And from that perspective it is a little wierd that it gets converted from analogue (starting with a vector file) to digital (points in frame) to analogue (DAC) but that is just how computers work.

    I agree that there must be a design frame rate for created frames but in practice that may not have as much value as in theory since the pps rate is easily adjusted for best results.

  4. #4
    Join Date
    Dec 2006
    Pflugerville, TX, USA


    The ILDA standard is definitely lacking when it comes to self discoverability. I hope that they someday evolve to an XML format and include the target framerate, pps, and other things.

    The laser show software I am writing allows specifying the pps of any frame or framerate for a set of frames. I wanted to do this for maximum flexibility when combining multiple ILDA files.

    In regards to abstract projections, I am currently tackling this problem. I have found that using a time based formula to display points is not very efficient because for some time slices you may have a miniscule x/y delta (which wastes time) while other time slices may yield an x/y delta that is greater than what the scanners can handle (possibly damaging the galvos). What I am playing around with is creating a little test routine that lets you find out the max step size for a given time for any set of galvos that are hooked up. Once that is know, the abstract function generators can be programmed to be step size based instead of time based. The will result in the abstract patterns being uniformly bright and without the worry of over driving the galvos. It will also allow for displaying some patterns that normally could not be displayed without overdriving the galvos.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts