Call Search
     

New to Ham Radio?
My Profile

Community
Articles
Forums
News
Reviews
Friends Remembered
Strays
Survey Question

Operating
Contesting
DX Cluster Spots
Propagation

Resources
Calendar
Classifieds
Ham Exams
Ham Links
List Archives
News Articles
Product Reviews
QSL Managers

Site Info
eHam Help (FAQ)
Support the site
The eHam Team
Advertising Info
Vision Statement
About eHam.net

   Home   Help Search  
Pages: [1]   Go Down
  Print  
Author Topic: Question Regarding Noise FLoor as Presented in different SDR Software  (Read 13055 times)
N5INP
Member

Posts: 913




Ignore
« on: August 20, 2013, 02:48:19 PM »

I've searched for an answer but no definitive explanation has come up. I'm using an RTL2832 with an Elonincs E4000 tuner.

Say I tune to 220 MHz where there is no signal. Using SDR# the noise level is around -60dB. No matter what I tweak BW, mode, etc., and turning off all the AGCs and even turning the RF gain to zero, I can't get the noise floor any lower than that. I can make it go higher, but not lower.

Using HDSDR with the same hardware it's around -110 to -120. No matter what I tweak I can 't get it as high as SDR# (not that it would be better if I could). As far as noise floor goes, I can't make the two programs match up.

So what's the explanation for the wide difference in noise floors given the same hardware and freq.? Is the noise floor being presented actually meaningful? If so, which program is correct? Thanks.
Logged

SWL2002
Member

Posts: 287




Ignore
« Reply #1 on: August 20, 2013, 03:23:13 PM »

Neither is correct unless you calibrate with a known level signal source.  This is also the problem with all the third party SDR software out there.  What you are seeing is the different ways the interface code has been implemented for each copy of software you have.  Since the software is not written by the manufacturer of the hardware, the results are not very good and/or satisfying.  The RTL has very poor dynamic range, so even calibrated, it will be a disappointment.

Logged
K5TED
Member

Posts: 730




Ignore
« Reply #2 on: August 20, 2013, 06:11:53 PM »

It's a $20 RF detector with open source demod software. What do you expect? Revel in that it actually receives something usable and enjoy it.
Logged
KA4POL
Member

Posts: 1995




Ignore
« Reply #3 on: August 20, 2013, 10:03:42 PM »

Aside from calibration it seems you did not remove the antenna. The noise floor is the sum of all unwanted signals within your system. If measuring equipment were as cheap as just DVB-T stick that would be a dream come true.
Logged
KD7RDZI2
Member

Posts: 68




Ignore
« Reply #4 on: August 23, 2013, 01:33:18 PM »

Don't be fooled by db and dbm. SDR# vertical line is db, not dbm! Given the fact that 55-60db is the value of the dynamic range of the RTL receiver, it happens to be that the 0db line is a very useful value. If a signal is beyond that the noise floor will rise... and this should worn you that the gain level is set too high and you should lower it to enjoy the maximum of dynamic range. The RTL sticks give plenty of sensitivity and you can set it as much as you like. The only difference that I found between a 10-20usd RTL receiver and a Tabletop receiver and Funcubes is dynamic range.
Logged
KA4POL
Member

Posts: 1995




Ignore
« Reply #5 on: August 23, 2013, 11:09:34 PM »

The RTL stick has 8 bits. This results in about 48 dB of dynamic range.
Logged
N5INP
Member

Posts: 913




Ignore
« Reply #6 on: August 24, 2013, 05:14:56 AM »

Aside from calibration it seems you did not remove the antenna. The noise floor is the sum of all unwanted signals within your system. If measuring equipment were as cheap as just DVB-T stick that would be a dream come true.

I was not interested in nor measuring the noise floor of the DVB-T. I was comparing the noise level at a certain frequency in free space as calculated by the two different SDR programs. Apparently the calculations are different because the numbers are different for the same input.
Logged

