gut-space / svarog

📡 A ground stations network for receiving satellite transmissions, using VHF, UHF, and more.
MIT License
9 stars 0 forks source link

HRPT reception (L-Band) #60

Open tomaszmrugalski opened 2 years ago

tomaszmrugalski commented 2 years ago

To receive HRPT the following steps are necessary:

Seems a bit overwhelming at first... but let's tackle the problems one step at a time.

tomaszmrugalski commented 2 years ago

Nice info with a sat list here and overview of the HRPT reception station.

tomaszmrugalski commented 2 years ago

Here's an impressive set of decoders for L-Band transmissions.

tomaszmrugalski commented 2 years ago

The WiMo grid dish 24dBi antenna has arrived some time ago. Now I need to figure out where to put it. It's probably too big for my balcony.

UPDATE: No, it wasn't. It's actually more compact than the X-Quad.

tomaszmrugalski commented 2 years ago

Here's a list of sats that transmit in the 1700MHz range:

tomaszmrugalski commented 2 years ago

After some basic research, I've decided to go ahead and try Nooelec SAWBird+ GOES that is designed for NOAA, but hopefully will be able to work with other transmissions in the similar frequencies.

tomaszmrugalski commented 2 years ago

For the SDR, I have two options:

Early tests for XTR show that there's a parasitic noise at the tuned frequency (no matter which freq I choose, there's a signal at the center of the bandwidth). This problem can be mitigated (but not eliminated completely) by decreasing IF gain to very low value, close to 0.

tomaszmrugalski commented 2 years ago

I've made some experiments with NESDR SMarTee XTR, but the results were not satisfactory. There were two problems. First, there was a constant interference at the center of the bandwidth, regardless of the frequency set. I've tried to locate the source. The experiments strongly suggest it is the SDR itself that causing this. The following is an SDR not connected to anything: test4-sdr-only

One mitigation technique is to decrease IF gain to almost zero. It alleviates the problem, but does not resolve it completely.

tomaszmrugalski commented 2 years ago

Switched to AirSpy and there's a substantial progress! See the spectrum below:

n19-6

The Doppler shift is clearly visible in the waterfall. This is HRPT from NOAA 19! Next step is to figure out how to decode it.

tomaszmrugalski commented 2 years ago

The procedure to decode is to:

  1. record raw IQ data in GQRX. The bandwidth is much, much wider than APT or LRPT. According to this page, the transmission is 4MHz wide. So I used 6MSPS sampling in AirSpy. I'm not sure if that page is correct, though. I found some pages that claim that RTL (with bandwidth of 2.4MSPS) can barely receive it.
  2. Run through the GNU Radio pipeline for NOAA. I used the pipeline in examples/Offline_NOAA_Decoder GQRX.grc. It will generate an output file that has the digital stream decoded.
  3. This is then processed using HRPT decoder.

In the step 2, I got this output:

Executing: /usr/bin/python3 -u /home/thomson/radio/gr-hrpt/examples/hrpt_noaa_decoder.py

