Gateware 20200803_72p3 and hermeslite.py 0.01 Released

726 views
Skip to first unread message

Steve Haynal

unread,
Aug 4, 2020, 12:53:06 AM8/4/20
to Hermes-Lite
Hi Group,

Please see the 20200803_72p3 testing gateware release and the initial hermeslite.py 0.01 module release. These two work together.

I would appreciate feedback from any of the few people experiencing relay chatter. Please use this to adjust your TX buffer latency and find a latency which eliminates the chatter. For example, if I set the TX buffer latency to 0, I will hear some extra clicks (8-10 per minutes) when transmitting with Quisk. If I set the TX buffer latency to the default 10, the relay clicks go away. Other software and network setups may require a higher TX buffer latency. The value can be adjusted from 0 to about 80 with this gateware and hermeslite.py. Set PTT hang time to 0 for these experiments.

You can also configure the HL2 to use an external 76.8MHz reference with this gateware and hermeslite.py.

The hermeslite.py is just a start, and I will enhance it primarily for the beam forming experiments I am working on. Please feel free to add to hermeslite.py and issue and pull requests to github. I will gladly accept enhancements.

73,

Steve
kf7o



vk2dxm

unread,
Aug 8, 2020, 9:50:47 PM8/8/20
to Hermes-Lite
Hi Steve, Thanks for this. I've loaded the gateware but I'm having trouble with the python script.