SWL2002
Member

Posts: 287




Ignore
« Reply #7 on: August 24, 2013, 05:37:12 AM »

Aside from calibration it seems you did not remove the antenna. The noise floor is the sum of all unwanted signals within your system. If measuring equipment were as cheap as just DVB-T stick that would be a dream come true.

I was not interested in nor measuring the noise floor of the DVB-T. I was comparing the noise level at a certain frequency in free space as calculated by the two different SDR programs. Apparently the calculations are different because the numbers are different for the same input.


The numbers are different because neither software is calibrated.
Logged
N5INP
Member

Posts: 913




Ignore
« Reply #8 on: August 24, 2013, 06:23:49 AM »

The numbers are different because neither software is calibrated.

No, that answer can't be correct. It's not the calibration it's the calculation. They both should be substantially correct with the same given input.

For example my low priced DMM is not calibrated by a cal lab. But it's still useful because it's substantially correct. It matches other uncalibrated DMMs I have because they are all substantially correct. If I measure a 9V battery they all show the same voltage within a few millivolts. If one indicated 11V then it would not be substantially correct, even though uncalibrated.

The wide difference in the noise shown by the two programs indicates they are not substantially correct given the same noise input. So either one or the other is calculating it wrong - or both are calculating it wrong, even given the fact we're not dealing with a calibrated system.  Smiley
Logged

SWL2002
Member

Posts: 287




Ignore
« Reply #9 on: August 24, 2013, 07:15:28 AM »

The numbers are different because neither software is calibrated.

No, that answer can't be correct. It's not the calibration it's the calculation. They both should be substantially correct with the same given input.

For example my low priced DMM is not calibrated by a cal lab. But it's still useful because it's substantially correct. It matches other uncalibrated DMMs I have because they are all substantially correct. If I measure a 9V battery they all show the same voltage within a few millivolts. If one indicated 11V then it would not be substantially correct, even though uncalibrated.

The wide difference in the noise shown by the two programs indicates they are not substantially correct given the same noise input. So either one or the other is calculating it wrong - or both are calculating it wrong, even given the fact we're not dealing with a calibrated system.  Smiley

No, the answer is correct.  You have to put a signal into the receiver with a calibrated signal generator, for example at -70 dBm.   Some SDR software lets you then adjust the spectrum display and s meter display levels to agree with the known input signal level.  Other SDR software, such as HDSDR lets you only calibrate the s meter reading, not the spectrum display level.  That must be accounted for in the ExtIO DLL that interfaces your hardware with HDSDR.   

The other issue is that the noise floor, after calibration using the method above, changes with the sampling rate used.  If you double the sample rate, the noise floor increases each doubling by approx. 6 dB.  If you decrease the sampling rate by one half, the calibrated noise floor drops by 6 dB.  You will also notice that as you increase or decrease the filter bandwidth in the SDR programs, the s meter reading of the noise floor in your selected bandwidth changes too. 

This is all fundamental sampling theory stuff and you should read up on it.

The answer to your original question is the no SDR software displays the correct noise floor unless you calibrate the displayed level with a signal source of known level.  There is variations from SDR hardware to hardware of the same kind as well as different SDR hardware that makes it necessary to calibrate the software calculation for it to be accurate and display the real noise floor.
Logged
N5INP
Member

Posts: 913




Ignore
« Reply #10 on: August 24, 2013, 11:33:09 AM »

No, the answer is correct.  You have to put a signal into the receiver with a calibrated signal generator, for example at -70 dBm. 

Nope. Not if I'm comparing the free space noise level at freq. x  between two software packages too see how they calculate it. As I've said, I'm not interested in a calibrated answer, only in a comparative answer between two software systems looking at the same input and the same exact hardware. This is perfectly valid. You don't seem to be able to grasp what I'm getting at.

