LimeSuiteNG TxStream vs EnableTxWFM

Similar to [RX stream activation / deactivation], I am trying to optimize the performance of my XTRX when transmitting and receiving a fixed number of samples repeatedly, with increasing LO frequency. The tx samples I want to send are always the same at baseband (a chirp pulse centered at DC).

I came across the LimeSuite functions LMS_UploadWFM() and LMS_EnableTxWFM() but not much explanation other than comments in the code. What is the difference between uploading a waveform “for later use” and then enabling playback, as compared to calling StreamTx() with samples in the txBuffer? Could pre-loading the tx samples save time in streaming?

I think these are maybe just for boards with DDR memory, such as the original LimeSDR-USB and LimeSDR-PCIe boards, which the much smaller LimeSDR-XTRX doesn’t have. @ricardas could confirm.

1 Like

Yes, not all boards have DDR memory to support waveform playback. XTRX does not have it.

WFM is intended for transmitting continuous loop of some waveform, for testing, or development purposes. It does not have any indication of the transmit progress, like which part of waveform is currently being transmitted. So there would be no time saving over streaming samples yourself.

got it, thanks!