discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] weird interaction between start of burst and osci


From: Arun Pillai
Subject: Re: [Discuss-gnuradio] weird interaction between start of burst and oscillator phase
Date: Tue, 26 Oct 2010 04:03:23 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.11) Gecko/20101013 Thunderbird/3.1.5

Thanks, Matt. That's probably it - looking at the code from tx_control.v, it seems like just twiddling the start/end of burst bits alone is not enough either, the host needs to keep sending, otherwise the FPGA thinks it is an underrun. So, it seems like the correct solution would be to change the NCO code.

One other question: Where is the UHD code in terms of maturity? Will future FPGA/firmware fixes happen on the UHD code, or will the existing code also be maintained? I will have to change a bunch of my host side code to use UHD, wondering if I should invest in that effort to avail of more robust firmware/FPGA code. (I don't care about portability or for the code to work on anything other than RFX daughterboards).

Rahul


On 10/26/2010 2:42 AM, Matt Ettus wrote:
On 10/25/2010 11:20 PM, Arun Pillai wrote:
Hi folks,

I am seeing a very bizarre problem. I am using the USRP2 to transmit a
stream of packets interleaved with silence. Each USRP packet obviously
spans multiple Ethernet packets. When I send each USRP packet as part of
its own burst (i.e. start of burst = 1 on the first ethernet packet
corresponding to a USRP packet, end of burst = 1 on the last ethernet
packet corresponding to that USRP packet, immediate = 1 on all packets,
and repeated for each USRP packet), the channel that I see at the
receiver for each packet has a very different phase even after
accounting for CFO. However, if I send all the USRP packets along with
complex zeros for intervening silence as one burst, I see that the
channel phase is as expected i.e. the change in channel phase from
packet to packet corresponds to exactly the CFO.

Any idea why this could be happening?

Thanks,
Arun.


See line 61 of dsp_core_tx.v, which is the NCO. During a burst, "run" is asserted, so the NCO continues to turn. When run is deasserted (i.e. between bursts), the NCO is reset to 0.

Alternative ways of handling this would be to either just freeze the NCO when run is deasserted, or allow it to run all of the time. There are various reasons why you might want one mode or another.

If this behavior is not desired, you can easily change those lines to have the NCO run all the time.

Matt




reply via email to

[Prev in Thread] Current Thread [Next in Thread]