Quote
Some SDR software lets you then adjust the spectrum display and s meter display levels to agree with the known input signal level.  Other SDR software, such as HDSDR lets you only calibrate the s meter reading, not the spectrum display level.  That must be accounted for in the ExtIO DLL that interfaces your hardware with HDSDR.   

The other issue is that the noise floor, after calibration using the method above, ...

I'm not interested in calibrating the systems, only in comparing the answer they give, given substantially the same noise input and substantially the same settings.

Quote
... If you double the sample rate, the noise floor increases each doubling by approx. 6 dB.  If you decrease the sampling rate by one half, the calibrated noise floor drops by 6 dB.  You will also notice that as you increase or decrease the filter bandwidth in the SDR programs, the s meter reading of the noise floor in your selected bandwidth changes too.

I've already said, I can't get the two programs to give the same answer even if I adjust all the parameters available.

Quote
This is all fundamental sampling theory stuff and you should read up on it.

Ahem ....

Quote
The answer to your original question is the no SDR software displays the correct noise floor unless you calibrate the displayed level with a signal source of known level. 

I'm not interested in calibrating them as I've said now several times.

Quote
There is variations from SDR hardware to hardware of the same kind as well as different SDR hardware that makes it necessary to calibrate the software calculation for it to be accurate and display the real noise floor.

I'm not interested in the calibrated noise floor - to avoid repeating myself, see above responses ...

Here, let me try a simple analogy.

First we take it that we are using systems that are made by companies that have a sound understanding of the engineering of the products they have produced.

Now, suppose I put masking tape on the front of my variable 0 - 30V P.S. readout so I can't see the voltage. I then randomly turn the voltage knob and turn it on. I have no idea what the voltage is. I then measure the output with a Fluke DMM. It reads 12.50V.

I then get a second DMM, made by Agilent, and measure the voltage. It reads 12.59V. What is the actual voltage of the P.S.?

The answer is - I don't care. All I'm doing is comparing two systems using a given input to see if they give substantially the same answer - not the "right" answer. It makes no difference whatsoever if the input is calibrated or not. Now what happens if the DMMs read substantially different values, such as 12.50V and 13.8V? All that means is that for a given input something is causing a difference in the readings and it isn't the output voltage. If I try to get them to agree by adjusting either one or both, and I cannot do that, it tells me that there is something very wrong with the DMMs, something at a fundamental level. It has nothing to do with the input being calibrated or not. If I can adjust one or the other so they read the same, it then tells me that there is no substantial problem with the DMMs, and if I did get a calibrated voltage, that I could also adjust to that, but that isn't the issue at the level I'm referring to here. The issue is, with a measurable input voltage, do the soundly engineered DMMs agree or not and can they be made to agree - not whether they are calibrated to a standard.

So it goes with the noise floors. The two programs should be able to substantially agree given the same exact hardware and substantially the same running noise level at freq. x. Of course there are parameters to adjust, but we're dealing with mathematics now, not hardware, in the computer. The math theory is sound, so the answers should be closer than orders of magnitude difference after all means of adjustment has been attempted.

See, I knew this would result in a argument which is why I didn't respond back initially, but ah well ... here we go.  Smiley


Logged

SWL2002
Member

Posts: 287




Ignore
« Reply #11 on: August 24, 2013, 01:40:10 PM »

Quote
So it goes with the noise floors. The two programs should be able to substantially agree given the same exact hardware and substantially the same running noise level at freq. x. Of course there are parameters to adjust, but we're dealing with mathematics now, not hardware, in the computer. The math theory is sound, so the answers should be closer than orders of magnitude difference after all means of adjustment has been attempted.