mal@M92p:~/build$ python3 -i hermeslite.py
Discover response from 192.168.2.12:1025
>>> hl.configure_txbuffer(10,0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'HermesLite' object has no attribute 'configure_txbuffer'
>>>


How do I go about adjusting those values? Should I be changing the values with the .py file? Please excuse my .py ignorance!
'73 Mal

Ronald Nicholson

unread,
Aug 8, 2020, 11:05:35 PM8/8/20
to Hermes-Lite

On my MacBook Pro, running macOS 10.15.6:


$ hl2_tcp -d

Hermes Lite 2 UDP IP Address Discovery v.1.3.129

36 UDP broadcasts of 63 bytes

discover ip = 10.0.1.122 : 0x0A00017A 

discover port = 1024 

Received 60 bytes from UDP broadcast discover 

0xef 0xfe 0x02 

MAC Address: 00.1c.c0.a2.13.dd

Protocol: 6

Gateware Version: 70

Done.

$ python3 -i hermeslite.py

No Hermes-Lite discovered

>>> exit()


What should I do to debug?

Ron
n6ywu

------

Steve Haynal

unread,
Aug 8, 2020, 11:23:14 PM8/8/20
to Hermes-Lite
Hi Mal,

There is a typo on the wiki page. The method is actually

hl.config_txbuffer(10,0)

73,

Steve
kf7o

Steve Haynal

unread,
Aug 8, 2020, 11:24:40 PM8/8/20
to Hermes-Lite
Hi Ron,

Have you updated the gateware to 72p3 for that unit? Your output says gateware version 70. Only 72p3 and later have port 1025 open for the secondary Python command and control interface.

73,

Steve
kf7o

Ronald Nicholson

unread,
Aug 8, 2020, 11:43:04 PM8/8/20
to Hermes-Lite
Hi Steve,

Oops.  My fault!  I thought your .py used port 1024 for discovery.

I haven't yet figured out how to do a gateware update from the command line.
But do I have IQ capture and IQ Tx from the command-line (both Mac and headless Raspberry Pi) almost working.
Maybe that can be also done in python as well?

73, Ron , n6ywu

Jayson Bucknell

unread,
Aug 9, 2020, 12:08:55 AM8/9/20
to Hermes-Lite
Hi, Steve. I've loaded Gateware 20200803_72p3 and hermeslite.py and entered "hl.enable_cl1_direct()" at the prompt to enable the external clock and the Hermes seems to accept that. But I've no idea if it's working. Comparing against WWV has been very close. The onboard clock IS quite good by itself. Disabling the external clock input doesn't change anything. Is there a command to poll status? It also starts up fine without it.
Is this configuration persistent or must this be done each time the HL is reset? If not, that may answer the question of how to change back to the internal clock.


Thanks for all your hard work!

Jayson 
AA7NM

Steve Haynal

unread,
Aug 9, 2020, 2:06:48 AM8/9/20
to Hermes-Lite
Hi Jayson,

If you start your HL2 with your preferred software, and then issue hl.enable_cl1_direct() but with no clock connected to CL1, you should see and hear everything stop. This can verify if the HL2 is switching to CL1 for you. You'll probably have to power cycle your HL2 after that to reset everything. Also, you can switch back to the internal clock with:

hl.disable_cl1()

You can switch back and forth with hl.enable_cl1_direct() and hl.disable_cl1() for A/B type comparisons.

The changes persist until the HL2 is power cycled. I'll add a query method to the library to identify which clock is driving the AD9866.

73,

Steve
kf7o

Jayson Bucknell

unread,
Aug 9, 2020, 11:32:36 PM8/9/20
to Hermes-Lite
That works. I've got the Bodnar set on the lowest drive level. I can only see maybe a 1-2 hz difference toggling between them. Drift will be interesting to see. Time for some tests.

73,
Jayson
AA7NM

Steve Haynal

unread,
Aug 12, 2020, 12:20:27 AM8/12/20
to Hermes-Lite
Hi Jayson,

Sounds good. I look forward to learning more from your tests.

73,

Steve
kf7o

vk2dxm

unread,
Aug 12, 2020, 3:26:16 AM8/12/20
to Hermes-Lite
Thanks Steve,

I should have picked up on the typo, I had grepped through the code and come up blank therefore searched on "txbuffer" and thought nothing more of it. The clue was there! Oh well.

For the record, my WSPR testing settled on 24 txbuffers on my i5-2500s. I then applied 4ms of PTT hang time for no particular reason other than preserving the relay contacts should 24 txbuffers be insufficient.

Thanks to Ronald too, the use of exit() in his reply clued me in to what using python in interactive mode is all about.

-Mal

Steve Haynal

unread,
Aug 23, 2020, 1:47:20 AM8/23/20
to Hermes-Lite
Hi All,

I had a little bit of time this weekend to flesh out the hermeslite.py. I added functions to set/enable/disable the alternate MAC and fixed IP, as well as program the gateware. There are some gateware header safety checks which others may want to incorporate. The gateware updates can be made directly from github to avoid the hassle of manually downloading the file. Finally, the gateware update function still uses port 1024 so can be used with most any current gateware versions. See:

For those working on software, do you cycle through a set of command addresses to constantly write updates to the HL2, or do you only write when a value changes? For example, Quisk keeps in computer host memory a shadow of all the values for command addresses 0 to 17. It then iterates through each address and writes the host memory value to the HL2. This means that a secondary connection such as hermeslite.py can't really change anything in that 0-17 address range as Quisk will overwrite it very soon. I'd like to understand what other software is doing.

73,

Steve
kf7o

Alan Hopper

unread,
Aug 23, 2020, 2:36:00 AM8/23/20
to Hermes-Lite
Hi Steve,
the gateware upload features sound good, I'll certainly have a look at incorporating them.
In Spark I also cycle through the cc values continuously, I suspect most software does this and it is a good idea as it allows for dropped packets.
73 Alan M0NNB

Ronald Nicholson

unread,
Aug 23, 2020, 7:21:38 AM8/23/20
to Hermes-Lite
Hi Steve,

My hl2_tcp and iOS software currently cycles though the first 12 addresses, but only uses the addresses above that range if something changes.
I assumed that that was done in hl2_setup to account for the possibility of UDP packet loss.

73,
Ron
n6ywu

Matthew

unread,
Aug 23, 2020, 12:19:55 PM8/23/20
to Hermes-Lite
Hi Steve,

linHPSDR cycles through all the addresses up to 0x17. I have previously wondered if this could have any undesired consequence in relation to the tx buffer to be repeatedly sending the requested buffer size (especially for cwx). I haven't looked at the gateware to see if it actually would have any problems.

I have finally found some time to try this python script. This is a really great addition to the project. I had some problems because the socket seems to only select the default interface (wifi card in my case), I have my hl2 on en7s0, to quickly force it to use this, I set the following socket option to get the hl2 to discover:

sock.setsockopt(socket.SOL_SOCKET, 25, str("enp7s0" + '\0').encode('utf-8'))

You could either pass the interface via the command line or be more clever. For example, discover all the interfaces and pass the interface the hl2 was found on to the HermesLite constructor. I'm not sure how fancy you want to be with this.

73 Matthew M5EVT.

Steve Haynal

unread,
Aug 23, 2020, 2:37:43 PM8/23/20
to Hermes-Lite
Hi All,

Thanks for the feedback. I agree that repeatedly sending a subset of addresses is good given potential packet drops. But it also can limit a secondary program from accessing some functionality. For example, I added "enable_txlna" address 0x0e but discovered Quisk overwrites any settings. Fortunately, I also discovered that the latest Quisk now supports setting a TX LNA level. Maybe we just need to agree on a range of addresses (0x00-0x17 or 0 to 23 for instances) that is considered core functionality that all software should control, and anything that might be optional or not supported should be outside of this range. Going forward any new optional functionality can be added outside of this range. There are a few bits in this range which may be nice to control from a secondary program, so I may add some switch that says "block writing of these addresses from port 1024" which can be enable from port 1025 if one wants finer control or to debug from a secondary program. What do people think? So far I have:

Quisk 0-17
SparkSDR 0-??
hl2_tcp 0-12
linHPSDR 0 to 23

Also, thanks Matthew for reporting the issue with multiple ports. I'll try to do something better here.

73,

Steve
kf7o

Matthew

unread,
Aug 23, 2020, 2:51:35 PM8/23/20
to Hermes-Lite
Steve,

What version of Python3 are you using? I'm on 3.6.9 and I had to modify the Python script to get it to work properly. I suspect this is as a result of me being on an older version of Python3? I'm reluctant to upgrade my main machine at the moment (I badly messed up a machine with numerous different versions of Python2 and Python3 and I've been very cautious since - venv helps) and I'm short on time to get a VM upgraded tonight. I had to modify line 144 to:

res = self._send(bytes([0xef,0xfe,0x05,addr<<1])+cmd+bytes([0x0]*52))

to overcome an error.

I've noticed that some of the function calls are missing an "e" from the eeprom (search for "_eprom").

73 Matthew M5EVT.


Steve Haynal

unread,
Aug 23, 2020, 3:00:14 PM8/23/20
to Hermes-Lite
Hi Matthew,

I am using stock Python 3.6.9 with Linux mint. I think the line 144 was a typo I introduced right before committing the code... I updated github with a fix for this and the _eprom problem.

73,

Steve
kf7o

Steve Haynal

unread,
Aug 23, 2020, 3:05:42 PM8/23/20
to Hermes-Lite
Actually, you may need to update from github yet again for a working hermeslite.py.

73,

Steve
kf7o

Ronald Nicholson

unread,
Aug 23, 2020, 9:51:20 PM8/23/20
to Hermes-Lite
Hi Steve,

Thanks!  This new release of hermeslite.py allowed me to update the gateware of my HL2v9 from the command-line of my headless Raspberry Pi.
My HL2 is now running gateware 72p3 and accepting the new commands to modify the buffer latency.

73,
Ron
n6ywu

------

Steve Haynal

unread,
Aug 23, 2020, 9:58:46 PM8/23/20
to Hermes-Lite
Hi Group,

I've added a Jupyter notebook page for hermeslite.py. Github renders a static version of a Jupyter notebook as they are so widely used:

The basic idea is that you have an interactive web page in your browser which allows you select and run certain cells for the configuration you need. All you do is edit a little bit of text, select some cells, and then run the selected cells. This is a GUI-like experience for those who don't know much Python3. All the documentation will now be via the Jupyter page. Widgets and graphs can even be added eventually.

I noticed that Quisk hangs sometimes when I use the secondary channel. There may still be a bug in the gateware when using two ports. For now, I recommend only using hermeslite.py when no other software is connected. You can preconfigure the HL2 and then start other software.

73,

Steve
kf7o

Steve Haynal

unread,
Aug 23, 2020, 10:00:46 PM8/23/20
to Hermes-Lite
Hi Matthew,

I don't understand why in your case you have to bind to a specific network device. Linux will use the routing tables and given the HL2 IP address, the correct network interface that covers that IP address should be automatically used. Is there something nonstandard about your routing tables?

73,

Steve
kf7o
 

On Sunday, August 23, 2020 at 9:19:55 AM UTC-7, Matthew wrote:

Reid Campbell

unread,
Aug 24, 2020, 4:43:02 AM8/24/20
to herme...@googlegroups.com
Hi Steve,

From a quick look, PowerSDR looks like it cycles through messages up to and including 18 (0x12).

Cheers

Reid
Gi8TME/Mi0BOT 
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/af94586c-ff5d-406e-bfe8-52022a01de40o%40googlegroups.com.

Chris Gerber

unread,
Aug 24, 2020, 11:35:15 AM8/24/20
to herme...@googlegroups.com
Hi
I upgrade to the newer  Gateware 71.3 which work ok, but found a great diference on the CN4
connector use for CW. (I know about the new Ring/Tip setting)
Using Console Pogram in CW mode and keying the Tip or Ring contact I see a rather long RX signal recovering
on both Audio and Spectrum, independent of setting CW Hang Delay short
With HL2 PowerSDR vBeta5 all works perfect. I use a Vibrofelx Keyer straight away and make all the settings
on PowerSDR CW Mode. Thats the way to go!
Also the RX Hang Delay is working accurate and can be adjusted accordingly

With Gateware 70 the original setting RX, recover delay is ok on both Console and PowerSDR but I do need
an Key Transverter called Ultra Pico Keyer to work CW  on both of the programs, where to say PowerSDR is head on

Question I did not find anymore my old original Gateware version 70 in net. If some one has the old RTF file
please send it to me as would like to have it as BU.

73 Chris HB9BDM








I cant finde the old Gateware version 70 and where so if any obe has the old .RTF file pleas send it
to me would like to go back.

73 Chris

Matthew

unread,
Aug 24, 2020, 4:07:45 PM8/24/20
to Hermes-Lite
Hi Steve,

I haven't done anything non-standard in my routing tables. When I have my hl2 on the bench, I connect via local-link IPv4 (and SparkSDR and linHPSDR find it on the standard APIPA IP 169.254.19.221). I just tried creating a new IPv4 connection with method "manual" and an address 169.254.19.10, netmask 255.255.255.0, gateway 169.254.19.1 and it worked.

Not a massive issue for me, but perhaps something to bear in mind if users report any difficulties.

73 Matthew M5EVT.

Steve Haynal

unread,
Aug 25, 2020, 1:57:45 PM8/25/20
to Hermes-Lite
Hi Matthew,

Maybe it is the APIPA address? I guess for that I should add an option to bind to a specific interface.

73,

Steve
kf7o

Steve Haynal

unread,
Aug 25, 2020, 2:00:36 PM8/25/20
to Hermes-Lite
Hi Chris,

Which gateware 71.3 did you install? It should not be the one recently linked to in a post as that is a special variant but should be this one:

I would not expect big CW differences. In fact 71.3 has some CW bugs fixed.

You can find an archive of gateware here:

73,

Steve
kf7o
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite+unsubscribe@googlegroups.com.

Chris Gerber

unread,
Aug 25, 2020, 7:19:46 PM8/25/20
to herme...@googlegroups.com
Hi Steve

I installed this file version: hl2b5up_ak4951v3.rbf

73 Chris
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/dbb4bc0e-7554-4fc3-9ab1-5c4190ad8a67o%40googlegroups.com.


Chris Gerber

unread,
Sep 5, 2020, 3:52:10 AM9/5/20
to herme...@googlegroups.com
Hi

After cheking the signal strenght with Consol as well as Powersdr Programs

using a 50microVolt signal, I found the value is -13db to high on both

of my units. Linear over the whole frquency range.

On PowerSDR Beta5 I can calibrate the offset, not so on Console.

Is there a way doing it on a HL2 setup program?

73 Chris HB9BDM


James Ahlstrom

unread,
Sep 5, 2020, 7:39:19 AM9/5/20
to Hermes-Lite
Hello Chris,

There is no way to calibrate 50 microvolts to S9 in the HL2 hardware. The SDR program on the PC must provide this feature.

Jim
N2ADR

Alan Hopper

unread,
Sep 5, 2020, 8:05:27 AM9/5/20
to Hermes-Lite
Hi Chris,
if you have a chance to calibrate the s meter on SparkSDR with your source I'd be grateful. It is a long time ago that I last calibrated it and levels have changed since and it is on my very long todo list to set a good default value.
73 Alan M0NNB

Chris Gerber

unread,
Sep 5, 2020, 9:44:48 AM9/5/20
to herme...@googlegroups.com
Hello Jim, Alan

That exactly what I tought. Thanks ! As I was able to calibrate on PowerSDR and knowing
the margin on the Console its ok with me.. Maybe Simon can make a fix...
Alan, I tried with Spark, it works for Spark but does not transfer it to HL2 or another program.
As Jim stated - maybe there is a Hardware change on the SWR cirquit  possible, changing the ratio.
Will look at the cirquit

Thanks fellows
73 Chris HB9BDM
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/ae7e0725-113d-4ebb-8451-ee5e956a1832n%40googlegroups.com.


Alan Hopper

unread,
Sep 5, 2020, 9:48:35 AM9/5/20
to Hermes-Lite
  Hi Chris,
could you tell me the calibration value you used in Spark and I will set it as the default.
73 Alan M0NNB

Chris Gerber

unread,
Sep 5, 2020, 10:22:49 AM9/5/20
to herme...@googlegroups.com
Hello again

Just receievd a mail from Simon telling me where to correct the S-Mter setting
Its contained at Console/Option/Radio called 'Visual Gain'
So its fixed

73 Chris HB9BDM


Hello Jim, Alan

That exactly what I tought. Thanks ! As I was able to calibrate on PowerSDR and knowing
the margin on the Console its ok with me.. Maybe Simon can make a fix...
Alan, I tried with Spark, it works for Spark but does not transfer it to HL2 or another program.
As Jim stated - maybe there is a Hardware change on the SWR cirquit  possible, changing the ratio.
Will look at the cirquit

Thanks fellows
73 Chris HB9BDM




Am 05.09.2020 um 13:39 schrieb James Ahlstrom:
--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/ae7e0725-113d-4ebb-8451-ee5e956a1832n%40googlegroups.com.


--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/9deda2ea-96f4-c002-257b-44abfab562c1%40swissonline.ch.

Chris Gerber

unread,
Sep 5, 2020, 10:28:44 AM9/5/20
to herme...@googlegroups.com
Hi Alan

My calibration setting at Sparks is 1.8 which gives same S9 settings as on
all my Radios here

73 Chris HB9BDM

Alan Hopper

unread,
Sep 5, 2020, 1:02:10 PM9/5/20
to Hermes-Lite
Hi Chris,
thanks for that, one more thing crossed off the list. The next version will have it as the default.
73 Alan M0NNB

vk4...@gmail.com

unread,
Sep 5, 2020, 6:10:50 PM9/5/20
to Hermes-Lite
Hi Alan,
You don't get away so easily ...
I've been wondering about the other end of the scale. Why does SparkSDR show a noise floor of -150 but SDRConsole shows a much more believable -130?
Is there a setting that I need to tweak somewhere?
Thanks 73 Brian.

Alan Hopper

unread,
Sep 5, 2020, 6:53:07 PM9/5/20
to Hermes-Lite
Hi Brian,
I make no claims that the scales are right in spark :) One difference is that zooming in spark is not trivial as it is designed to be able to zoom in to single wspr tracks, as you zoom or change sample rate the scale changes as the noise per fft bin change . This is different to just stretching the scale and means the noise db values per point/fftbin mean something different. I have never really known the best way to scale the data, I feel the radio world is a bit messed up in this regard as the noise over 3kHz is used to describe the snr for modes like wspr and ft8 over their very narrow bw, this makes them sound magic but does not help understanding.
To answer your question, setting the calibration to 1.8 may help because it affects more than just the s meter, but I'm open to suggestions on how to scale everything.
73 Alan M0NBB

John Williams

unread,
Sep 5, 2020, 7:24:07 PM9/5/20
to herme...@googlegroups.com

Setting it on my B8 radio pushes a S3-4 level to S9+10. I run .01 which is about right against my other radios. However, I don't have a calibrated standard to test with, just observation. And I am usually in AM mode with a +/- 3K bandwidth.

Chris - what value are you using for SDRConsole? I would like to try another data point.

John

vk4...@gmail.com

unread,
Sep 5, 2020, 7:32:26 PM9/5/20
to Hermes-Lite
In radio settings, changing the calibration S meter correction from 1 to 1.8 doesn't change the noise floor. I agree it is difficult to see how to scale on "unknown" equipment without standards.
73 Brian.

Chris Gerber

unread,
Sep 6, 2020, 3:20:52 AM9/6/20
to herme...@googlegroups.com
Hi John

The value I have set to get a correct S9/50microvolt setting is -12dB that was
about the offet value I have seen on the Console  before correction
I am pleased with this, as the HL2 unit is Linear on all frequencies
Two units show the same.....

73 Chris HB9BDM

DL1YCF

unread,
Sep 6, 2020, 4:09:45 AM9/6/20
to vk4...@gmail.com, herme...@googlegroups.com
It is a misunderstanding that the noise floor (in dBm) is an absolute value. It depends on the
resolution (pixels per Hz) of the panadapter (or rather, the FFT width being used).

The only *real* (that is, physical) data is dBm / Hz,
(that is, the energy contained in a given frequency window),
therefore you get a different
S-meter reading (in dBm) using filters of different width. This is a better way to
determine the noise floor:

a) note the S-meter reading at 100, 200, 500, 1000, 2000 Hz filter width,
b) verify that the dBm reading for 200 Hz is 3 dB above that for 100 Hz, and
so forth (2000 Hz should be 13 dB above 100 Hz)
c) do a semi-log linear regression if needed