MF: 1  SA: NOAA18  DOY: 363  MS: 69183206  DT: 69183206
MF:*1  SA: NOAA18  DOY: 363  MS: 69054118  DT:  -129088
MF:*3  SA: NOAA18  DOY: 363  MS: 69187041  DT:   132923
MF:*2  SA: NOAA18  DOY: 363  MS: 68930229  DT:  -256812
MF:*1  SA: NOAA18  DOY: 363  MS: 69193706  DT:   263477
MF: 2  SA: NOAA18  DOY: 363  MS: 69195873  DT:     2167
MF:*2  SA: NOAA18  DOY: 363  MS: 69196873  DT:     1000
MF:*2  SA: NOAA18  DOY: 363  MS: 69132337  DT:   -64536
MF:*2  SA: NOAA18  DOY: 363  MS: 69198873  DT:    66536
MF: 3  SA: NOAA18  DOY: 363  MS: 69200540  DT:     1667
MF: 1  SA: NOAA18  DOY: 363  MS: 69223206  DT:    22666
MF:*3  SA: NOAA18  DOY: 363  MS: 69226040  DT:     2834
MF:*2  SA: NOAA18  DOY: 363  MS: 69228373  DT:     2333
MF:*2  SA: NOAA18  DOY: 363  MS: 67132221  DT: -2096152
MF:*1  SA: NOAA18  DOY: 363  MS: 69231206  DT:  2098985
MF: 2  SA: NOAA18  DOY: 363  MS: 69232373  DT:     1167
MF:*2  SA: NOAA18  DOY: 363  MS: 69233373  DT:     1000
MF:*2  SA: NOAA18  DOY: 367  MS: 69233873  DT:      500
MF:*2  SA: NOAA18  DOY: 363  MS: 69235373  DT:     1500
MF:*2  SA: NOAA18  DOY: 363  MS: 69235873  DT:      500
MF: 3  SA: NOAA18  DOY: 363  MS: 69236706  DT:      833
MF:*3  SA: NOAA18  DOY: 363  MS: 69239540  DT:     2834
MF:*2  SA: NOAA18  DOY: 363  MS: 69241373  DT:     1833
MF: 3  SA: NOAA18  DOY: 363  MS: 69243540  DT:     2167
MF:*3  SA: NOAA18  DOY: 363  MS: 69244040  DT:      500
MF:*2  SA: NOAA18  DOY: 363  MS: 69244373  DT:      333
MF:*2  SA: NOAA18  DOY: 361  MS: 69246373  DT:     2000
MF:*2  SA: 000008  DOY: 238  MS: 45393090  DT: -23853283
MF: 3  SA: NOAA18  DOY: 363  MS: 86029756  DT: 40636666
MF: 1  SA: NOAA18  DOY: 363  MS: 69256706  DT: -16773050
MF: 2  SA: NOAA18  DOY: 363  MS: 69258877  DT:     2171
MF: 3  SA: NOAA18  DOY: 363  MS: 69259041  DT:      164
MF: 1  SA: NOAA18  DOY: 363  MS: 69259706  DT:      665
MF:*1  SA: NOAA18  DOY: 363  MS: 69263206  DT:     3500
MF: 2  SA: NOAA18  DOY: 363  MS: 69264373  DT:     1167
MF:*1  SA: NOAA18  DOY: 363  MS: 69527350  DT:   262977
MF: 2  SA: NOAA18  DOY: 363  MS: 69265873  DT:  -261477
MF:*2  SA: NOAA18  DOY: 363  MS: 69266373  DT:      500
MF: 3  SA: NOAA18  DOY: 363  MS: 69267040  DT:      667
MF:*3  SA: NOAA18  DOY: 363  MS: 69267540  DT:      500
MF: 1  SA: NOAA18  DOY: 363  MS: 69269706  DT:     2166
MF: 2  SA: NOAA18  DOY: 363  MS: 69271373  DT:     1667
MF:*1  SA: NOAA18  DOY: 363  MS: 69274254  DT:     2881
MF:*1  SA: NOAA18  DOY: 363  MS: 69272706  DT:    -1548
MF:*1  SA: NOAA18  DOY: 363  MS: 69273206  DT:      500
MF:*1  SA: NOAA18  DOY: 363  MS: 69273706  DT:      500
MF:*1  SA: NOAA18  DOY: 363  MS: 69274206  DT:      500
MF:*3  SA: NOAA18  DOY: 363  MS: 69274540  DT:      334
MF:*2  SA: NOAA18  DOY: 363  MS: 69277373  DT:     2833
MF: 3  SA: NOAA18  DOY: 363  MS: 69278040  DT:      667
MF: 1  SA: NOAA18  DOY: 363  MS: 69278710  DT:      670
MF: 2  SA: NOAA18  DOY: 363  MS: 69279373  DT:      663
MF:*1  SA: NOAA18  DOY: 363  MS: 69281207  DT:     1834
MF: 2  SA: NOAA18  DOY: 363  MS: 69282373  DT:     1166
MF:*1  SA: NOAA18  DOY: 363  MS: 69282706  DT:      333
MF:*1  SA: NOAA18  DOY: 363  MS: 69283206  DT:      500
MF:*3  SA: NOAA18  DOY: 363  MS: 69284040  DT:      834
MF:*2  SA: NOAA18  DOY: 363  MS: 69417445  DT:   133405
MF: 3  SA: NOAA18  DOY: 363  MS: 69287040  DT:  -130405
MF:*2  SA: NOAA18  DOY: 363  MS: 69287873  DT:      833
MF: 3  SA: NOAA18  DOY: 363  MS: 69289540  DT:     1667
MF:*3  SA: NOAA18  DOY: 363  MS: 69292540  DT:     3000
MF:*2  SA: NOAA18  DOY: 363  MS: 69294373  DT:     1833
MF:*2  SA: NOAA18  DOY: 363  MS: 69331141  DT:    36768
MF:*2  SA: NOAA18  DOY: 363  MS: 69302873  DT:   -28268
MF:*2  SA: NOAA18  DOY: 363  MS: 69303873  DT:     1000
MF:*2  SA: NOAA18  DOY: 363  MS: 69304373  DT:      500
MF:*1  SA: NOAA18  DOY: 363  MS: 69305206  DT:      833
MF:*3  SA: NOAA18  DOY: 363  MS: 69308040  DT:     2834
MF:*2  SA: NOAA18  DOY: 363  MS: 69308905  DT:      865
MF:*2  SA: NOAA18  DOY: 363  MS: 69313373  DT:     4468
MF: 3  SA: NOAA18  DOY: 363  MS: 69307348  DT:    -6025
MF:*2  SA: NOAA18  DOY: 363  MS: 69319373  DT:    12025
MF:*2  SA: NOAA18  DOY: 363  MS: 69320373  DT:     1000
MF:*2  SA: NOAA18  DOY: 363  MS: 69321373  DT:     1000
MF:*2  SA: NOAA18  DOY: 363  MS: 69321873  DT:      500
MF:*2  SA: NOAA18  DOY: 363  MS: 69323373  DT:     1500
MF: 3  SA: NOAA18  DOY: 363  MS: 69324540  DT:     1167
MF:*2  SA: NOAA18  DOY: 363  MS: 69326373  DT:     1833
MF: 3  SA: NOAA18  DOY: 363  MS: 69327040  DT:      667
MF: 1  SA: NOAA18  DOY: 363  MS: 69327706  DT:      666
MF: 2  SA: NOAA18  DOY: 363  MS: 69328373  DT:      667
MF: 3  SA: NOAA18  DOY: 363  MS: 69335136  DT:     6763
MF: 1  SA: NOAA18  DOY: 363  MS: 69331706  DT:    -3430
MF: 2  SA: NOAA18  DOY: 363  MS: 69856661  DT:   524955
MF:*1  SA: NOAA18  DOY: 363  MS: 69333706  DT:  -522955
MF: 2  SA: NOAA18  DOY: 363  MS: 69335373  DT:     1667
MF:*1  SA: NOAA18  DOY: 363  MS: 69336706  DT:     1333
MF:*3  SA: NOAA19  DOY: 363  MS: 69338040  DT:     1334
MF:*3  SA: NOAA18  DOY: 363  MS: 69340540  DT:     2500
MF:*2  SA: NOAA18  DOY: 355  MS: 69341373  DT:      833
MF:*2  SA: NOAA18  DOY: 363  MS: 69341873  DT:      500
MF:*1  SA: NOAA18  DOY: 363  MS: 69343706  DT:     1833
MF:*3  SA: NOAA18  DOY: 363  MS: 69344540  DT:      834
MF: 1  SA: NOAA18  DOY: 361  MS: 69345206  DT:      666
MF:*1  SA: NOAA18  DOY: 363  MS: 69348206  DT:     3000
MF:*3  SA: NOAA18  DOY: 363  MS: 69348540  DT:      334
MF: 1  SA: NOAA18  DOY: 363  MS: 69349706  DT:     1166
MF: 2  SA: NOAA18  DOY: 363  MS: 69350373  DT:      667
MF: 3  SA: NOAA18  DOY: 363  MS: 69352040  DT:     1667
MF:*2  SA: NOAA18  DOY: 363  MS: 69352373  DT:      333
MF:*1  SA: NOAA18  DOY: 363  MS: 69354206  DT:     1833
MF:*1  SA: NOAA18  DOY: 363  MS: 69354578  DT:      372
MF:*3  SA: NOAA18  DOY: 363  MS: 69357540  DT:     2962
MF:*2  SA: NOAA18  DOY: 363  MS: 69359873  DT:     2333
MF: 3  SA: 000005  DOY: 363  MS: 69360540  DT:      667

So far so good! This means my setup is positively able to decode some frames. THe DOY (day of year) matches. I need to understand the other parameters. This needs some digging into lib/noaa_hrpt_decoder_impl.cc.

Sadly, the HRPT decoder (step 3) produced garbage. I suspect the setup is not able to receive enough frames to reconstruct the full image:

gqrx_20211229_191159_1707049000_6000000_fc

tomaszmrugalski commented 2 years ago

Next step is to tune the antenna. It is designed for 2.4GHz and I'm using it for 1.7GHz. The grid antennas are supposed to have wide spectrum, but that's 700MHz below its intended frequency. I've found 3 suggestions:

  1. first is to flip the secondary reflector (the small aluminum plate) to outside. This is counter-intuitive, but I've read about this on two separate pages that recommended that. This is easiest to do, so I'll try that first.
  2. second modification is related to move the secondary reflector a bit away. This is more substantiated by theoretical reasons. For 2.4GHz the, wavelength is 12.49cm, while for 1.7GHz it is 17.65cm, so the distance between primary (the grid) and secondary reflector should be increased. Here's a great explanation and photo gallery. Comment from pzw001 says this is not really good explanation.
  3. third most invasive modification is to change the size of the receiving dipole, as explained here by pzw001. There is a dipole inside the black box and its dimension are 1/4 of the wavelength (3.1cm for 2.4GHz), extending this to 4.4cm should tune it to 1.7GHz.

There's also a comment about moving the sub-reflector around a bit and experimenting. Not sure how to do this with a moving sats. Probably need to tweak it a bit and then wait for the next pass.

tomaszmrugalski commented 2 years ago

I've measured the SWR of the grid antenna at 1.7GHz and it's 2.64. Yikes. I've tried the first suggestion (flip the secondary reflector) and it decreased to 1.84. Still pretty bad, but way better than before. Will test it soon.

tomaszmrugalski commented 2 years ago

Modifications 2 and 3 hit a serious snag. The support beam and the plastic case on top (that has dipole inside and hold sub-reflector) is glued together with no prospects for non-destructive disassembly. Will need to figure something out...