Meteor M-N2 Images

Saturday, 25 April 2015

Meteor M-N2 reception with a HackRF


If you've got a HackRF you can easily use it to receive pictures from weather satellites in low earth orbit without tracking antennas, just like the one above (NB. the two thick black lines are a fault with the spacecraft and not with my reception!). NOAA have several LEO weather satellites in operation but these only transmit an older, lower resolution picture. The newer NOAA satellite had a problem which means that it does not transmit in the VHF frequencies.

However, the Russian satellite - Meteor M-N2 - is operational transmitting LRPT in the 137 MHz band.

There is a method of receiving these pictures on Linux using cheap RTL dongles (there are also methods on Windows which I will not cover) and I have adapted this method to work with the HackRF. Specifically I have also moved the receive frequency of the satellite away from the centre frequency the HackRF is tuned to. This avoids the centre DC spike and associated problems.

In the UK the satellite band is very close to wide area pager frequencies, this leads to considerable breakthrough of pager transmissions into the very weak satellite signals. This interference causes the couple of yellow and blue lines in the image above. What I have found is that this method of reception with the HackRF is much less susceptible to pager problems that when using an RTL dongle. It is also more sensitive compared to my RTL dongle leading to images received to lower elevations (where the signal is weakest).

The GNUradio program I have adapted is available here. Of course, you will need GNUradio installed (if you have a HackRF you presumably already do!)

You will find reference to my home directory in it which you will need to change first, and also make it executable chmod +x meteor_qpsk_rx_hackrf.py

Then simply run it by typing ./meteor_qpsk_rx_hackrf.py from the directory that you copied it into.

When you are receiving the satellite it helps to adjust the PLL Alpha slider on the QPSK constellation window to lock onto the signal (with the four clusters on the constellation) and when lock is achieve to move this slider to its minimum setting. With no signal the constellation should look iike this:






When the satellite is close I see a spectrum like the screen shot above, and the constellation like the screen shot below.



To work out when Meteor M-N2 is going to be nearby use the GPredict satellite tracking program.

Once the soft symbol.s file has been received using this program then it is time to open Oleg's LRPTOffLineDecoder program to produce the image. This is a Windows program but runs well under Wine in Linux.


The image above is a part of the window of Oleg's program. 
  • Click the "72k" button (as the satellite is sending data at a symbol rate of 72k but it has also sent at 80k).
  • Navigate to the place on your hard drive where the .s output file from the GNUradio program is stored, select the file and click ok.
  • You should see the two progress bars start to move and the constellation of the received signal show in the top left hand side of the window.
  • This step can take some time. 
  • If the image can be decoded the infrared/visible channels received will be shown to the right hand side.
  • Click "RGB" to generate a false colour image, you need to select the RGB drop down lists to correspond to the wavelengths that were received otherwise you will just get an all white or black image. You can also change the RGB settings to change the colouration of the image. At this point you can also save the image.
Oleg's website has other examples of images received plus links to the software etc. You can see other images I have received here.

NB: for nightime images only the infrared wavelength is usable (normally 10.5-11.5) so set the RGB settings all to 10.5-11.5. To achieve an image you can make sense of you will need to load the resulting image into GIMP and flip it horizontally, flip it vertically then invert the colours. Then adjust the contrast and brightness to bring out the land/sea by trial and error.

The image below is a night time image. This has not been rectified to take out the curvature of the earth as the image at the top of this post has.



The best antenna to use is a QFH, this link has details of how to build one. However, you could use a Crossed dipole, egg-beater (really!), or a simple quarter wave. You will receive something on a good overhead pass on a quarterwave or an amateur 2 metre antenna but don't expect images like the ones on this page. Of course, whatever antenna you use it should be as high and as in the clear and outside as possible. Having said that my QFH is pushed up through the branches of a tree. I also use an old 2 metre pre-amplifier to give the signal an added boost.


Monday, 22 December 2014

2014 goals update


