# 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!

• Hello Müller, I really appreciate your quick reply! I will try to implement the PFB arbitrary resampler in Simulink. I don't have a very good knowledge on designing filters. Do you have any links which would be helpful for me to learn to design filters. – Bhavanithya Thiraviaraja Feb 1 '18 at 11:14
• Also, I was thinking of another idea could you please shed some light on it! I saw that with a lower data rate of the ofdm signal say 200KHz the system ran rather smoothly. I cannot replace my laptop at this point of time as its very late for me, I am trying for alternatives here. So is it possible to reduce the sample rate from 25.6MS/s to 200KHz or a little more. Does this make sense? – Bhavanithya Thiraviaraja Feb 1 '18 at 11:20
• well, yeah, if you can just arbitrarily change signal bandwidths, then you can just scale your system down. But be aware that strong reduction in bandwidth means that you're not even remotely using the same channels – and the BER performance etc that you measure with your narrowband system will have not much to do with the original system. – Marcus Müller Feb 1 '18 at 12:33