New SSTV Demodulator.

Forum for discussion of SSTV topics. Slow Scan television (SSTV) is a picture transmission method used mainly by amateur radio operators, to transmit and receive static pictures via radio in monochrome or colour.

Moderators: Dave Moll, Andrew Davie, Steve Anderson

New SSTV Demodulator.

Postby Steve Anderson » Mon Aug 01, 2022 1:07 pm

For quite some time I've been using a modified (improved?) version of the Robot 70 SSTV demodulator. The final circuit diagram I have for it is dated March 2015. It perfoms remakably well considering its simplicity and the era it was designed in, the mid-late 60s maybe?

It's biggest flaw to me is the output filter, this has to separate the wanted modulation of up to 1kHz or more (the video signal) from the full-wave rectified sub-carrier, where the sync frequencies get doubled to 2.4kHz due to the full-wave rectification. That is just over one octave, quite a task for an analogue filter. To achieve such a steep cut-off it has to be either a Butterworth or Chebychev version in the analogue world. Both of these introduce overshoots on fast (a relative term) rising or falling signals, e.g. sync or blanking edges.

Initially I considered replacing said filter with a digital FIR version. But if we're introducing digits, why not make it all (or mostly) digital?

Follows is my concept. It uses the zero-crossing method at the input, a look-up table to convert the half-cycle duration into a linear voltage representation with or without Gamma correction and finaly a modulated PWM signal is generated at approximately 48kHz.

Now the output filter can be a sinple Bessel analogue version with far less overshoot, maybe none, as the wanted video frequencies (around 1kHz) and the PWM (48kHz) are widely separated. There is also the possibility of replacing the analogue output filter with a digital version, though still a Bessel, e.g. MAX292/296. That needs investigation though.

Although the circuit diagram below looks quite busy, it's largely due to all my notes and other stuff that should vanish when finalised. This has not been built yet and I still have to write the software for it. I hope to make a start in the next few days.

This in terms of hardware is simpler than the Robot 70 version, two chips (one 20-pin, one 8-pin), instead of three chips (two 14-pin, one 8-pin).

Steve A.

Another item I should look at is the modulator I use which also could do with a re-visit as it also uses similar analogue filters. That thankfully is somewhat simpler...maybe?

A question raised previously..."Will this work with other modes such as Martin, Scottie or PD?" Yes, including those that use VIS codes. It doesn't decode the VIS as shown, but might be persuaded to do so, though that is not a priority for me...a use for the data/ASCII output maybe? (IC401 pin 10/TP6). It all depends on timing, code size and remaining memory to handle this additional requirement. It may require a change of processor to a 28-pin device simply to get enough RAM and program memory, but probably not. At this stage I'm not going to actively pursue these additions, maybe sometime later...

SSTV v4 Demodulator 4.gif
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Wed Aug 03, 2022 2:17 pm

I just looked up the data for the SSTV DDS modulator I use, it should be OK as is as the filter prior to the modulator is also a Bessel. I can't find any 'scope traces for that filter, something I must have omitted to do at the time, or simply didn't record the findings. It seems I built this modulator around November 2014 to March 2015. I recall there was one devil of a 'hiccup' in the original authors code which I eventually fixed. Its effect was minor but measurable. The 'fix' is buried deep within the PIC12F683 datasheet. I tried to contact the original author with no success...

Here's the culprit...

Code: Select all
movf      AccH,W         ; 1 cycle
call        SineTable      ; 5 cycles inc. CALL, ADDWF PCL,F & RETLW....EXCEPT...This is actually taking 6 cycles for some unknown reason!!!
                                       ; FOUND IT...quoting 12F683 datasheet, "All instructions are executed within a single instruction
                                       ; cycle, unless a conditional test is true, or the program counter is changed as a result of an instruction.
                                       ; When this occurs, the execution takes two instruction cycles, with the second cycle executed as a NOP.
                                       ; So it's actually 6 cycles.


The original SSTV DDS modulator is here:-

https://www.min.at/prinz/o/oe1rib/DDS/SineDDS.htm

I changed the processor to a smaller device and used the internal PWM module rather than an external D-A, hence the required alterations to the authors code....now back to the original topic...

Steve A.
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Fri Nov 11, 2022 5:24 pm

Well, aside from the other stuff I'm dealing with I'm still pursuing an update to the thorny issue of SSTV demodulation, it's still on-going. The iteration being worked upon deals with two things, one is the existing overshoot on large and rapid changes in video levels - mostly seen on the extreme left of the demodulated image. Second is the rather sub-standard signal full-wave rectification method I used previously.

The first issue is the overshoot. That's down to using a Butterworth filter to remove the remnants of the SSTV sub-carrier. I'm hoping an FIR filter will perform better. Second, although the full-wave rectification system 'worked', it wasn't ideal. The second item is quite easy to deal with, the first requires a step into the digital filtering domain.

An initial sketch is below and will undoubtedly undergo changes in the near future.