Earlier this year I wrote about my thirty years as a radio amateur. I created a to do list, here's how I got on:
  • Have a JT65B QSO - I have completed quite a few contacts on 10W, mainly on 17m, it is amazing how far low power can reach as I have made contacts from Japan to South America.
  • Run WSPR to test antenna configurations - I have used WSPR to check out antennas as I have made changes.
  • Receive QRSS signals - Done, see here
  • Amend my Arduino WSPR system to also transmit QRSS. I've done this, and also added transmission of Sequential Multi-tone Hellschreiber, see here
  • Build a 70Mhz amplifier - I completed my 70Mhz transverter by adding a 10W amplifier made by an amateuamateur in Poland. It now drives a Philips A200 linear to 50W.
  • Erect a 50/70Mhz beam - I built a 4m Moxon but still want to get something better up.
  • Have a go at meteor scatter operation on 50/70Mhz - not achieved, the 4/6m beam is a prerequisite.
  • Receive signals bounced off the moon. Not achieved, I'm going to take it off the list.
  • Do some portable HF operating with my FT-817. Not really achieved, apart from one contact while on holiday.
  • Get my CW speed back up to something usable - I think this is a long shot but it needs to be on the list! It's improving but still a little way to go.

Mini-Digi-Holiday-DXpedition

This year I decided to try some operating from our holiday location of Saas Fee in Switzerland (JN36xc, or so the app on my phone told me). I decided to only use WSPR and JT65 on the 40/20/17m bands. These are the bands that I have made loading coils for use with my PAC-12 vertical antenna.

20m WSPR

17m WSPR

Digital only because 5W from an FT817 doesn't go very far when surrounded by 4000m peaks on three sides as Saas Fee is.

It took me a while to make my first JT65 contact (on 17m) because at times the QRM on 20m was very high, with some specific QRM on the 17m JT65 frequency. I didn't track down the cause of the interference but I assume it was something in the village. When it was not present I received signals from Japan to south America as you can see from the PSKreporter screen shot below.

20m JT65 signals received in 30 minutes


20m JT9 received in the US
I was pleased to see that my JT9 signal was received in the US.


 40m WSPR reception was good around Europe.

My 40m WSPR signal was received in VK.

Despite calling CQ on JT65 and JT9 I only managed to make one JT65 contact, this seems odd to me given the fact that I could see that my signal was being logged on PSKReporter. I am happy that my antenna was working well based on its performance with WSPR.

Given the efficiency of JT65 I had assumed that it would be possible to make more contacts but I can only surmise that the reason I didn't was because of the following:
  • 2.5W is too low power
  • Other stations got confused by the different message format that JT65 generates when using a callsign prefix.
Given that the take off was shielded on three sides by 4000m mountains I am pleased with the receive performance of the PAC-12 antenna.

On one day I took the 817 out of the apartment and tried for some SSB contacts on 40m. The beauty of the location I was at is that at 2397m it was about 600m higher than Saas Fee and with a clearer take-off to the north. The noise figures on 40m here was S0 and there were many special event stations loud and clear. Unfortunately, they were generating pile-ups that I was not going to break through with 5W. I did have one contact into north Wales but it was hard going for the other station.

I would like to get my CW skills polished up so I can try some QRP CW for holiday operating, next year we are going on holiday to somewhere with a better take-off which might also help.




Saturday, 20 September 2014

Thunderstorm in the English Channel


Thunderstorm between Cherbourg and Le Harve

The Meteor M-N2 weather satellite, previously described here, picture received on 20/09/2014 shows a large thunderstorm in the English Channel, completely filling the area of sea between Cherbourg and Le Harve.

Just after I received the picture I grabbed a screen shot from www.lightningmaps.org of the real time lightning strikes from the storm, see below.


The full Meteor M-N2 image I received is below.


Tuesday, 16 September 2014

Receiving Meteor M-N2 weather satellite


Segment of the first Meteor M-N2 image successfully received

The Russians recently (2014) launched the second in the line of Meteor M weather satellites. Meteor M-N2 transmits Low Rate Picture Transmission (LRPT) format pictures round the clock on 137.100Mhz. This format is of higher resolution that the older APT format.

There have been two excellent people helping with software and advice on how to receive images from this satellite. These are Raydel Abreu Espinet, CM2ESP, and Oleg Bekrenev.

Oleg has provided a program to process the captured signal and produce images like the one you see above. Raydel has provided a GNUradio program to capture the signal.

