Hello all,

I know the topic of triggering of transmission and reception has been recurring 
here on the list over and over. But I haven’t found the answer that is good for 
my case among the previous threads .

The context: I'm using USRP X410 and I’m transmitting a pulsed radar waveform. 
I’m able to receive the return signal continuously, but I need to limit the 
stream of data sent to the PC. The good solution is to send precisely selected 
part of the received signal after each pulse. This way the radar can focus only 
on the most interesting area. For example to define: receive ‘N’ samples 
beginning in ‘R’ samples from the Tx pulse start (where ‘N’ and ‘R’ can be 
changed but it doesn’t happen often).

My current implementation with continuous reception looks like this: I’m using 
USRP X410 and in RFNoC I have a ‘Replay’ block connected to the DUC->Radio 
block. ‘DUC’ has upsampling set to ‘1’ - that make it pass samples without 
change from ‘Replay’ block. The ‘Replay’ block plays in a loop a pulse followed 
by zeros. The least significant bit of I part of IQ sample is connected to GPIO 
port and is used currently to control the RF front-end (switch between 
transmission and reception). This way I’m loosing one bit of transmitted IQ 
sample, but I have very precise control over the GPIO, so that it is 
synchronized with Tx pulse. For example, I can set that line a bit earlier than 
RF pulse in order to prepare the Tx chain for transmission.

Now in order to achieve what I described (receive ‘N‘ samples after each pulse) 
I wanted to reuse for triggering the reception the signal that currently 
controls the GPIO.

And here my question starts: where in RFNoC should I connect the triggering 
signal and implement the logic that controls passing the samples synchronously 
with the trigger?

I wanted to implement an RFNoC block that passes the samples synchronously with 
the trigger. In order to that I'll have to edit manually the RFNoC flowgraph in 
order to connect the trigger signal to additional input in the block (I can do 
that). I have doubt if I can trigger an event synchronously with the samples 
stream this way, but at the moment I have more basic issue. I don’t know yet 
how to ignore samples for arbitrarily long time with RFNoC use of block. I 
think the closest thing that exists in UHD to what I'm trying to do is 
rfnoc_keep_one_in_n. I'm trying to use some ideas from it but I've got no 
success yet.

Another solution could be use the trigger to control flow of the samples from 
ADC to the radio block, but I don’t know yet exactly how it could be 
implemented.

Maybe there is some better solution to that what I’m trying to do? Maybe I can 
use timed commands? But I don’t want to send them from PC as I would have to do 
that very often: for each pulse and pulse rate might be i.e. 2kHz.

Trying out each option means loosing more time - so maybe you have some advice 
which path is most promising?

Best Regards,\
Piotr Krysik
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to