Filtering of frame by frame IQ data from SDR

13 views (last 30 days)
I am using an N210 USRP to receive data at center frequency 2.406 GHz with sampling rate of 4MHz. The output data from the SDR is IQ data which are received in frames of 4000 , which can be defined in Matlab using SamplesPerFrame in comm.SDRuReceiver.
First, I am not sure what my reception bandwidth is because there is no way to define the bandwidth of the SDR using comm.SDRuReceiver. The daughter board that I am using (CBX-40) has a bandwith of 40MHz. I am not sure but my guess is that, since I declaired the sampling frequency to 4MHz, the bandwith will be calculated using Nyqust theorem as 2MHz.
Second, since data is received from SDR in frames, that means that the whole sample will be divided into 4Msamples/ 4000 = 1000 frames [Sampling rate divided by samples per frame]. But I have no idea on how to apply filtering on frame based data. What I am trying to accomplish is to apply a complex bandpass filter on the IQ data using a low pass filter with cut off frequency of 500 KHz (forming a band of 1MHz).

Accepted Answer

Kaashyap Pappu
Kaashyap Pappu on 7 Aug 2019
To filter the frame-based samples, you can use the “filter” function with a “filter” object as shown here. By appropriately assigning the “dim” variable, each frame can be filtered independently as different channels.
  1 Comment
Sopan Sarkar
Sopan Sarkar on 27 Aug 2019
Hello Kaashyap,
Thank you very much for your reply. My radio is tuned to only 1 channel and I get the IQ data as a column vector from USRP. So, if I use the design as -
x = vector of IQ data
b = fir1(50,.4);
hd = dfilt.dffir(b);
y1 = filter(hd,x,1)
-my filter will act along the column. Using this desing I get data but I don't get the desired amount of data and I am trying to figure out why. After reading the documentation in the link that you provided I still have one confusion - my sampling rate is 2Msps and my frame size is 250000, so my data is defined by 8 frames. So, will this filter design be able to filter out the desired band of data?

Sign in to comment.

More Answers (0)


Find more on Communications Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!