Damus

Recent Notes

Alba ๐ŸŒธ :v_pat: · 13h
back on the topic of carrier recovery... in O-QPSK the phase has a uniform distribution, so I guess it's unsurprising that a costas loop doesn't quite work. that or I'm doing something wrong, which is...
Alba ๐ŸŒธ :v_pat: profile picture
here's how it performs under 15dB of SNR, with the loop filter being a 64-tap blackman window followed by an integrator (because the Alba doesn't know shit about control theory, let alone PLLs)

the two vertical lines indicate the start of the burst and the end of the preamble (or what would be the preamble -- this simulation has random O-QPSK symbols) and the vertical line is the true carrier frequency (100kHz here)

1
Alba ๐ŸŒธ :v_pat: · 13h
is it good enough? probably no. but is it efficient? also no. the alba really should stop fucking around and search for literature on the subject, but at least she had fun
Alba ๐ŸŒธ :v_pat: · 2d
in sadder news, the HackRF Pro isn't really designed to allow the FPGA to do AGC :( the transceiver's gain control pins B1..7 are unconnected so I'd need to go through the MCU and then the 20MHz SPI i...
Alba ๐ŸŒธ :v_pat: profile picture
back on the topic of carrier recovery... in O-QPSK the phase has a uniform distribution, so I guess it's unsurprising that a costas loop doesn't quite work. that or I'm doing something wrong, which is quite the possibility :neofox__w:

instead I resigned to frequency for now. the phase difference from a pulse ago does have usable statistics once wrapped into a [-ฯ€/2, +ฯ€/2] range, so I designed the following loop (cc @nprofile1q... since you were interested)

1
Alba ๐ŸŒธ :v_pat: · 13h
here's how it performs under 15dB of SNR, with the loop filter being a 64-tap blackman window followed by an integrator (because the Alba doesn't know shit about control theory, let alone PLLs) the two vertical lines indicate the start of the burst and the end of the preamble (or what would be the ...
Alba ๐ŸŒธ :v_pat: · 2d
some other good news is that the transceiver has an integrated analog RSSI output, which is wired to the MCU's ADC channel 1. takes only a couple chips to settle, I could sample it on every received P...
Alba ๐ŸŒธ :v_pat: profile picture
in sadder news, the HackRF Pro isn't really designed to allow the FPGA to do AGC :( the transceiver's gain control pins B1..7 are unconnected so I'd need to go through the MCU and then the 20MHz SPI interface
1
Alba ๐ŸŒธ :v_pat: · 13h
back on the topic of carrier recovery... in O-QPSK the phase has a uniform distribution, so I guess it's unsurprising that a costas loop doesn't quite work. that or I'm doing something wrong, which is quite the possibility :neofox__w: instead I resigned to frequency for now. the phase difference fr...
Alba ๐ŸŒธ :v_pat: · 2d
on another topic, there's a good chance i can forget about the (external) mixer and just use the transceiver directly. the 2360 - 2400 band runs a biiit close to the 2.3GHz lower limit of the bandpass...
Alba ๐ŸŒธ :v_pat: profile picture
some other good news is that the transceiver has an integrated analog RSSI output, which is wired to the MCU's ADC channel 1. takes only a couple chips to settle, I could sample it on every received PSDU octet and take the mean or something. frees some machinery in the FPGA and as a bonus it's also taken before the VGA, so I would only need to take the LNA setting into account
1
Alba ๐ŸŒธ :v_pat: · 2d
in sadder news, the HackRF Pro isn't really designed to allow the FPGA to do AGC :( the transceiver's gain control pins B1..7 are unconnected so I'd need to go through the MCU and then the 20MHz SPI interface
Alba ๐ŸŒธ :v_pat: · 3d
oh and another big annoyance... spec allows an LO drift of up to +-40ppm, which IIUC at 2.45GHz would mean +-100kHz, or about 18 degrees per chip :neofox_woozy: so yes, the most tricky part is probab...
Alba ๐ŸŒธ :v_pat: profile picture
on another topic, there's a good chance i can forget about the (external) mixer and just use the transceiver directly. the 2360 - 2400 band runs a biiit close to the 2.3GHz lower limit of the bandpass filter, at some point i should check what the firmware does
1
Alba ๐ŸŒธ :v_pat: · 2d
some other good news is that the transceiver has an integrated analog RSSI output, which is wired to the MCU's ADC channel 1. takes only a couple chips to settle, I could sample it on every received PSDU octet and take the mean or something. frees some machinery in the FPGA and as a bonus it's also ...
Alba ๐ŸŒธ :v_pat: · 2d
on another topic, there's a good chance i can forget about the (external) mixer and just use the transceiver directly. the 2360 - 2400 band runs a biiit close to the 2.3GHz lower limit of the bandpass filter, at some point i should check what the firmware does