In removing the overshoot it may well result in a perceived 'softening' of the image as a result of less or no video peaking (though often desirable). As ever, a compromise is called for. First, let's get rid of that peaking and assess what it looks like...

There's not that much new info. in the sketch below, but it's early days...

Steve A.
Attachments
SSTV V6 Demodulator 1-Model.gif
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Fri Nov 11, 2022 5:58 pm

I also intend to have a go at a new zero-crossing SSTV demodulator. Though I did build one some time ago it was a bit disappointing compared to a discriminator version such as this, though it does hold the promise of (perhaps) better resolution.

Steve A.
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Sat Nov 12, 2022 4:53 pm

A quick rationalisation of yesterday's drawing...

The 1% resistors only need to be 1% to each other, their absolute/average value can be anything from 9k to 11k without an issue. Buy a batch of 100 5% 10k resistors and match them with a DVM (don't forget to put a fresh battery in it first). You will, for sure, use those left over in the future...if they're all new and a 'batch match' (from the same supplier at the same time) you'll likely find all you need in the first 20 or so...

Steve A.

A slight error in the drawing - it mentions a Butterworth filter (top left) - there isn't one any more, ignore it. TBC = To Be Confirmed, in this case probably slightly less than shown...but still allow +/-30% due to component variations...

SSTV V6 Demodulator 2.gif


Given the original Robot 70 demodulator this hardly resembles it at all. The only remaining vestiges are the two band-pass filters...IC201b and c.
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Harry Dalek » Mon Nov 14, 2022 5:12 pm

Should rename it to the Anderson demodulator , looks like a nice one to knock together when i do something on SSTV again .
The electromagnetic spectrum has no theoretical limit at either end. If all the mass/energy in the Universe is considered a 'limit', then that would be the only real theoretical limit to the maximum frequency attainable.
User avatar
Harry Dalek
"Fester! Don't do that to 'Thing'"
 
Posts: 5364
Joined: Fri Sep 26, 2008 4:58 pm
Location: Australia

Re: New SSTV Demodulator.

Postby Steve Anderson » Mon Nov 14, 2022 5:47 pm

Harry Dalek wrote:Should rename it to the Anderson demodulator....

Well, not really, I can't (and don't) claim originality for the design, particularly the two filters in the posting above, (IC201b & c) which are crucial to its operation. Those filters are conceptually exactly as Robot Research built them many years ago. Though I would like to feel I have improved the device in some other areas.

I did mention in a post or two back that a re-visit of the zero-crossing technique may be a worthwhile venture, though my first attempt did 'work', it had some issues. Primarily in sync-detection 'jitter'. Maybe a blend of the two techniques may be the answer? Perhaps even some serious over-sampling?

Considering the overall simplicity of it, and the previous results obtained, I'm going to leave it 'as is' and concentrate on following it on with a simplified SSTV-625 or VGA output up-convertor. My preference is for a VGA output at 600x800 pixels, but do many recent monitors still support that resolution? It is a 4:3 aspect ratio. Though it would eliminate the 625/50 and 525/60 worldwide division...I suppose there's only one way to find out...

Steve A.

Storms are gathering overhead, looks like it'll be a real wet night, usually all gone by November, but here we are...the contrast in the sky between bright and dark areas is more than my eyes (and my camera) can handle...I'm thankful I'm not 'up there' in amongst it...noticed a few birds roosting, they're not going anywhere in this impending crap...
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Tue Nov 15, 2022 6:25 pm

...ignoring the storms mentioned previous, which came to nothing, this is perhaps as far as this SSTV demodulator can go. Suggestions have been made to make the 'acceptance' bandwidth greater - but opening the window wider allows more dirt to blow in.

I'm more interested in making the conversion process from Cop McDonalds SSTV system simpler hardware-wise to either 525/625 or some PC standard. 525 lines is a bit of a pain though - there really isn't enough active lines to do SSTV justice, and/or it spills over into the overscan area of most CRT TVs....

Steve A.

There's been a couple of minor changes to the schematic posted above, but not enough to warrant a re-post right now...more to come...
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Klaas Robers » Wed Nov 16, 2022 3:39 am

Steve Anderson wrote: My preference is for a VGA output at 600x800 pixels, but do many recent monitors still support that resolution? It is a 4:3 aspect ratio....

That is correct Steve. VGA has "square pixels", that is 100 pixels down has the same distance on the screen as 100 pixels to the right. So to display an SSTV picture you may use 480 x 480 pixels. Or if it is originated from a ROBOT device: 512 x 512 pixels. I don't know if in the second example it should not be 480 x 512 pixels. I have seen pictures where the grey bar is "added" to the true square picture.

In my ROBOT 400 scan converter it is not better than almost correct. I should install a different crystal to get square pixels on my CCIR 625 lines B&W monitor, but then too many other divider chains should be changed, I will not do that. I know by heart that for our TV-standard the pixel-clock should be 7.5 MHz. In the ROBOT 400 the X-tal clock is 6.79 MHz, so my pictures are slightly too wide.
User avatar
Klaas Robers
"Gomez!", "Oh Morticia."
 
Posts: 1656
Joined: Wed Jan 24, 2007 8:42 pm
Location: Valkenswaard, the Netherlands

Re: New SSTV Demodulator.

Postby Steve Anderson » Wed Nov 16, 2022 5:14 pm

If at least one of my PC monitors here does support 800x600 VGA then I'll have a go at it.[1] My previous screen-shots at 625/50 were 512(V) x 256(H). Each frame was stored as 128x256 with each line being repeated once to create a 256-line active field. The 625 interlacing made it an effective 512 active scan lines where each field was an exact repeat of the previous one - with the exception of the vertical interval. Hence Harry's comment of not being able to see the base line-structure of 128 lines. The result is that in a 625 frame each SSTV line is displayed four times each being slightly displaced from the previous/following one..

The 800x600 VGA mode is not interlaced, very few PC modes were/are. It's also at a 60Hz frame-rate. The pixel clock frequency is 40.0MHz which implies a video bandwidth of 20MHz as opposed to the 5-6MHz of 625/50. So the 'upgrade' might not be as simple as it appears....this application may not need it, but an 'adapter' that can cope with that bandwidth may well be useful for other things too, NBTV even...

As I work on this I will keep in mind future development for colour which is RGB with separate V and H non-composite syncs...a total of five signals.

You'll notice this 800x600 VGA standard was adopted by VESA in 1990 - 32 yeas ago!!

Steve A.

[1] If none of the monitors here support 800x600 VGA I'm going to have to re-think the whole thing. That may not be such a silly idea anyway.

800x600-60Hz.png
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Thu Nov 17, 2022 12:45 pm

Delving a bit deeper into this I was reminded that there's five 'standards' for 800x600 VGA....

56Hz and 60Hz refresh rates defined as 'VESA Guidelines', and

72Hz, 75Hz and 85Hz refresh rates defined as 'VESA Standards'.

Why is nothing easy?

Steve A.
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Sun Nov 20, 2022 4:18 pm

A few minor changes to the SSTV demodulator, the addition of R225/6 improves rectification symmetry.

C207/8 may be needed if there's any sign of oscillation, they've not been required previously but that could be individual layout or a change of op-amp type. Values from 10-100pF. Also a slight change in the Sync Offset pot arrangement, VR201.

Note: The output (1A) is not a baseband SSTV signal, on a scope it looks a mess! It needs a following filter which previously was a Butterworth analogue version. In this instance it is to be digitised and passed through digital FIR filter which has fewer phase phase errors than an analogue version. The signal needs digitising at some point to do the up-conversion, so it may as well be done earlier rather than later. A plus point is also the removal of two op-amps.

It's possible that changing the four diodes (D201-4) to Schottky versions (1N60s) may be an improvement, but I doubt it'll be noticeable to any practical extent.

Steve A.

I'm hoping this will be the last time I work on this demodulator - I think this is going to be as good as it can get in this configuration.

SSTV V6 Demodulator 3.gif
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Sat Nov 26, 2022 4:56 pm

The final modified version (I really do mean it!) above of the Robot 70 demodulator above is going to be replaced by the following, though itself may go a few iterations...

...another update to be posted soon...see next posting...

The 20-pin PIC processor does all the demodulation and filtering required and writes directly to the FSTV serial RAM. An analogue output can optionally be generated from pin 5/RC5 via a filter to aid in tuning a SSB receiver and general waveform inspection on a 'scope. TP1 is to ensure the comparator in the PIC is doing its job properly, but it's just for development, it can be omitted.

The USB capabilities of the PIC are currently unused, but that may change.

Half/full-cycle sub-carrier demodulation selection is shown, though that may vanish depending on results.

I'm hoping this is a 'go' as it's so much simpler than the Robot70 version.

Steve A.
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby Steve Anderson » Mon Nov 28, 2022 12:04 pm

...a few more updates/iterations...

SSTV V6 Demodulator 6.gif


NOTE: Supply voltage changed to 3.3V to be compatible with the serial RAM that follows. R103/4 changed also as a result.
The input arrangement has been simplified while still providing input over-voltage protection to the processor.
Programming interface added should it be needed.
Optional analogue output filter added. Leave IC101, pin 5/RC5 open if not required.
Coding yet to be started. Further hardware updates as required.

Next is the RAM and read/output either at 625/50 or 800x600 VGA, i.e. one or the other only. Later it may be possible to make it switchable.

Steve A.
User avatar
Steve Anderson
"Fester! Don't do that to 'Thing'"
 
Posts: 5360
Joined: Fri Mar 30, 2007 10:54 pm
Location: Bangkok, Thailand

Re: New SSTV Demodulator.

Postby acl » Mon Nov 28, 2022 7:27 pm

Looking good, have you tried this yet with the original baseband SSTV to 625/VGA ?

Regards Chris Lewis
acl
Anyone have a spare straightjacket?
 
Posts: 439
Joined: Thu Mar 08, 2007 7:38 am

Next

Return to SSTV

Who is online

Users browsing this forum: No registered users and 12 guests

cron