Malihe,
Date: Thu, 2 Sep 2010 14:19:54 -0600
From: [email protected]
Actually we are using the USRP2 not for a SDR application, but we are
using it to test our physical layer asynchronous backet based
communication. For that I have to change the FPGA code and remove the
interpolation/decimation and replace it with a spreading scheme.
Assuming your spreading doesn’t bring your bandwidth over around 25MHz,
you should be able to do the spreading operation on the host and
transmit the spread baseband data to the USRP2 via Gnuradio. The host
typically does not send unmodulated data to the USRP2; the host side,
usually using Gnuradio, performs the desired DSP operations on your raw
information such as spreading, shaping, and modulating, and sends the
resulting complex waveform to the USRP2 as raw 16-bit samples. The USRP2
itself knows nothing about your original unmodulated data.
for
that I need to know exactly what is the nature of data I am receiving at
the FPGA and what is its maximum rate or forget about Ethernet and get a
separate bus for me to pass the data to the FPGA .
The data you are receiving at the FPGA is whatever you send to it – the
interpolation rate you pick determines the sample rate the USRP2 will
run at. The interpolator will handle upsampling the raw samples to match
the data rate the DACs run at. It’s up to you (using Gnuradio) to encode
your data into an appropriate waveform for your application.
Assuming I want to use Ethernet, let’s say I want to send the stream
‘0100001’, and I pick DBPSK as the modulation. can you please explain
what is the relation of the DBPSK modulated data and “GMII_RXD” input to
the FPGA or “sample” input to the dsp_core_tx? is that FPGA receives 8
bits per symbol sent over Ethernet?
Whatever raw samples you send into gnuradio get sent to the FPGA (I’m
simplifying here: see the link below for details). The USRP2 itself does
not know or care that you are using DBPSK or that you are sending
‘0100001’. It sounds like you might have a misconception of exactly what
the USRP2 is doing. This FAQ is for the USRP1, but the overall
description applies also to the USRP2:
http://gnuradio.org/redmine/wiki/gnuradio/UsrpFAQ
Also, do you have a ready to use Python code for USRP2 device which
generates for example a SIN wave at the transmitter and captures it at
the receives?
A simple GRC flowgraph would perform this function for you. You can use
a signal source to feed a USRP2 sink, and then a USRP2 source to feed an
FFT sink (or whatever sink you like). The parameters for these blocks
depend on what daughterboards you are using for TX and RX and whether
you are using the UHD driver or not.
Nick