Multirate Signal processing for matching DAC of the SDR I have been breaking my head for a long time. Please help with this..any input would be helpful!

I am trying to implement a OFDM system using SDR (USRPN210 for Transmitter and USRP2 for receiver) using Simulink and my laptop (core i5).

Baseband specifications: 
OFDM signal sample rate = 25.6MS/s 
No. of samples in one frame = 10880
duration of one ofdm frame = 425e-6s
signal bandwidth = 25.6MHz
Used bandwidth is 22.4MHz

USRP specs:
DAC Master clock rate (fixed)= 100MHz
Interpolation factor = ??

As far as I have understood, I have to design a multirate system which converts 25.6MS/s to a sample rate which is a factor of the master clock rate i.e. 100MHz. And give the factor as the Interpolation factor.

For example, convert 25.6MS/s to 25MS/s and give interpolation factor as 4, so it matches with the 100MHz(25*4). However this causes Underrun. So I need to increase the interpolation factor and decrease the input baseband sample rate. 

My problem is how to design a downsampler which will reduce the 25.6MS/s to a lower sample rate without loss of data.?
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!