My name is Emanuel and I’m doing my master thesis project for a small
company called Actiwave (http://www.actiwave.se). We recently bought a
USRP-board together with an assortment of daughterboards. The dboards
I’ll
be using for my thesis are the BasicTX & -RX. After that short
introduction
I’ll move right to the topic:
Question A:
I’m interested in calculating an estimate of the impulse response of a
speaker cable, using pseudo-white noise and bypassing all forms of
interpolation/decimation/modulation/demodulation-blocks, for as wide a
bandwidth as possible. However, and please correct me if I’m wrong, the
USB-interface on the USRP is too slow (8 MHz) to, so to speak, do this
“online”. Say I want to use 10,000 pseudo-white samples with at least
8bit
resolution. Is this possible without rewriting very much of the
Verilog-code?
Question B:
Is it possible if rewriting very much of the Verilog-code?
Below is an illustration of what I want to do.
| gen. wh. noise | => | store on ursp | => | transmit & receive @ full
speed | => | store received on usrp | => | trans. to host |
On Monday 15 December 2008 17:28:31 Emanuel B. wrote:
speaker cable, using pseudo-white noise and bypassing all forms of
interpolation/decimation/modulation/demodulation-blocks, for as wide a
bandwidth as possible. However, and please correct me if I’m wrong, the
USB-interface on the USRP is too slow (8 MHz) to, so to speak, do this
“online”. Say I want to use 10,000 pseudo-white samples with at least 8bit
resolution. Is this possible without rewriting very much of the
Verilog-code?
As long as you stick to humans as your intended audience, and not bats,
100kHz
should be more then enough. As the frequency response of the DDC filters
is
flat for ~0.5 of the sampling bandwidth (you can find the FR in the USRP
FAQ), a sampling rate of 200kHz is more than satisfactory for your work.
Everything else is esoteric …
On Mon, Dec 15, 2008 at 8:28 AM, Emanuel B. [email protected]
wrote:
I’m interested in calculating an estimate of the impulse response of a
speaker cable, using pseudo-white noise and bypassing all forms of
interpolation/decimation/modulation/demodulation-blocks, for as wide a
bandwidth as possible. However, and please correct me if I’m wrong, the
USB-interface on the USRP is too slow (8 MHz) to, so to speak, do this
“online”. Say I want to use 10,000 pseudo-white samples with at least 8bit
resolution. Is this possible without rewriting very much of the
Verilog-code?
The BasicRX and TX do not pass DC; they are transformer coupled and
have a ~100 KHz highpass response at the low end. The alternative is
the LFRX and LFTX cards, which do pass DC, but have lowpass filtering
at ~30 MHz. So you will only be able to calculate the impulse
response convolved with that of one of these filters.
There is a GNU Radio component called gr-sounder, which implements a
custom FPGA build for the USRP. The transmitter will generate an
m-sequence PN code of a configurable length and chipping rate for
channel sounding purposes; this is likely suitable for what you need.
The receiver will correlate the received signal at all possible PN
code phases and produce a complex vector of the correlation results.
Also, your results will be affected by the coupling of the USRP
daughterboards to the speaker cable. They are designed for a
broadband match of 50 ohms across their frequency range. Speaker
cable is not typically designed with this in mind and the mismatch
will like cause a frequency-dependent amplitude response. Maybe that
is what you trying to measure, however.
-Johnathan
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.