I don't intend to go into detail about what each program does or why as I don't have time but purely to describe how I received the images and offer pointers to Oleg's website where more information is available. The confusing aspect of receiving these images is that there is more than one way of doing it.

So, firstly my equipment:
  • Antenna - homebrew QFH antenna
  • Pre-amp - old Microwave Modules 144Mhz preamp
  • Receiver - RTL-SDR dongle
  • Computer running Ubuntu 14.04, xfce windows manager
The strength of the signal from the satellite is not strong and I did not receive a good signal until I added the pre-amp. The RTL dongle has the necessary bandwidth, it may be possible to use an original Funcube Dongle Pro but this only has 92khz of bandwith and this may be too narrow. I am sure a Funcube Dongle Pro+ will work very well. Not only does this have 192khz of bandwidth but the FCD's are both very much more sensitive than the RTL dongles. Other SDR receivers will also work of course.

So, first thing to do is optimise your receiving set-up and adjust the gain of your SDR device using a known signal source. I use London Heathrow ATIS as this transmits all the time. You need to find the sweet spot of your dongle between LNA gain and IF gain, to maximise gain without overloading the SDR. This is crucial, I copied an 88 degree overhead pass on Sunday and only received a short amount of picture. The next day the image you see here was at about 66 degrees elevation and I got very good results. I have a feeling that finding the sweet spot of the gain controls might be difficult.

Once you have optimised your settings use a program like GPredict or your favourite satellite tracking program to identify suitable Meteor M-N2 passes.

Use Raydel's GNUradio soft symbol decoder to capture the data stream from the satellite and decode to a format that Oleg's image processing program can understand. Raydel's instructions (and a link to the GNUradio program are here, note that this document covers several different method of receiving and decoding the signal). 


The received constellation should look like this is you are receiving the signal correctly.

Once the soft symbol.s file has been received then it is time to open Oleg's LRPTOffLineDecoder program to produce the image. This is a Windows program but runs well under Wine in Linux.


The image above is a part of the window of Oleg's program. If you have captured the signal using the GNUradio program then the processing of the data follows these steps (I think it is different if you have captured the signal in a different way):
  • Click the "72k" button (as the satellite seems to be sending data at a symbol rate of 72k but it has also sent at 80k recently).
  • Navigate to the place on your hard drive where the .s output file from the GNUradio program is stored, select the file and click ok.
  • You should see the two progress bars start to move and the constellation of the received signal show in the top left hand side of the window.
  • This step can take some time. 
  • If the image can be decoded the infrared/visible channels received will be shown to the right hand side.
  • Click "RGB" to generate a false colour image, you need to select the RGB drop down lists to correspond to the wavelengths that were received otherwise you will just get an all white image. You can also change the RGB settings to change the colouration of the image. At this point you can also save the image.
Oleg's website has other examples of images received plus links to the software etc.

The picture below is the full image I received on 16/9/14. The white bar occurs every 6.5 minutes and is a programming error of the satellite code that apparently cannot be resolved. 

This is not a soup to nuts description of how to receive these images. You will need to read the instructions produced by Raydel in particular but it should enable you to capture these images quicker than the several weeks that is has taken me to learn how to do it.



Monday, 18 August 2014

FreeDV - open source digital voice

I had been sceptical of digital voice modes as the standards supported by the major manufactures are all proprietary. This will lead to competing 'standards' along the lines of Betamax vs VHS where early adopters are the losers.

Recently I became aware of an open source standard which will work on existing pc's called FreeDV. I have also realised that digital voice on HF is no different to RTTY, PSK or JT65 for communicating because those modes are also only able to be decoded by computer. Given the woeful state of my CW I may as well add that to the list as well! 

My computer runs Ubuntu 14.04 with the xfce windows manager. There is a FreeDv package available from the FreeDV link above which works with this configuration. I did try to install it on Linux Mint 16 but had problems.

The trickiest part of configuring FreeDV is setting up the sound cards. Two are needed. One can be the standard sound card built into the computer and the other can be the sound card that is built into a USB headset (headphones and microphone).

To configure the 4 inputs and outputs I needed to use alsamixer and pavucontrol (both available from the Ubuntu Software Centre).