then you get a quite accurate value for the noise floor, in dBm / Hz. If this is too complicated,
note the S-meter reading at 1000 Hz filter width (in dBm) and subtract 30, then you get the
noise floor in dBm/Hz.

If I remember well, the physical limit at ambient temperature is about -174 dBm/Hz, and the difference
to this value is called the noise figure of the receiver (I may be mistaken here).

So the best thing an SDR program can do is to correctly calculate the noise floor and multiply
it with the „width“ of one pixel in Hz, and use this value in the panadapter.

Note finally that if the noise floor contains internal (ADC noise), its strength
depends on the sample rate, since the „energy“ contained in this noise will be spread
out onto the whole IQ spectrum.

Hope this helps.
> To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/928368b5-695a-4c56-b6ce-e512666db8f1n%40googlegroups.com.

James Ahlstrom

unread,
Sep 6, 2020, 8:41:00 AM9/6/20
to Hermes-Lite
Hello Group,

This excellent note by DL1YCF is quite correct. The noise power depends on the bandwidth. Different FFT bin widths result in different noise power. This is a normal phenomenon, and there is nothing to scale or adjust. I would just like to add a couple of points.

It is important that the SDR software on the PC measures the RMS power for noise calculations, not the voltage. Power depends on the square of the voltage.

And for calibrating 50 microvolts to S9, the assumption is that noise power is small and can be ignored. But the graph will show a peak lower than the true signal level. In an FFT, a pure sine wave is spread out over several FFT bins because the signal is presented in blocks. The RMS sum of the FFT bins adds up to the true power of the signal. So you need to use the S-meter to measure the level of a signal, not just look at the graph peak. Even for an "ideal" FFT, a signal is divided between two FFT bins if the frequency falls on the boundary between two bins. So you will be at least 3 dB off if you just look at the graph.

Jim
N2ADR

"Christoph v. Wüllen"

unread,
Sep 7, 2020, 3:52:47 AM9/7/20
to James Ahlstrom, herme...@googlegroups.com
With SDR software based on WDSP it is even more
complicated, since the „analyzers“ in WDSP partly
correct for this, and they have several options
(Peak, Rosenfell, etc.) some of which integrate
over a small window and thus behave like a spectrum
analyzer.

For example, if the display integrates the signal
from the nominal frequency minus 10 Hz to the
nominal frequency plus 10 Hz, then you will have
a „peak“ about 20 Hz wide and the height is indeed
the correct level of the single-tone signal. This is
what spectrum analyzers do.

Of course for the noise floor, the signal you
read then depends on the „bandwidth“ of the
analyzer.

We need not go into detail, I just wanted to point out
that different noise floor reading are completely normal
when using different software.

Yours, DL1YCF.
> --
> You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/0c012996-29e7-498f-adab-37f72d71da43n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages