Friday, June 21, 2019

Setting up your DBV-S2 Decoder for QO-100 (Eshail-2) on Linux

Setting up your DBV-S2 Decoder for QO-100 (Eshail-2) on Linux.

I wanted to decode DBV-S2 signals on my Ubuntu Linux and here is my instillation details to make it work.

Here is a 333k DBV-S2 signal decoding Video (MSI sdr)

rx_sdr -f 747007200 -g 19 -s 2400000 - |./leandvb  --gui --inpipe 32000000 --nhelpers 6 --sr 333e3 --sampler rrc --rrc-rej 30 --standard DVB-S2 --ldpc-helper ldpc_tool -v -d | vlc -

What hardware do you need.

1) 1.2M Dish.
2)  Horizontal polarized LNB.
3) Power injector (13 or 18V)
4) MSI SDR dongle 12bit 10M Sampling.
5) Laptop.
6) Software to decode DBV-S2 signal from Satellite.

Hardware required for DBV-S2 from QO-100 Satellite

Software Required for DBV-S2 decoding on Linux (Ubuntu)

MSI SDR driver, Leansdr, vlc


This Project has working script for the different Bit rates.

250K,333K,500K and 2M bit rate
Changing the -sr 2000e3 parameter for your bit rate as seen on the https://eshail.batc.org.uk/wb// page.
Changing the -f 742307200 to adjust to center frequency to be in the middle using --gui flag to see spectrum
Remove the --guid when you have the frequency centered as it uses too much CPU if you have a slow PC or Laptop
Example of 2M Beacon decoder. 
rx_sdr -f 742307200 -g 19 -s 2400000 - |./leandvb --inpipe 32000000 --nhelpers 6 --sr 2000e3 --sampler rrc --rrc-rej 30 --standard DVB-S2 --ldpc-helper ldpc_tool -v -d | vlc -

Software Installation procedure.

Dependency software

Soapysdr
MSI api driver
rx_sdr
rtl_sdr
DVB-S2 Software
Download the Leansdr from  github https://github.com/pabr/leansdr.git
Download and install the SDRPlay API driver https://www.sdrplay.com/windl.php
Download and install the rsp_tcp server not neseitie but handy when testing https://github.com/SDRplay/RSPTCPServer
Download and install GQRX follow the instructions here http://gqrx.dk/download/install-ubuntu
DVB-S2 Software.
Install VLC sudo apt-get install vlc
git clone http://github.com/pabr/leansdr.git
cd leansdr/src/apps

Edit the Make file with your text editor, I use vi and un comment the following line
vi Makefile
Uncoment the following line(remove #)
# For DVB-S2, find and uncomment LEANSDR_EXTENSIONS<br>
make
Set the buffer size
echo 32000000 > /proc/sys/fs/pipe-max-size
cd leansdr/test
make leandvb-ft
Stay in the test directory
git clone -b ldpc_tool http://github.com/pabr/xdsopl-LDPC-pabr
cd xdsopl-LDPC-pabr make CXX=g++ ldpc_tool
cd ldpc_test
make leandvb-snr
If all worked ok we now need to copy the ldpc_tool in the apps directory
cd ../src/app/
cp -R ../../test/ldpc_tool ./
There should now be an ldpc_tool directory in the leansdr/src/app/ directory
We are now ready to start testing.

Example of testing signal.

Please make sure you have at least 7 to 8 db S/N (signal to Noise signal of the DVB signal from your Dish by checking it on normal SDR software like gqrx)
This script for this project can be downloaded from github here https://github.com/antonjan/qo-100-dbv-s2

rx_sdr -f 742307200 -g 19 -s 2400000 - |./leandvb --inpipe 32000000 --nhelpers 6 --sr 2000e3 --sampler rrc --rrc-rej 30 --standard DVB-S2 --ldpc-helper ldpc_tool -v -d | vlc -rx_sdr can be replaced  by rtl_sdr if you are using a normal dongle



Important command line Parameters to consider
  • --drift track for Oscillator drift 
  • --decim N Decimation if you over sample this could improve the S/N (Signal to noise ratio) 
  • --sampler --rrc-rej add additional filter. 
  • --inpipe BYTES add bigger buffer if your CPU is very busy this could help to resolve the gaps when CPU is busy (E.G. 32000000). 
  • -f HZ Specifies the sampling rate of the I/Q stream on standard input ( I am using RX_sdr and not RTL_tcp witch alow me to use SDRPLAY MSI chipset devicess that can sample upto 10Mhz) -sr HZ (2e6, 1e6, 500e3, 333e3, 250e3). 
  • --tune HZ For example a signal at 397.1 MHz can be received either with rx_sdr -f 397100000 | leandvb or with rx_sdr -f 397000000 | leandvb 
  • --tune 100e3 --ldpc-helper ldpc_tool (allow U to use external tools to decode DVB E.G ldpc_tool 
  • --standard DVB-S2 (Spesify the Decoding to be done)

Hardware required.

Please note all the hardware is avalable from Giga Technology http://www.giga.co.za
Linux (Ubuntu)
MSI (MSI chipset rtl dongle 12bit 10Mhz sampleing
Power injector for LNB
18V Powersupply 1.2M dish preferd to get proper Signal to noise ration to get stable reception.
LNB and coaxle cable with connectors.

Possible problems.

ldpc_tool is not in apps directory.
Signal to Noise is at least 7-8db (S/N).
Laptop or PC do not have enough CPU available.
Disable --guid and pre processing options to reduce CPU usage.
Computer / Laptop do not have an enough CPU.

 

Screen Shots of some of the decoded Video's. https://eshail.batc.org.uk/wb/

250khz DBV-S2
333Khz DBV-S2
2Mhz DBV-S2

I will create a blog post how to setup DBV-decoding for windows.

here is an sample image.
Windows software is available here  http://v.1337team.tk/dvb-s_gui_amsat.zip
more details to come

more details to come


1: Select SDR and start Device.
2: Select correct Frequency.
3: Tune into the middle of the stream, every little bit counts with the bandwidth from the SDR.
4: Select correct Symbolrate.
5: Select mueller and muller filter (for all lower symbolrates use the gardner filter).
6: Check box Carrier recovery Enabled, if you do this right, you should see more symbols inside the IQ plot.

Play with the Carrier Recovery Loop Gain and Damping Sliders until you can see a circle inside the IQ plot and set appropriate Baseband-Gain Settings without overdriving.
A valid QPSK constellation should also appear.
For weak signals, increasing gain and damping can be necessary.

If you see the QPSK constellation (4 dots), you can decrease the gain again.
Keep also your eyes on actual symbolrate (right under).
When symbolrate is going higher, slightly go 1 symbolrate up and down, the symbolrate must stay around 1500 or the chosen value.
 

Then Open up VLC and let it connect to your AMSAT_DBV_Guid Application Listeniing on Port 8888


MPEG-TS output is localhost, UDP at port 8888.
Open VLC and insert Network Stream: udp://@:8888

No comments:

Post a Comment