Thanks for the advice all. It turns out the BladeRF is not transmitting
properly in this case. I probably should have figured that out long ago. An
equivalent flowgraph (for some reason my original did not work) performed
as expected at lower sample rates with a USRP b205.

Follow up: It does not seem like GRC plots can keep up with incoming RX
data without having overflows from the USRP. I imagine all I can do about
this is save to a file and process (i.e. correlate and display) the data
later? It seems odd that that was not a problem with the BladeRF that I was
aware of.

Thanks,
Jonathan

On Wed, Feb 27, 2019 at 4:17 PM Qasim Chaudhari <qasim.chaudh...@gmail.com>
wrote:

> To clarify a confusion in my last email, by "until the point in signal
> processing chain where you decimate the signal down to the symbol rate", I
> meant the stage just before quantization; otherwise carrier recovery in
> BPSK still needs to work with complex samples at symbol rate.
>
> Cheers,
> Qasim
>
>
> On Thu, Feb 28, 2019 at 11:06 AM Qasim Chaudhari <
> qasim.chaudh...@gmail.com> wrote:
>
>> Some pointer that might help you.
>>
>> - No, the samples are not completely real in BPSK until the point in
>> signal processing chain where you decimate the signal down to the symbol
>> rate. From what I understand your problem, and given that your purpose is
>> to find the correlation peak instead of demodulating the data, you'd be
>> dealing with both I and Q samples.
>>
>> - Be very careful with conjugation as they bring in both conjugation and
>> reversal in the other domain (
>> https://dsp.stackexchange.com/questions/23733/conjugation-in-fourier-transform).
>> Furthermore, you're correlating it with a clean copy that is stored in your
>> system so there is a usual discrimination between cross-correlation and
>> auto-correlation, the latter being the operation in which conjugations
>> remove the phase/frequency effects and not the former.
>>
>> - Regarding the Costas loop, I usually do not trust the acquisition
>> range/acquisition time numbers from simulation to practice, as simulations
>> are done at a certain SNR with only one imperfection present. Even if
>> everything expected is simulated, the loop starting points cannot be
>> carefully controlled due to the unknown incoming phase! In addition,
>> acquisition is a highly non-linear operation which strongly depends on both
>> the Rx SNR and the loop SNR as well as the shape of the channel frequency
>> response. In this particular ranging application, I would rather tune the
>> frequency of one USRP receiving a test signal (e.g., simple CW and
>> employing a simple PLL) until I get the lock. Then in the next experiment,
>> I would initiate my ranging procedure and track small changes from there.
>> Also keep in mind that there is a finite acquisition time for the loop to
>> settle which might comprise of your entire sequence to be correlated. At
>> least it will certainly eat away some part of it.
>>
>> Finally, Marcus' suggestion of starting with the simplest case and seeing
>> where your signal deviates from what you expect is probably the best way to
>> move forward.
>>
>> Cheers,
>> Qasim
>>
>>
>> On Wed, Feb 27, 2019 at 6:58 PM Jonathan Preheim <
>> jonathan.preh...@gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> Thanks for the responses. Ultimately, we won't be able to share a clock
>>> source directly, and I don't have the right cables right now to link them
>>> for troubleshooting. Even when I try to use the RF loopback modes though, I
>>> do not see a correlation peak. Firmware-based loopback works as expected.
>>> I've been trying to model a frequency offset with the Channel Model block,
>>> and compensate with the Costas loop block with a little success. But
>>> actually doing it on the radios does not work.
>>>
>>> The Costas loop handles frequency offsets up to 0.05 in simulations with
>>> an otherwise ideal channel. The chip rate is 1.25Mchip/s, so that's an
>>> offset of about 63kHz. The BladeRF's clock is 38.4MHz accurate to 1 ppm or
>>> 38.4Hz. Multiplied up to our carrier frequency of 910MHz, that's an
>>> expected accuracy of under 1kHz, so it's reasonable to expect that the
>>> Costas loop would take care of any offset right?
>>>
>>> Using the conjugate of the samples doesn't seem to make difference. That
>>> would make sense to me if I was trying to do the correlation as frequency
>>> domain multiplication by the conjugate, but I'm not (the FIR filter method
>>> has produced much more consistent results in simulations for us so far).
>>> Ideally, the samples would be completely real since it's BPSK, and we'd
>>> want to apply compensation in order to achieve roughly that, right?
>>>
>>> T'hanks,
>>> Jonathan
>>>
>>> On Tue, Feb 26, 2019 at 7:00 PM Qasim Chaudhari <
>>> qasim.chaudh...@gmail.com> wrote:
>>>
>>>> >Make sure both your radios are locked to the same clock source.
>>>> Any fsignificant requency offset between the two is going to ruin your
>>>> correlation peaks very quickly.
>>>>
>>>> When the same clock source is not possible due to the distance between
>>>> them, the carrier frequency offset can also be estimated and corrected at
>>>> the initiating USRP and then the correlation can be applied. In this
>>>> scenario, the quality of the result will depend on how good the CFO
>>>> estimate is.
>>>>
>>>> Cheers,
>>>> Qasim
>>>>
>>>>
>>>> Message: 4
>>>>> Date: Tue, 26 Feb 2019 10:07:51 +0100
>>>>> From: Sylvain Munaut <246...@gmail.com>
>>>>> To: Jonathan Preheim <jonathan.preh...@gmail.com>
>>>>> Cc: GNURadio Discussion List <discuss-gnuradio@gnu.org>
>>>>> Subject: Re: [Discuss-gnuradio] Distance Measurement by Correlation
>>>>> Message-ID:
>>>>>         <CAHL+j0-D_THTOqoapb2N6VeLeR=BEkW9cyDHpt64=
>>>>> uo2tdw...@mail.gmail.com>
>>>>> Content-Type: text/plain; charset="UTF-8"
>>>>>
>>>>> > Any ideas about how we can troubleshoot this more effectively? Or
>>>>> better model the channel?
>>>>>
>>>>> Make sure both your radios are locked to the same clock source.
>>>>> Any fsignificant requency offset between the two is going to ruin your
>>>>> correlation peaks very quickly.
>>>>>
>>>>> Frequency offset is going to end up as a progressive phase shift along
>>>>> your PN sequence. If that phase shift is a non-negligibe part of the
>>>>> unit circle during the time of your PN sequence, they won't 'add up'
>>>>> to a peak anymore.
>>>>>
>>>>> Cheers,
>>>>>
>>>>>    Sylvain
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------
>>>>>
>>>> _______________________________________________
>>>> Discuss-gnuradio mailing list
>>>> Discuss-gnuradio@gnu.org
>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>
>>>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to