Hi all, exactly for this use-case we have written a Wrapper around UHD [1] which does exactly what is requested by the original question. It has been tested with X310 and worked, but most development and testing is currently done on X410. Maybe this can help the development.
Max [1] https://github.com/Barkhausen-Institut/usrp_uhd_wrapper Maximilian Matthe Head of Engineering Lab maximilian.mat...@barkhauseninstitut.org Tel.: +49 173 4509667 ________________________________ From: Wade Fife <wade.f...@ettus.com> Sent: Friday, October 4, 2024 2:34 AM To: hui cj <cjh416593...@gmail.com> Cc: usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: [USRP-users] Re: RFNoC Replay module (DRAM to PC) Q1) Yes, only one channel is required. Each channel has both send and receive capabilities and you can use both simultaneously. However, note that sending and receiving between host and replay block, and between replay block and radio, simultaneously, would require two channels. For example, one channel for TX/RX between host and replay block, and another channel for TX/RX between replay block and radio. Q2) Notice that you have the same block ports being used in both (1) and (2), so you can't do both graphs at the same time. You'll need to switch between graphs or use additional ports on the Replay block if you want to connect the replay block to the host and to the radio at the same time while being able to transfer in both directions. But the routes you gave look valid. Q3) Yes. You can use timed commands for both Rx and Tx. Here's an example for RX (record from radio to replay block, then transfer to host): https://github.com/EttusResearch/uhd/blob/master/host/examples/python/replay_capture.py Here's an example for TX (transfer from host, then playback to radio): https://github.com/EttusResearch/uhd/blob/master/host/examples/rfnoc_replay_samples_from_file.cpp They both use timespecs to indicate the time to start receiving or transmitting at the radio. The basic idea is that you tell it some known time in the future to begin. Wade On Thu, Oct 3, 2024 at 12:29 PM hui cj <cjh416593...@gmail.com<mailto:cjh416593...@gmail.com>> wrote: Hello all, I have some confusion regarding the RFNoC Replay module. Due to the limited transmission rate between my computer and the X310, I cannot transmit and receive waveforms in real-time. Therefore, I want to use the Replay module to transmit the waveform stored in DRAM and record the received signal into DRAM. Based on the following links: https://kb.ettus.com/RFNoC_Frequently_Asked_Questions#What_can_the_DRAM_be_used_for.3F https://kb.ettus.com/Using_the_RFNoC_Replay_Block_in_UHD_4 I believe this functionality can be achieved. The provided example has already implemented the Record and Play functions, but I am still confused about how to store the waveform in DRAM and then transfer it to the computer. Q1: Is only one channel of the Replay module needed to achieve this functionality? Q2: (1) The example constructs the following graph to store the transmitted data in DRAM: * TxStreamer#0:0 --> 0/Replay#0:0 * 0/Replay#0:0 --> 0/DUC#0:0 * 0/DUC#0:0 ==> 0/Radio#0:0 * 0/Radio#0:0 ==> 0/DDC#0:0 * 0/DDC#0:0 --> RxStreamer#0:0 (2) To store the received data into DRAM at the same time, should I construct the following graph as well? * 0/Replay#0:0 --> 0/DUC#0:0 * 0/DUC#0:0 ==> 0/Radio#0:0 * 0/Radio#0:0 ==> 0/DDC#0:0 * 0/DDC#0:0 --> 0/Replay#0:0 (3) To read the data from DRAM and transfer it to the computer: * 0/Replay#0:0 --> RxStreamer#0:0 Q3: I want to start both the Record and Play functions of the Replay module at the same time. Is this possible? Is there any example code available that shows how to transfer DRAM data to the computer? Thank you! _______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com> To unsubscribe send an email to usrp-users-le...@lists.ettus.com<mailto:usrp-users-le...@lists.ettus.com> Barkhausen Institut www.barkhauseninstitut.org Barkhausen Institut gGmbH | Sitz: Schweriner Str. 1, 01067 Dresden, Germany | Registergericht: Amtsgericht Dresden, HRB 37267 | Geschäftsführer: Prof. Dr. Gerhard Fettweis, Dr. Tim Hentschel | Vorsitzender der Gesellschafterdelegation: Jan Gerken Hinweise zum Datenschutz und zur Verarbeitung Ihrer Daten finden Sie unter: https://barkhauseninstitut.org/data-privacy This email and any attachments are intended only for the person to whom this email is addressed and may contain confidential and/or privileged information. If you received this email in error, please do not disclose the contents to anyone, but notify the sender by return email and delete this email (and any attachments) from your system. Information on data protection and processing of your personal information: https://barkhauseninstitut.org/data-privacy
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com