Multirate Signal processing for matching DAC of the SDR
25.6 MHz is larger than the largest possible sampling rate of these two USRP models (25MHz). Therefore, this is impossible to implement directly; in any way, you'll need to generate your 25.6 MS/s signal first, and then resample to 25  MS/s. That resampler will be very CPU-consuming, probably more than your whole OFDM signal processing.

The underruns happen because your computer is, including that resampler, simply not fast enough to compute the samples at that rate. You'll need a faster computer, a more efficient resampler, or a different OFDM configuration.

Now, I don't know which resampler you're using, but if it's one of these included in GNU Radio, there's only two options:


the PFB arbitrary resampler with a ratio of 0.9765625
the rational resampler with an interpolation of 125, and a decimation of 128.


Both resamplers are really CPU-hungry, but for your case, I'd actually expect the arbitrary resampler to work slightly more efficient than the rational resampler in their default configurations, where the filters are choosen automatically based on the rate ratio alone.

However, you have a signal with unused carriers at the Nyquist band edges - you don't need as steep a core filter in your classical multirate resampler as dictated by the resampling ratio. So, make a drawing of the aliases that a decimation filter would have to suppress, and design a filter that works there. It will be significantly shorter than what would be designed automatically!