The Raspberry Pi still needs to output data to another modulator / serialiser device, so I thought it would be more convenient to make a plug-in pcb for the RPi which will process the data and generate the RF. Coupled with a lithium battery, the idea is to make a completely self contained, portable, narrowband DATV transmitter for 146MHz or 437MHz. Digital filtering of the IQ data will maintain the narrow bandwidth of the RF. The IQ filter rolloff for DVB-S is 0.35, so my own rule of thumb is to be 60dB down at 1.35 times the symbol rate.
I'm working at 333k symbols / second at the moment, to give a bandwith of about 450kHz. Seeing F6DZP's posts, it looks like I should have thought thinner!
It's very much work in progress. F5OEO has remotely re-configured my RPi to enable the SPI ports, so that data can pass between pcbs. I've got to the stage of interfacing with F5OEO's software and producing analogue IQ data out of the digital-analogue converters. I had a cunning plan to interface the DACs to the QPSK modulator without using opamps, but that didn't work out, so the pcb needs a re-design. I think it's unlikely to be fully working by CAT14, but I'll see how it goes.
- DigiThin2.jpg (58.16 KiB) Viewed 6738 times
- DigiThin.JPG (85.88 KiB) Viewed 6738 times
They play OK with Windows Media Player. The low-res ones look better when not full-screened.
https://www.dropbox.com/sh/beyc5k1d2qyj ... whRKa?dl=0
The minimum place for sound choosing 48kHz, 32 kbps for ES give a result of about 41kbps for PES
so when you have on your example about 150 kbps for video at SR128 you will have only 110 kbps if you add sound.
The best solution is to work with a lower fps. We could keep better definition if we work at 15 or 12 fps.
It is better for our eyes to get better frames even if we have not 25 fps.
(remember our old 8mm movies that run at 18 fps)
So at SR 125kS I don't use less than 320x200 definition but slow down fps.
SR 250kS/s FEC 7/8 format 352x288 - 18 or 20 fps
my DV camera Firewire input
Video: ES H264 300 kbps PES+PCR 322.3 kbps
Audio: ES Mpeg1 layer2 48kHz 32 kbps PES 41.8 kbps
PAT 14.9 kbps
PMT 14.9 kbps
Null packets 2.3 kbps
SR 125kS/s FEC 7/8 format 320x240 12 or 15 fps
my DV camera Firewire input
Video: ES H264 110 kbps PES+PCR 126.4 kbps
Audio: ES Mpeg1 layer2 48kHz 32 kbps PES 41.1 kbps
PAT 14.4 kbps
PMT 14.4 kbps
Null packets 5.3 kbps
= 201.6 kbps
Jean PIerre F6DZP
There is always the option not to include sound. We rarely transmit sound with video from the local club and use the talkback frequency instead, but this may not be the usual approach.
I haven't tried reducing the frame rate yet. I assume that it would not be possible to output to a standard TV in that case.
As we will probably be receiving and displaying these low symbol rates on a computer (PC / RPi), maybe we should move away from using MP2 audio with its minimum bit rate of 32k and use our own non DVB-S compliant audio. There seems to be several licence free audio codecs available: Speex, Codec2, Opus, which have rates of a few thousand bits per second. I don't know much about them, or the cpu power required to use them.
As an experiment, perhaps Tutioune could be modified to use one of these codecs? It should be possible for DigiThin to digitise an audio input and pass the samples to the RPi for encoding.
I've been trying a U2790B qpsk modulator on 437MHz. This is much easier to work with than the AD8345, having single-ended self-biasing LO and IQ inputs. With 1.27mm pin spacing, it's also a lot easier to solder. The spec doesn't seem as good, with harmonic products at a higher level, but I'm experimenting with reducing the IQ drive level, which should help.
There are also some harmonic components in the IQ signals, which are only 40dB down. I may need a better quality opamp after the DAC. The goal for a 333k symbol signal is to be 60dB down at 500kHz bandwidth. The plot below (100kHz / div) shows that it's getting there, but there's a bit more work to do.
I can send transport stream data from the RPi to the DigiThin pcb, although I haven't received a picture yet. I'm waiting for a TT S2-1600 sat rx card to arrive which, with F6DZP's low symbol rate optimised version of Tutioune, will enable me to check that a valid transport stream is being produced.
- Photo0044a.jpg (209.32 KiB) Viewed 6056 times
The analyser is set to 10dB / 200kHz per division, resolution bandwidth 10kHz. The analyser gain was adjusted so that the single sideband test with all the power in one carrier was at the top of the screen. I'm not sure if that's cheating, but it does show power levels relative to PEP.
It's pretty close to meeting 60dB down at 500kHz. There are still some distortion products coming out of the digital-analog converter which are causing the widening at the base. I'm hoping to improve that by tweaking the digital filter bandwidth. You still have to amplify it and keep it that narrow of course.
There's still plenty of hardware and software tweaking to do.
The source of the surface mount DAC7801KU (not to be confused with the AD7801), which was the only one I could find to do the job, has dried up. There seem to be plenty available at reasonable cost on Alibaba / AliExpress, but I've never bought from there. If anyone has experience in this market and would be willing to help source the chips, please comment here.
60 dB is a very good value. I am very happy to see all the progress in such few weeks.
We are going to have good tools now for testing NBDATV.
Just a remark : After many tests last month, we have seen that , at this low SR, when the modulator locks, there is very few % of Vber, so there is no need to use strong Viterbi correction.
So we use FEC 7/8 to max FEC 5/6 when we work at SR250.
FEC 7/8 is chosen most of time, so we let more place for video data.
Jean Pierre F6DZP
The 7800 is serially loaded, but the dsPIC isn't fast enough to use it.
The other one in the series is the 7802 which has 12 bit parallel load. There aren't enough pins on the dsPIC for a 12 bit bus and there's no way of making the 2 DACs update at the same time.
http://www.ebay.de/itm/DAC7801-12-Bit-D ... 255526d418