discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: RX/TX switching


From: Johannes Demel
Subject: Re: RX/TX switching
Date: Fri, 4 Mar 2022 12:03:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

Hi Fabien,

do those underruns occur after you lock/unlock and switch from TX to RX or vice versa? Do you see overruns as well?

I'd assume the USRP expects a constant sample flow and even a short interuption, like your lock/unlock task interrupts that flow. Still assuming this is the root cause, you might fix this by sending an EOB signal to the USRP before you lock the flowgraph.

Besides, the whole SOB/EOB mechanism might help you with your issue. You can just stop the TX flowgraph portion while you don't need it. By stop I mean, the flowgraph is not fed any new samples and just idles. As an added bonus, you minimize LO leakage which might be an issue for your RX flowgraph. I know this is a more intrusive change.

Cheers
Johannes

On 04.03.22 10:45, Fabien PELLET wrote:
Hello again,

I build a flowgraph in C++ with an RX chain and a TX chain. I'm using a USRP N210. When I'm in RX, the TX chain is connected to a constant zero source and feed a null sink and the RX chain is connected to USRP source and sink. When I'm in TX, it is the opposite.

I have to keep the two chains running at the same time for switching speed purpose and do not have to stop the flowgraph and restart it. So for my switching, I just lock the top block and unlock it after.

If I always stay in RX, I have no underrun. Same thing in TX. My problem is that when I lock and unlock the flowgraph, I get a lot of underruns.

As a test, I remove the TX part of my flowgraph and only keep the RX part and I try do some lock/unlock sometimes : same problem with underruns.

How to do lock/unlock safely in C++ to avoid underruns ?

Thanks for the help,

Best regards,

Fabien, F4CTZ.





reply via email to

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