alsamixer setup for the internal sound card used for the audio input from radio to computer (using the computer line in socket) (1) Note that 'Input source' is set to the input you are using to get audio from the radio and 'Capture' is used to set the level for that input source.

 alsamixer setup for the Logitech headset headphones (2)

alsamixer setup for the Logitech headset microphone (3)

alsamixer setup for the internal sound card used for the audio output from computer to radio (to be honest I don't know which setting is used here but the socket on the computer is audio out) (4)

 
This is the FreeDV audio configuration screen corresponding to screenshots 1 & 2 above

This is the FreeDV audio configuration screen corresponding to screenshots 3 & 4 above

I also had to use pavucontrol (PulseAudio) to adjust the transmitted audio so it isn't over driving the radio, although I haven't experimented enough to see if I could also do this using alsamixer. I think I should be able to.

I have a Yaesu FT-920 and the audio in/out from the computer is connected to the data port along with the USB-serial CAT cable for PTT control.


What the FreeDV waterfall looks like without a digital signal being received.

That's it for now, there are more instructions for setting up and using FreeDV here.

If you would like to set up a sked please let me know, my email is on the top right of this blog or on QRZ.com (G0FCU).

Monday, 16 June 2014

Arduino Antenna Analyser

Inverted-L SWR plot

The alternative title for this post could be "Even more fun with antennas"! 

I know that the inverted-L that I erected recently resonates on the bands that I wanted it too (i.e. 10/14/18Mhz) but tuning wire antennas to resonance always involves a lot of running between ends of the antenna and rig, taking notes of SWR achieved at specific frequencies and working out whether to shorten or lengthen the wire. 

An antenna analyser can help reduce some of this effort as you get a graph of SWR plotted against frequency. However, these cost upwards of £200. Now bring to the table the ubiquitous Arduino, my favourite 'toy' tool of the moment.

I found several designs for antenna analysers based on Arduino's but I think it was someone on Twitter who pointed me to the design by K6BEZ. If you have an Arduino and a few resistors this is really cheap to make. I had to buy the diodes and the op-amp, but these cost me less than £10 on e-bay with an op-amp and about 10 diodes to spare.

Fortunately I also found Matt Gumbley's website and Matt has designed a Veroboard layout for the K6BEZ circuit. This made building the circuit very simple and it worked first time for me. I didn't have any 50 ohm or 648 ohm resistors so I used a 27R and 22R in series (49R) in place of the 50R resistors and a 470R & 180R in series (650R) in place of the 648R resistors.

Setting the frequency range to scan involves entering the commands below via the Arduino serial monitor. The key commands in the Arduino sketch are:
  • frequencyA - set the frequency to start the scan from, in Hz.
  • frequencyB - set the frequency to end the scan at, in Hz.
  • stepsN - set the number of steps for the scan
  • ? - displays the parameters that have been set
  • S or s - start the scan
e.g. 12000000A sets the start frequency to 12Mhz.

For a 1Mhz to 30Mhz scan I use 2000 steps.

The results are returned to the serial monitor and in the default sketch are:
  • frequency,0,swr,forward voltage, reverse voltage
To get the graphs shown here I have simply copied the data into a spreadsheet, converted the frequency to MHz by dividing by 1000000, and divided the SWR by 1000. I have then used gnuplot to create the graphs.

The gnuplot commands I used are:
set term canvas size 600,400
set output "g5rv.html"
set linetype 1 lw 1 lc rgb "blue" pointtype 0
set xlabel 'Frequency (MHz)'
set ylabel 'SWR'
set xtics scale 2,1
set mxtics 5
plot 'data' smooth bezier title 'G5RV antenna'

Line 2 sets the output filename  to 'g5rv.html'.
Line 8 loads the data from a file called 'data' (frequency and swr, one pair of data values per line, separated by a space) and give the output the title 'G5RV antenna'.

G5RV SWR plot
5 MHz dipole SWR plot

What this shows me is that my G5RV resonates slightly higher in frequency than the 80m & 40m amateur bands but that my 5 MHz dipole and the Inverted-L resonate exactly where I want them to.

Even better is that I have got an antenna analyser for less than the price of a pint of beer. Cheers!