Back home (and dry)...working on the SSTV demodulator, designing the output filter. Currently this initial FIR filter only uses 19 'taps', and produces this step response. Flat (+/-0.25db) to 1kHz, -43db from 2kHz upwards, sampling rate 10kHz, approx. 8% overshoot.
A 'proper' windowed sinc filter arguably slightly better, though somewhat more complex...
X-axis, 100us/sample, Y-axis, arbitrary value.
- FIR v1.gif (5.99 KiB) Viewed 8867 times
The code for the filter will be within the demod micro [1], its output being a byte-stream to feed the write micro. Possibly an arrangement to feed a D-A to generate a baseband SSTV signal...maybe/optional....though I can't think of a use for it perhaps with the exception of monitoring the signal on a 'scope...which is no bad idea I suppose...and/or some form of 'tuning indicator' for those on SSB.
[1] I hope to be able move the demod code into the write processor in time, thereby eliminating the demod micro...but - one step at a time...
...plus a stand-alone analogue output demodulator could come in useful sometime in the future...
Steve A.
04/04/21 Getting all those 6,000-odd bytes for the look-up table from the spreadsheet into a suitable format for the assembler is proving a challenge! Not something I wish to do again in a hurry!
A while later...I re-did the spreadsheet, now I have the look-up table done...it took a bit of "kicking and screaming", but it's done! Covers the sub-carrier frequencies from 300Hz to 3067Hz...already 'copied & pasted' into the assembler...there's 16 values per line...and there's a few hundred of them! Four example lines below...
- Code: Select all
Data 0x04C2, 0x04C4, 0x04C5, 0x04C6, 0x04C8, 0x04C9, 0x04CB, 0x04CD, 0x04CE, 0x04D0, 0x04D1, 0x04D3, 0x04D4, 0x04D6, 0x04D7, 0x04D9
Data 0x04DA, 0x04DC, 0x04DD, 0x04DF, 0x04E0, 0x04E2, 0x04E4, 0x04E5, 0x04E7, 0x04E8, 0x04EA, 0x04EB, 0x04ED, 0x04EF, 0x04F0, 0x04F2
Data 0x04F3, 0x04F5, 0x04F7, 0x04F8, 0x04FA, 0x04FC, 0x04FD, 0x04FF, 0x0500, 0x0502, 0x0504, 0x0505, 0x0507, 0x0509, 0x050A, 0x050C
Data 0x050E, 0x050F, 0x0511, 0x0513, 0x0514, 0x0516, 0x0518, 0x0519, 0x051B, 0x051D, 0x051F, 0x0520, 0x0522, 0x0524, 0x0526, 0x0527