Frequency dependant behaviour of wired transmission using USRP

Hello,

I am currently doing a project at university on channel sounding. I have
been using pseudo-random noise and complex chirps as the base signals in
order to do this task. In order to get used to using the USRP, I have
been using a coaxial cable of around 3m connecting the two USRPs (on two
different computers). I am currently using the DC-30/40MHz
daughterboards for the initial test stage. I am using a very basic
transmission and receive structure. I write a file in MATLAB, generally
pseudo-random noise, read this in Python and then use it as a vector
source into the USRP. The transmit works fine and has been tested using
oscilloscopes etc. The received side takes the data into a complex file
sink. The receive end also takes in data well. I am running a NetBSD
system which has proven itself to work well.

When I look at the frequency content of the received data however I see
a strange tappering on the low/high frequencies sides of the signal,
almost as if the coaxial cable is applying a bandpass filter to the data
(I apply an FFT to the data on MATLAB after receiving it. For example I
take a 1000 chunk of the data, if the transmitted data was 1000 long, I
then take a complex fft.). The complex chirp and PR noise are both
spectrally flat and should not be changed drastically by the wired
channel. When I do a time domain cross correlation, I get nice
delta-esque peaks, which implies that the impulse response of the wired
channel is a delta (what I expect). Thus the frequency domain and time
domain descriptions are conflicting.

I have:

  • Checked this phenomenom at DC, still occurs
  • Occurs at 10MHz and 20MHz (the coaxial should surely work up into the
    GHz range)
  • Changed USRP, still occurs

I know:

  • The transmitted data definately has a flat spectral density at
    transmission
  • The received signal is complex and seems to have been demodulated
    correctly (I take into account the frequency offset)
  • This channel shouldn’t be behaving like this!

Attached are the transmit/receive python files as well a few figures
showing this problem.

Thank you for your help in advance,
Harry

Harry Jones wrote:

source into the USRP. The transmit works fine and has been tested using
spectrally flat and should not be changed drastically by the wired

I believe you are seeing the rolloff of the CIC interpolator. If you
use a lower interpolation ratio in the FPGA and do some interpolation in
software, you should see it much flatter.

In any case, you can’t expect to use 100% of the nyquist bandwidth in
any real DSP system due to practical filter rolloff issues.

Matt