The only way that two different SDR software programs are going to agree on the same SDR hardware is if they use the same scaling for the input values from the hardware.  Obviously the two programs that you are comparing do not use the same scaling factor for the hardware input values.  Which one is correct?  Who the Hell knows unless you use a calibrated signal source so you are working with a known signal level into the hardware.  Most likely both are not right.  You can get orders of magnitude of difference in the power spectrum calculation by just shifting the input data by 8 bits.  Neither SDR# or HDSDR was written to work specifically with the hardware you are using.  They were written to work with a lot of different hardware, so there is no way that either will necessarily agree as to what the real noise floor is without calibration.   Just the different in ADCs used in the different hardware are going to make the input scaling factor different, some have 8 bit ADCs, some have 12, 14, or 16 bit ADCs and those programs also work with sound cards which have different 16 or 24 bits ADCs too.

I understand that you just want to be able to adjust something in SDR# or HDSDR to get the noise floor readings to agree.  There is not enough adjustment in either software to make them agree when they are off that much.  That is an implementation issue by the programmer who wrote the interface code to the software, for example, the ExtIO DLL for HDSDR.  If you want to know which one is right or which one is closer to being right, you still need to use a calibrated signal source to determine that (whether you like the idea or not).
« Last Edit: August 24, 2013, 01:54:34 PM by SWL2002 » Logged
M0HCN
Member

Posts: 473




Ignore
« Reply #12 on: August 24, 2013, 02:31:02 PM »

A big part of the differences could possibly be down to different ways of considering the noise bandwidth, talking about a noise floor without specifying the measurement bandwidth is meaningless.

If I am looking at a few KHz with a long FFT, then it may well be that the energy per bin is indeed down at the -100<mumble> dBFS, and displaying that is fine, but what happens when the FFT is wider (Possibly much wider) then the screen has pixels.....

It is just math of course but sensible people can disagree about reference levels and the correct way to handle (what amounts to) a video bandwidth very much smaller then the resolution bandwidth.

I suspect that some of the old HP/Agilent notes cover the right way to do this, but I am not at all surprised that some SDR authors who are not measurement specialists do random things here.

I would note that whatever the on screen reference, a 10dB change should be a 10dB change on both systems.

Regards, Dan.
Logged
N5INP
Member

Posts: 913




Ignore
« Reply #13 on: August 24, 2013, 03:15:34 PM »

I understand that you just want to be able to adjust something in SDR# or HDSDR to get the noise floor readings to agree.  There is not enough adjustment in either software to make them agree when they are off that much.  That is an implementation issue by the programmer who wrote the interface code to the software, ...

A big part of the differences could possibly be down to different ways of considering the noise bandwidth, talking about a noise floor without specifying the measurement bandwidth is meaningless.

If I am looking at a few KHz with a long FFT, then it may well be that the energy per bin is indeed down at the -100<mumble> dBFS, and displaying that is fine, but what happens when the FFT is wider (Possibly much wider) then the screen has pixels.....

It is just math of course but sensible people can disagree about reference levels and the correct way to handle (what amounts to) a video bandwidth very much smaller then the resolution bandwidth.

Yes thanks gentlemen (well I assume you are men if not I apologize).  Smiley

That's really all I was saying. It didn't seem to me that even if you had a noise level that was "calibrated", that you could even get them to adjust to it.

SDR# seem to run around -50 and I can get it to go a little lower by diddling with this and that.

HDSDR seem to run around -110 or so and I can't seem to get it to adjust it much higher ...

So for example if the cal. noise source was, say, -85, neither program could be adjusted to that, and so on.

As far as I'm concerned we've beat this to death so I'm all for moving on.

I did finally get a Ham it Up converter the other day and had a lot of fun last night with it. I also realized that I was running the dongle gain much, much too high while using HDSDR. Had to turn it way down. Did capture what I think were OTH radar signals on 12 MHz band. They were sweeping and then moving up or down the band and sweeping again.

Logged

WV4I
Member

Posts: 136




Ignore
« Reply #14 on: October 22, 2013, 05:22:17 AM »

Interesting thread, but way deeper than I care to get. I will say that HDSDR with my KX3 attached via I/Q line yields a better result on receive, i.e. can hear stations near/in noise level better, than the standalone KX3. Particularly when using NR. This is the objective I think.
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!