Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHello,
I discovered that uhd_rx_cfile.py is giving me different
data depending on the number of samples I take from a
certain constant bandwidth of noise only samples.
In theory the noise power calculated from these samples is
supposed to get more accurate the more samples I take,
but the more samples I take, the higher the noise power
value gets ( for example several dB after doubling the
number of samples).
Any hints are highly appreciated.
Thanks.
-Sebastian
On Wed, 28 Mar 2012 15:18:42 +0200, Sebastian Döring wrote:
Hello,
I discovered that uhd_rx_cfile.py is giving me different
data depending on the number of samples I take from a
certain
constant bandwidth of noise only samples.
In theory the noise power
calculated from these samples is
supposed to get more accurate the
more samples I take,
but the more samples I take, the higher the noise
power
value gets ( for example several dB after doubling the
number of samples).
Any hints are highly appreciated.
Thanks.
-Sebastian
USRP-users mailing list
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
[2]
uhd_rx_cfile.py by default writes complex-float samples, so that's
the first thing you need to make sure you're handling correctly.
Secondly, how are you computing the noise power across the bandwidth
represented by the samples?
Since they're complex samples, you should
be calculating, roughly:
power = AVG(I2 + Q2)
[1] mailto:USRP-users@lists.ettus.com
[2]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
On Wed, 28 Mar 2012 09:59:48 -0400
mleech@ripnet.com wrote:
On Wed, 28 Mar 2012 15:18:42 +0200, Sebastian Döring
wrote:
Hello,
I discovered that uhd_rx_cfile.py is giving me different
data depending on the number of samples I take from a
certain
constant bandwidth of noise only samples.
In theory the noise power
calculated from these samples is
supposed to get more accurate the
more samples I take,
but the more samples I take, the higher the noise
power
value gets ( for example several dB after doubling the
number of samples).
Any hints are highly appreciated.
Thanks.
-Sebastian
USRP-users mailing list
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
[2]
uhd_rx_cfile.py by default writes complex-float samples,
so that's
the first thing you need to make sure you're handling
correctly.
Secondly, how are you computing the noise power across
the bandwidth
represented by the samples?
Since they're complex samples, you should
be calculating, roughly:
power = AVG(I2 + Q2)
That´s exactly what I am doing except I am also computing
the FFT before computing the suared magnitude to get the
spectral power.
[1] mailto:USRP-users@lists.ettus.com
[2]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
If you're averaging, (like with a single-pole IIR filter), then it
takes a while for the average to "grow" to a stable value before it
stabilizes.
I do received-power calculations all the time, and they
don't grow without bound. You're just processing something incorrectly.
-Marcus
On Wed, 28 Mar 2012 18:30:24 +0200, Sebastian Döring wrote:
On Wed, 28 Mar 2012 15:18:42 +0200, Sebastian Döring wrote:
Hello,
I discovered that uhd_rx_cfile.py is giving me
different
data depending on the number of samples I take from a :5px;
bor
0ff 2px solid; margin-left:5px; width:100%">In theory the noise
power calculated from these samples is va
r example several dB after
doubling the number of samples). -Sebastian
rder-left:#1010ff 2px solid;
margin-left:5px; width:100%">
mples, so that's the first thing you need
to
're handling correctly. Secondly, how are you computing the noise
power across the bandwidth
er = AVG(I2 + Q2)
That´s exactly what I am doing except I am also computing the FFT before
computing the suared magnitude to get the spectral power.
Links:
------ [1] mailto:USRP-users@lists.ettus.com [1] [2]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com [2]
[1] mailto:USRP-users@lists.ettus.com
[2]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
[3]
mailto:mleech@ripnet.com
Sebastian,
Are you sure that the bandwidth is not changed when you change the
sample rate?
I hope I am looking into a proper version here, but note the parentheses
below:
parser.add_option("", "--samp-rate", type="eng_float", default=1e6,
help="set sample rate (bandwidth) [default=%default]")
In any case, is there any consistency in the increase? If the noise
power grows by 3 dB when you double the sampling rate (kTB formula) than
the bandwidth is somehow doubled as well.
Hope it helps,
H.
On 3/29/2012 1:33 AM, mleech@ripnet.com wrote:
If you're averaging, (like with a single-pole IIR filter), then it
takes a while for the average to "grow" to a stable value before it
stabilizes.
I do received-power calculations all the time, and they don't grow
without bound. You're just processing something incorrectly.
-Marcus
On Wed, 28 Mar 2012 18:30:24 +0200, Sebastian Döring wrote:
On Wed, 28 Mar 2012 09:59:48 -0400
mleech@ripnet.com mailto:mleech@ripnet.com wrote:
On Wed, 28 Mar 2012 15:18:42 +0200, Sebastian Döring wrote:
Hello,
I discovered that uhd_rx_cfile.py is giving me different
data depending on the number of samples I take from a
certain
constant bandwidth of noise only samples.
In theory the noise power
calculated from these samples is
supposed to get more accurate the
more samples I take,
but the more samples I take, the higher the noise
power
value gets ( for example several dB after doubling the
number of samples).
Any hints are highly appreciated. Thanks.
-Sebastian _______________________________________________
USRP-users mailing list
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
[2] uhd_rx_cfile.py by default writes complex-float samples, so
that's the first thing you need to make sure you're handling
correctly. Secondly, how are you computing the noise power across
the bandwidth represented by the samples? Since they're complex
samples, you should be calculating, roughly: power = AVG(I2 + Q2)
That´s exactly what I am doing except I am also computing
the FFT before computing the suared magnitude to get the
spectral power.
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
On Thu, 29 Mar 2012 14:40:33 +0900
Haris KREMO hkremo@jp.toyota-itc.com wrote:
Sebastian,
Are you sure that the bandwidth is not changed when you
change the sample rate?
I am not talking about the sample rate but number of
samples taken (N).
The sample rate stays the same. It's just the resolution
of the spectrum that changes.
I hope I am looking into a proper version here, but note
the parentheses below:
parser.add_option("", "--samp-rate", type="eng_float",
default=1e6,
help="set sample rate (bandwidth)
[default=%default]")
In any case, is there any consistency in the increase?
If the noise power grows by 3 dB when you double the
sampling rate (kTB formula) than the bandwidth is somehow
doubled as well.
Hope it helps,
H.
On 3/29/2012 1:33 AM, mleech@ripnet.com wrote:
If you're averaging, (like with a single-pole IIR
filter), then it takes a while for the average to "grow"
to a stable value before it stabilizes.
I do received-power calculations all the time, and they
don't grow without bound. You're just processing
something incorrectly.
-Marcus
On Wed, 28 Mar 2012 18:30:24 +0200, Sebastian Döring
wrote:
On Wed, 28 Mar 2012 09:59:48 -0400
mleech@ripnet.com mailto:mleech@ripnet.com wrote:
On Wed, 28 Mar 2012 15:18:42 +0200, Sebastian Döring
wrote:
Hello,
I discovered that uhd_rx_cfile.py is giving me different
data depending on the number of samples I take from a
certain
constant bandwidth of noise only samples.
In theory the noise power
calculated from these samples is
supposed to get more accurate the
more samples I take,
but the more samples I take, the higher the noise
power
value gets ( for example several dB after doubling the
number of samples).
Any hints are highly appreciated. Thanks. -Sebastian
USRP-users mailing list
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
[2] uhd_rx_cfile.py by default writes complex-float
samples, so that's the first thing you need to make sure
you're handling correctly. Secondly, how are you
computing the noise power across the bandwidth
represented by the samples? Since they're complex
samples, you should be calculating, roughly: power =
AVG(I2 + Q2)
That´s exactly what I am doing except I am also
computing
the FFT before computing the suared magnitude to get the
spectral power.
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
In that case I have one more guess:
Discrete version of the Parseval's theorem has factor of 1/N on the
frequency side. If you are averaging over FFT and dividing only with the
number of samples N instead of 1/N^2 that might be the problem.
H.
On 3/29/2012 3:19 PM, Sebastian Döring wrote:
On Thu, 29 Mar 2012 14:40:33 +0900
Haris KREMO hkremo@jp.toyota-itc.com wrote:
Sebastian,
Are you sure that the bandwidth is not changed when you change the
sample rate?
I am not talking about the sample rate but number of samples taken (N).
The sample rate stays the same. It's just the resolution of the
spectrum that changes.
I hope I am looking into a proper version here, but note the
parentheses below:
parser.add_option("", "--samp-rate", type="eng_float", default=1e6,
help="set sample rate (bandwidth) [default=%default]")
In any case, is there any consistency in the increase? If the noise
power grows by 3 dB when you double the sampling rate (kTB formula)
than the bandwidth is somehow doubled as well.
Hope it helps,
H.
On 3/29/2012 1:33 AM, mleech@ripnet.com wrote:
If you're averaging, (like with a single-pole IIR filter), then it
takes a while for the average to "grow" to a stable value before it
stabilizes.
I do received-power calculations all the time, and they don't grow
without bound. You're just processing something incorrectly.
-Marcus
On Wed, 28 Mar 2012 18:30:24 +0200, Sebastian Döring wrote:
On Wed, 28 Mar 2012 09:59:48 -0400
mleech@ripnet.com mailto:mleech@ripnet.com wrote:
On Wed, 28 Mar 2012 15:18:42 +0200, Sebastian Döring wrote:
Hello,
I discovered that uhd_rx_cfile.py is giving me different
data depending on the number of samples I take from a
certain
constant bandwidth of noise only samples.
In theory the noise power
calculated from these samples is
supposed to get more accurate the
more samples I take,
but the more samples I take, the higher the noise
power
value gets ( for example several dB after doubling the
number of samples).
Any hints are highly appreciated. Thanks. -Sebastian
USRP-users mailing list
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
[2] uhd_rx_cfile.py by default writes complex-float samples, so
that's the first thing you need to make sure you're handling
correctly. Secondly, how are you computing the noise power across
the bandwidth represented by the samples? Since they're complex
samples, you should be calculating, roughly: power = AVG(I2 + Q2)
That´s exactly what I am doing except I am also computing
the FFT before computing the suared magnitude to get the
spectral power.
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com