Hi Christian, regarding your approach, I have developed a library [1] on top of UHD4.5 which can do exactly this, but would need some small modifications. The library allows to stream data slowly into the FPGA's replay block DRAM and then stream it from the DRAM to the Radio with full sample rate. Also, the other way is possible (i.e. record from radio to DRAM, and then afterwards slowly to the host). Depending on the amount of RAM and sample rate, several seconds of data can be transmitted, also periodically.
Currently, the number of TX samples is artificially limited to 200k [2] (a limitation I faced at X410), but this should not be an issue for X310. The documentation for the library is focussed on X410, but I have tested it using NI-2974, which is essentially a combination of X310 and a normal PC. So, maybe you can give it a try. What you need to do is perform the steps for installing the Server [3] (without `make install`) and then start the server manually with `python start_usrp_server.py --uhd-ip <your-x310-ip> --usrp-type x310`. If you want to give it a try, I can try to help you setting up the library. Maximilian Matthe [1] https://github.com/Barkhausen-Institut/usrp_uhd_wrapper [2] https://github.com/Barkhausen-Institut/usrp_uhd_wrapper/blob/b63752734f103d7f3744947efdad927c0d33c36c/uhd_wrapper/lib/usrp.hpp#L64 [3] Maximilian Matthe Head of Engineering Lab maximilian.mat...@barkhauseninstitut.org Tel.: +49 173 4509667 ________________________________ From: Lars Amsel <lars.am...@ni.com> Sent: Monday, April 22, 2024 9:42 AM To: Chapman, Christian - 0664 - MITLL <christian.chap...@ll.mit.edu>; usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: [USRP-users] Re: Transmitting on both X300 channels without streaming samples Christian, you did not mention what version of UHD you are using, so I assume you use something recent. UHD has a replay block that is shipped with the default images (if the USRP has sufficient resources), see here: https://kb.ettus.com/Using_the_RFNoC_Replay_Block_in_UHD_4. So your X300 is able to do it. The replay block always manages all the memory, and you are free to divide the available memory into portions for different tasks. So you could split it in half, download two TX signals to each half and then play one to each radio. Beside the good introduction linked above, you might also want to take a look at the Python TX waveform example https://github.com/EttusResearch/uhd/blob/master/host/examples/python/tx_waveforms.py. This example (with the -dram option) contains most of what you need. The necessary extension would be to download two signals and do two play calls to play each signal to one of the radios. You might want to use a timed command here to ensure both signals start at the same time. Regards Lars [NI]<https://www.ni.com/r/zf03uz> Lars Amsel Principal Software Engineer SW Discipline +49351206931427<tel:+49351206931427> | ni.com<https://www.ni.com/> [National Instruments is now NI.] INTERNAL - NI CONFIDENTIAL ________________________________ From: Chapman, Christian - 0664 - MITLL <christian.chap...@ll.mit.edu> Sent: Thursday, 18 April 2024 23:08 To: usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: [USRP-users] Transmitting on both X300 channels without streaming samples You don't often get email from christian.chap...@ll.mit.edu. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification> Hi, I’m interested in using an X300 to repeat several 100 ms of >100 MHz samples, a different signal on both channels, and my host computer can’t stream samples into the X300 continuously. It would seem the RFNoC replay block could serve this need, but according to a thread from Thomas Harder on a very similar question[1] some firmware change is required. Thomas seems to have settled on the approach I can’t use: his samples are streamed continuously via 10G Ethernet. If I understand properly, Rob Kossler’s txarb block can serve this need, but I can’t find it published it anywhere. Do I have to recreate something similar to do what I need? More broadly, has anyone done this and/or have simpler solutions appeared in the last few years? [1]: transmitting on two channels with replay block, msg09472 Thank you, Christian National Instruments Dresden GmbH; Geschäftsführer (Managing Directors): John Stanton McElroy, Albert Edward Percival III, Kathleen Spurck; Sitz (Registered Office): Dresden; HRB (Commercial Register No.): 22081; Registergericht (Registration Court): Dresden 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. 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