Page 4 of 4 FirstFirst 1234
Results 31 to 34 of 34

Thread: Analog pallet correction

  1. #31
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,904

    Default

    Quote Originally Posted by kecked View Post
    All I can say is MAKE ANOTHER RUN ALREADY.
    [SET MODE = SARCASTIC RANT]

    All I can say is FIX THE DAMN GREEN LASERS AND SOFTWARE TIMING so we don't have to relay on "nonstandard" tricks like Sallen/Key filters as delay lines.

    Individual RGB timing lead/lag in software would go a long way towards fixing this.

    [END MODE]

    Steve
    Qui habet Christos, habet Vitam!
    I should have rented the space under my name for advertising.
    When I still could have...

  2. #32
    Join Date
    Nov 2008
    Location
    Cleveland Ohio
    Posts
    2,600

    Default How the damn think works and how it could be better...or eliminated!

    I calculated the properties of the pangolin suggested sallen key filter. Here is what I found.

    http://en.wikipedia.org/wiki/Sallen_Key_filter (see lowpass example)

    R1=2.7k
    R2= the range 0-104.8k
    C1=390pf
    C2=680pf

    R2 is based on the fixed value 2220k in parallel with the 200k pot either all the way on or off. Since the diodes only conduct one direction, only on pot at a time is involved in the calculation. So the pot ranges from 0-200k so 0 parallel with 220k=0 and 220k in parallel with 200k =104.8k. Thus the filter ranges from 0HZ-18.737 KHZ with a Q of 0-13,680. The Q increases with increasing frequency. Now here is the important part. The input impedance is near infinity which is good but the output in very low. Thus I suggest a buffering opamp after the filter to make up gain and stabilize the impedance. If this is not done it will draw excessive current loading down the drivers input and prevent you from getting a full-scale signal to the driver(have been here and done that!). Thus I think I should put the scaling/gain/offset after the filter rather than before. I also think we might want to put an opamp before the filter to add a little gain before the filter to offset the diode conductance forward bias. If this is done, you could most likely get away with 1N4001 diodes. This initial opamp can be for buffering the differential input anyway.

    Thus I think that while the filter everyone is using works, it could be made better by the changes I suggest above.

    My biggest question is how does this filter slow down the signal for the diodes? I think it happens by changing the time when the signal goes above zero with the sallen key diodes forward conduction.

    Would this not be far better if the signal was retimed in software before it left the pangolin card? Thus turn the green on a bit sooner and stay on a little longer (like pulling points)than the other colors to match the laser diodes. This would mean the software would have to look ahead to predict when to turn on the green in relation to the other colors. It could ignore this when scanning by itself. You also only need to treat one channel this way.

  3. #33
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,904

    Default

    Would this not be far better if the signal was retimed in software before it left the pangolin card? Thus turn the green on a bit sooner and stay on a little longer (like pulling points)than the other colors to match the laser diodes. This would mean the software would have to look ahead to predict when to turn on the green in relation to the other colors. It could ignore this when scanning by itself. You also only need to treat one channel this way.[/QUOTE]

    Yes, but it would help if the laser manufacturing guys cleaned up their act.

    Take this out of the frequency domain and look at it as group velocity or a crude phase delay.

    One point time in ordinary 30K is 3.33 x 10^-5 seconds. (1 div by 30,000) Ignoring Nyquist as the laser signal is already reconstructed.

    If you model it in LT Spice freeware and look at the phase delay for the filter you will see a little of what is going on. I'm betting the filter started out as a means to match AO blanking to existing scanner blanked show tapes in the late 80s, early 90s.

    One thing about 1N4001s. They have a bit of a PIN structure, not a pure PN junction, so you want to use 1n914 or 1n4148 for the signal diodes, which add a bit of log function response to the output.

    Exactly how it works is a complex mess. But LT Spice will eat a WAV file under some circumstances and let you compare the output to the input. LTSPICE, I'm told will also let you have the output as a WAV file, so I'm told. I could not get that part to work in the past. ILD to WAV to SPICE resulting in a interactive plot and a text file.

    I'd run a .TRAN sim with the transient having a period of 3.3 x10^-5 for starters. Takes 15 minutes to learn how to draw the filter and do the AC and TRAN sims in LTSPICE.

    I'm a little jammed up right now, or I'd give it a try.

    Steve
    Last edited by mixedgas; 09-10-2010 at 09:16.
    Qui habet Christos, habet Vitam!
    I should have rented the space under my name for advertising.
    When I still could have...

  4. #34
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,904

    Default

    Here you go, the easy part, at least for me.
    ONCE loaded into LT spice, right clicking any part in the circuit lets you edit it.

    cut and paste and save this as ClrDelay.asc in the LTSPICE directory when installed:

    Version 4
    SHEET 1 880 680
    WIRE 240 -64 0 -64
    WIRE 336 -64 304 -64
    WIRE 560 -16 288 -16
    WIRE 0 16 0 -64
    WIRE 96 16 0 16
    WIRE -112 80 -192 80
    WIRE 0 80 0 16
    WIRE 0 80 -32 80
    WIRE 336 96 336 -64
    WIRE 336 96 240 96
    WIRE 384 96 336 96
    WIRE 560 96 560 64
    WIRE 0 112 0 80
    WIRE 96 112 64 112
    WIRE 176 112 176 16
    WIRE 288 144 288 -16
    WIRE 464 144 464 96
    WIRE 240 160 240 96
    WIRE 256 160 240 160
    WIRE -192 176 -192 80
    WIRE 336 176 336 96
    WIRE 336 176 320 176
    WIRE 176 192 176 112
    WIRE 256 192 176 192
    WIRE 0 208 0 112
    WIRE 96 208 64 208
    WIRE 176 208 176 192
    WIRE 288 240 288 208
    WIRE 336 240 288 240
    WIRE -192 256 -192 240
    WIRE 176 256 176 208
    WIRE -192 272 -192 256
    WIRE 336 288 336 240
    WIRE 176 352 176 320
    WIRE 336 384 336 368
    FLAG 176 352 0
    FLAG 464 144 0
    FLAG 336 384 0
    FLAG 560 96 0
    FLAG -192 272 0
    SYMBOL Opamps\\LT1022 288 112 R0
    SYMATTR InstName U1
    SYMBOL res 192 0 R90
    WINDOW 0 0 56 VBottom 0
    WINDOW 3 32 56 VTop 0
    SYMATTR InstName R1
    SYMATTR Value 220K
    SYMBOL res 192 96 R90
    WINDOW 0 0 56 VBottom 0
    WINDOW 3 32 56 VTop 0
    SYMATTR InstName R2
    SYMATTR Value 100K
    SYMBOL res 192 192 R90
    WINDOW 0 0 56 VBottom 0
    WINDOW 3 32 56 VTop 0
    SYMATTR InstName R3
    SYMATTR Value 100K
    SYMBOL diode 0 224 R270
    WINDOW 0 32 32 VTop 0
    WINDOW 3 0 32 VBottom 0
    SYMATTR InstName D1
    SYMATTR Value 1N4148
    SYMBOL diode 64 96 R90
    WINDOW 0 0 32 VBottom 0
    WINDOW 3 32 32 VTop 0
    SYMATTR InstName D2
    SYMATTR Value 1N4148
    SYMBOL cap 160 256 R0
    SYMATTR InstName C1
    SYMATTR Value 680p
    SYMBOL cap 304 -80 R90
    WINDOW 0 0 32 VBottom 0
    WINDOW 3 32 32 VTop 0
    SYMATTR InstName C2
    SYMATTR Value 300p
    SYMBOL res -16 64 R90
    WINDOW 0 0 56 VBottom 0
    WINDOW 3 32 56 VTop 0
    SYMATTR InstName R4
    SYMATTR Value 2K7
    SYMBOL res 480 80 R90
    WINDOW 0 0 56 VBottom 0
    WINDOW 3 32 56 VTop 0
    SYMATTR InstName R5
    SYMATTR Value 600
    SYMBOL voltage 560 -32 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 24 132 Left 0
    SYMATTR InstName V1
    SYMATTR Value 12
    SYMATTR SpiceLine Rser=1
    SYMBOL voltage 336 384 R180
    WINDOW 0 24 104 Left 0
    WINDOW 3 24 16 Left 0
    WINDOW 123 0 0 Left 0
    WINDOW 39 24 -12 Left 0
    SYMATTR InstName V2
    SYMATTR Value 12v
    SYMATTR SpiceLine Rser=1
    SYMBOL voltage -192 160 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value PULSE(0 5 .01 .00000001 .000000001 .000033 .000066 1000)
    TEXT -288 48 Left 0 !.tran 0 .05 .0001
    Qui habet Christos, habet Vitam!
    I should have rented the space under my name for advertising.
    When I still could have...

Posting Permissions

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