Amplifier Rampup Time for TX?

Having issues with the site, hardware, source code, or any other issues?
Post Reply
urist
Posts: 3
Joined: Fri Dec 29, 2023 3:21 pm

Amplifier Rampup Time for TX?

Post by urist »

I'm periodically sending pulses with the standard bladerf C library. By "pulses", I mean continuous IQ samples of (1+1j)/sqrt(2) during the "on" time. These are generated at a sample rate of 2Ms/s, but are very short, 400 samples or so ~= 200us. I have 1024 generated samples within which are two of the ~200us pulses that I'm transferring. My bladerf buffer size is set to 8192 samples in the config call, so I zero pad the 1024 samples up to 8192 samples while keeping the 1024 signal samples centered in that overall buffer. Then I send, and...not much on the receiver, a HackRF running into GQRX.

Notably, all samples outside of the pulse interval are 0+0j. However, if I add in a CW signal into the entire 8192 sample buffer, I can much more clearly see the pulse in the spectrum at the receiver, along with that CW signal of course. This leads to the question: is there a ramp-up time for the output amplifier, or some output filter that needs to be excited before transmitting the actual signal? Are my pulses too fast, or am I doing something wrong at the receiver? My GQRX receiver is running the smallest FFT size at the highest frame rate to try and catch that ultra fast pulse.

Further info: if I tell bladerf to repeat that 8192 sample buffer many times in a row, I can see the pulses much better at the receiver. But I only need to send them every 1-2 seconds. All this leads me to think that either a filter has a time constant I have to overcome, or I'm not exciting the channel fast enough.

Thanks for any help.
urist
Posts: 3
Joined: Fri Dec 29, 2023 3:21 pm

Re: Amplifier Rampup Time for TX?

Post by urist »

More context. Here is the original 1024 sample pulse:

Image

And the pulse after placing it into an 8192 sample buffer, and also applying the mixins that had seemed to help. Note that the mixins have a max possible sample of (0.001 + j0.001).

Image

At the receiver, I only see pulse energy in the spectrum if I repeat the above transmissions with noise and CW mixins -- say, 128 repeats or so. That is with HackRF receiver SDR at Fs = 8MS/s and GQRX settings NFFT = 512 and FFT FPS 150, which should be the fastest possible FFT's to try and catch the pulse. Is this most likely a problem at my receiver, or am I generating these pulse bursts incorrectly? I would think that the first subplot in the second figure should transmit fine, but it seems to not.

Thanks.
[email protected]
Posts: 6
Joined: Fri May 20, 2022 4:42 pm

Re: Amplifier Rampup Time for TX?

Post by [email protected] »

My first thought is that your receiver running GQRX is running like a swept spectrum analyzer, so that in order for it to see your short pulse it has to be on that particular frequency just when a pulse occurs. Try narrowing the receiver sweep range to be some small bandwidth about your transmit frequency, and you'll be more likely to see the pulses. I'm not too familiar with GQRX, but on a spectrum analyzer you could go into "zero span" mode and make the thing act like a fixed receiver.
urist
Posts: 3
Joined: Fri Dec 29, 2023 3:21 pm

Re: Amplifier Rampup Time for TX?

Post by urist »

[email protected] wrote: Sat Dec 30, 2023 8:18 pm My first thought is that your receiver running GQRX is running like a swept spectrum analyzer, so that in order for it to see your short pulse it has to be on that particular frequency just when a pulse occurs. Try narrowing the receiver sweep range to be some small bandwidth about your transmit frequency, and you'll be more likely to see the pulses. I'm not too familiar with GQRX, but on a spectrum analyzer you could go into "zero span" mode and make the thing act like a fixed receiver.
You were correct here. Further investigation found that:

1. There was a buffer size / transfer length problem.
2. More importantly, the library I was using has some sort of issue. Reverting to transmitting via CLI ended up proving to me that my signal generation was fine, but something with the lib was wrong. It is a wrapper around the bladerf lib.

Thank you for your input.
bekean
Posts: 3
Joined: Mon Feb 19, 2024 7:42 pm

Re: Amplifier Rampup Time for TX?

Post by bekean »

[email protected] wrote: Sat Dec 30, 2023 8:18 pm My first thought is that your receiver running GQRX is running like a swept spectrum analyzer, so that in order for it to see your short pulse it has to be on that particular frequency just when a pulse occurs. Try narrowing the receiver sweep range to be some small bandwidth about your transmit frequency, and you'll be more likely to see the pulses. wordle I'm not too familiar with GQRX, but on a spectrum analyzer you could go into "zero span" mode and make the thing act like a fixed receiver.
In GQRX, you can either zoom in on the spectrum or set a fixed frequency range to focus on the specific frequency of interest. This is equivalent to "zero span" mode on a spectrum analyzer.
Post Reply