Skip to content

Add support for HackRf.#53

Open
nqbit wants to merge 1 commit into
pietern:mainfrom
nqbit:master
Open

Add support for HackRf.#53
nqbit wants to merge 1 commit into
pietern:mainfrom
nqbit:master

Conversation

@nqbit

@nqbit nqbit commented Jun 28, 2019

Copy link
Copy Markdown

I have have verified that I am able to collect images with a HackRf plus a GOES SAW Bird (LNA + SAW Filter) attached to my laptop.

@pietern pietern left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for submitting the PR! This is great.

Most of my comments are style related, where the style deviates from the style in the rest of the code. I don't have clang-format file in here yet but should add one so it's not longer something to review.

Could you rename HackRf -> HackRF? This is the capitalization used by GSG.

Comment thread docs/commands/goesrecv.rst Outdated
Comment thread etc/goesrecv.conf
Comment thread src/goesrecv/config.h
Comment thread src/goesrecv/config.h
uint8_t bb_gain = 30;

// Enables or disables the RF amplifier
bool rf_amp_enabled = 0;

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hadn't heard of this one. Is it some kind of AGC?

@nqbit nqbit Jul 8, 2019

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread src/goesrecv/hackrf_source.cc Outdated
Comment thread src/goesrecv/hackrf_source.cc Outdated
Comment thread src/goesrecv/hackrf_source.cc Outdated
}

void HackRf::process(size_t nsamples, unsigned char* buf,
std::complex<float>* fo) {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can go on the previous line.

@nqbit nqbit Jul 8, 2019

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future reference, do you have a preferred line width? Done

Comment thread src/goesrecv/hackrf_source.h
Comment thread src/goesrecv/source.cc Outdated
@nqbit nqbit force-pushed the master branch 2 times, most recently from aa2f9d8 to cb3e5ae Compare July 8, 2019 16:17
@nqbit nqbit changed the title Add support for HackRf Add support for HackRF Jul 8, 2019
@nqbit

nqbit commented Jul 8, 2019

Copy link
Copy Markdown
Author

Please take another look :)

@gornstein

Copy link
Copy Markdown

Is there any update on this? I've been having the same issue.

@nqbit nqbit closed this Apr 9, 2022
@nqbit nqbit deleted the master branch April 9, 2022 17:11
@nqbit nqbit restored the master branch April 9, 2022 17:11
@nqbit nqbit reopened this Apr 9, 2022
@nqbit nqbit closed this Apr 9, 2022
@nqbit nqbit deleted the master branch April 9, 2022 17:14
@nqbit nqbit restored the master branch April 9, 2022 17:14
@nqbit nqbit reopened this Apr 9, 2022
@nqbit nqbit changed the title Add support for HackRF Add support for HackRf. Apr 9, 2022
@nqbit

nqbit commented Apr 9, 2022

Copy link
Copy Markdown
Author

Renaming complete HackRf -> HackRF.

@kazaril

kazaril commented May 11, 2022

Copy link
Copy Markdown

Hi, thanks Pietern for the tools and Nqbit for this PR!
I'm currently testing this but I get false locks at most frequencies (It locks on at 10MHz, 100MHz and the actual LRIT frequency, but not at 1MHz). It immediately locks, then gives me a string of ones. Viterbi error is 16 every single time at LRIT frequeny. Frequency offset jumps around between -20 and 20Hz. Goesrecv-monitor output can be seen here:
image

My setup works fine with this fork using an RTL-SDR. The Hackrf also seems to work fine in other situations (eg I can receive FM using GQRX). I don't know the specifics of the dish/LNA as I've just been provided with a line, but can find out if that's relevant.

My hackrf_info gives the following:
hackrf_info version: unknown
libhackrf version: unknown (0.5)
Found HackRF
Index: 0
Serial number: 0000000000000000088869dc382d851b
Board ID Number: 2 (HackRF One)
Firmware Version: 2021.03.1 (API:1.04)
Part ID Number: 0xa000cb3c 0x0066475e

The same issue was present with older firmware (2018.something). I'm using Ubuntu 20.04.
I would really love to get this working and would really appreciate any help. I'm also very happy to help test this PR.
-Sam

@pietern

pietern commented May 11, 2022

Copy link
Copy Markdown
Owner

@kazaril Hey Sam, are you sure you're pointing at the right satellite? It is possible you're looking at GOES-18 which is only transmitting a HRIT carrier at this point. That is consistent with the constellation you're seeing.

@kazaril

kazaril commented May 12, 2022

Copy link
Copy Markdown

@pietern the signal is immediately locking regardless of what frequency I select. I can receive LRIT fine using the RTLSDR dongle with the same setup, but I'm wanting to get the HackRF working so that I can move on to HRIT (pretty sure the RTLSDR doesn't have the bandwidth for it)

EDIT: OK, so it looks like the issue is due to HackRF having a big spike at centre frequency due to not having matched components (they had to make some sacrifices to keep the price down). I might have to write something to filter it/have a frequency offset. I wonder why @nqbit didn't have this issue, maybe just got lucky with his HRF.

@gornstein

Copy link
Copy Markdown

@kazaril I am now having the exact same issue as you with the large DC spike in the center causing lots of issues. Were you able to get a frequency offset working?
I have a frequency offset working fine in GQRX but I'm not sure how I would implement something similar into goestools. I'll take a stab at it unless you already have something working..
Thanks

@kazaril

kazaril commented Jun 1, 2022

Copy link
Copy Markdown

@gornstein I fumbled around for a while trying to add the offset to the code but in the end just switched to Satdump as it has a DC block option built in. If you do end up getting the offset working in Goestools please let me know - I'd be very curious to hear how it performs.

@gornstein

Copy link
Copy Markdown

@kazaril alright thanks, I'll be sure to let you know if I get anything working!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants