logo
Welcome, Guest. Please Login or Register.
17. May 2024, 07:03:51


Home Help Search Login RegisterWIKIUHSDR Download

Amateurfunk Sulingen
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: neue AGC aus WDSP lib <- zurück vorwärts ->
Pages: 1 2 [3] 4 5 Go Down Print
   Author  Topic: neue AGC aus WDSP lib  (Read 8761 times)
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #30 on: 17. February 2017, 08:23:39 »

Hallo Yves,

die ZoomFFT, also die "Lupe" für das spectrum display macht Folgendes (für magnify 2x bis 32x):

lowpass-Filter --> Dezimierung --> 256-point-FFT --> Anzeige --> dBm-Berechnung aus den Werten der bins, die im Filterpassband liegen

siehe:
audio_driver.c Funktion AudioDriver_SpectrumZoomProcessSamples
ui_spectrum.c Funktion UiSpectrum_CalculateDBm

Das lowpass-Filter hat je nach Zoom-Stufe unterschiedliche Durchlasscharakteristik (IIR biquad mit 4 stages):

            // lowpass Filtering & decimation
            // Mag 2x - 12k lowpass --> 24k bandwidth & decimation-by-2
            // Mag 4x - 6k lowpass --> 12k bandwidth & decimation-by-4
            // Mag 8x - 3k lowpass --> 6k bandwidth & decimation-by-8
            // Mag 16x - 1k5 lowpass --> 3k bandwidth & decimation-by-16
            // Mag 32x - 750Hz lowpass --> 1k5 bandwidth & decimation-by-32

Dadurch haben wir mit einer relativ kleinen und recheneffizienten 256-point-FFT je nach Dezimierung eine immer bessere Auflösung, die wir sonst nur mit sehr rechenintensiven großen FFTs erreichen würden.

Auflösung bei Zoom 1x = 48000sps/256 = 187.5Hz pro bin
Auflösung bei Zoom 32x = 48000sps/256/32 = 5.9Hz pro bin

Ich würde nun Folgendes erwarten im Hinblick auf die Pegel pro bin:
(Vielleicht habe ich da auch noch einen Knoten im Kopf . . .)

Gehen wir mal von white noise aus, alle bins haben gleichen Pegel. Wenn bei Zoom 1x dann 10 bins im Filterpassband sind, summiert der dBm-Algorithmus die Pegel der 10 bins auf und gibt das ganze logarithmisiert aus. Wenn ich auf Zoom 2x stelle, dann habe ich 20 bins im passband, summiere das Ganze auf und logarithmiere. Dann müsste das 3dB höher sein, weil ja doppelt so viele bins im passband sind, die aber jeweils den gleichen Pegel haben. Also muss ich -3dB korrigieren.

Entsprechend sieht das auch beim Ausprobieren (mit Rauschen) aus, das hast Du ja gestern abend auch beobachtet. Nun ist die neueste daily von heute morgen OHNE diese Korrektur.

Bei Sinus- Signalen (also nur ein bzw. wenige bins breit) sieht das anders aus. Je nachdem, wie die bins gerade getroffen werden und welche window-Funktion ich einstelle, sollte der dBm-Algorithmus dann andere Ergebnisse liefern. Wenn das Signal sehr schmal ist, und bei Zoom 1x nur in einem bin ist, dann ist es vielleicht bei Zoom 2x, 4x etc. auch nur in einem bin. Also ist die Summe der Pegel aller bins immer gleich. Dann sollte ich hier keine Korrektur vornehmen ;-). Und das ist -wenn man Deine Messreihe von gestern mit dem Sinus-Signal betrachtet- offensichtlich auch zu beobachten und in diesem Fall die Korrektur von -3dBm nicht erforderlich.

Also haben wir hier aus meiner Sicht noch folgende Dinge zu berücksichtigen: window-Funktion der FFT (je nach leakage streut ein Signal über mehrere bins) und vielleicht sollten wir für den Pegel auch nicht die Summe der bins bilden, sondern einen Mittelwert? Bei Rauschen ergäbe das dann eine ähnliche Charakteristik. Wenn ich aber ein schmalbandiges Signal (z.B. Sinus-Träger) betrachte, wird der Signal-Level sehr schnell völlig unterschiedlich, je nach dem wie ich die Breite meines passbandes gestalte. Auf der anderen Seite ist doch die Signalstärke eines Signals definiert als Leistung in einem bestimmten passband, das wäre dann die Summe. Ich werde das nochmal durchdenken.
EDIT: Übrigens habe ich vom Hersteller des Reuter Pocket (bei dem die Pegelmessung offensichtlich ähnlich abläuft wie beim mcHF) etwas Ähnliches gelesen: ". . . in den SBSP-Betriebsarten eine sehr schmalbandige Messung erfolgt, in den zeitbasierten Betriebsarten eine breitbandige. Das hat Einfluss auf die Anzeige bei Messung nicht-sinusförmiger Signale (besonders bei Rauschen)."
http://www.reuter-elektronik.de/RDR51_BA_V204.pdf    Seite 24
--> Vielleicht ist das hier beobachtete Phänomen auch ein fundamentales nicht zu lösendes Problem bei der Pegelmessung? Also sozusagen die Realbeobachtung der Gültigkeit des "Wer viel misst, misst Mist."

73 de Frank

P.S.: Danke, Yves, für den preamp-Tipp, das werde ich als Erstes ausprobieren und dann evtl. noch die mods aus Deinem Post davor.
« Last Edit: 17. February 2017, 09:30:05 by DD4WH » Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
DL4HUF
noch länger dabei
***

Offline

Posts: 197



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #31 on: 17. February 2017, 11:25:01 »

Hallo Fank

Beim Lesen Deiner Erklärung ist mir folgende Frage aufgekommen.
Dazu muss ich sagen das ich keine Ahnung von digitaler Signalverarbeitung habe, soll nur dem Verstehen dienen.

Quote:
Gehen wir mal von white noise aus, alle bins haben gleichen Pegel. Wenn bei Zoom 1x dann 10 bins im Filterpassband sind, summiert der dBm-Algorithmus die Pegel der 10 bins auf und gibt das ganze logarithmisiert aus. Wenn ich auf Zoom 2x stelle, dann habe ich 20 bins im passband, summiere das Ganze auf und logarithmiere. Dann müsste das 3dB höher sein, weil ja doppelt so viele bins im passband sind, die aber jeweils den gleichen Pegel haben. Also muss ich -3dB korrigieren.

Wieso verdoppelt sich die Anzahl der "bins" wenn man die Zoomstufe erhöht ?
Oder warum halbiert sich dann nicht der Wert je bin ? Denn dort steckt doch die "Eingangsleitstung" drin, oder ?
Sonst kann ich die Inhalte der bins ja nicht später addieren.

Das müsste dann unabhängig von der Bandbreite des einzelnen Signals gelten.

Wobei man sicher noch bedenken muss, dass das Rauschen ja eine Rauschleistung an den Antenne liefert, von dem ein Ausschnitt
gemessen wird, der als Summe angezeigt wird.
Wenn man die Zoomstufe erhöht wird der Ausschnitt kleiner, damit auch die Summe der Rauschleistung.
Oder sehe ich das falsch ?

73 de Ronald
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:neue AGC aus WDSP lib
« Reply #32 on: 17. February 2017, 11:45:19 »

Es wir ja nur das Signal innerhalb des eingestellten Filters berücksichtigt - nicht das für die gesamte Anzeige. Und wenn die Anzeige genauso "breit" ist wie vorher (sagen wir in cm...) aber jetzt nur noch die halbe spektrale Darstellung hat (Magnify x 2), sind es doppelt so viele Punkte...

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
DL4HUF
noch länger dabei
***

Offline

Posts: 197



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #33 on: 17. February 2017, 12:09:22 »

Ok, die Anzahl der bins ist auf das Filter bezogen.
Aber ist es richtig das je bin die Summe der Signalleistung (wir reden ja über dbm) gemessen wird.
Die Summe aller bins ist die gesamte Leistung im Filter.
Wenn man nun die Anzahl der Punkte/bins verdoppelt muss sich doch die Leistung je Punkt/bin halbieren,
denn die gesamte Leistung im Filter ändert sich ja nicht.

Richtig ?

73 de Ronald
Logged
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #34 on: 17. February 2017, 12:13:01 »

der mcHF sampelt die Eingangsspannung, nicht die Leistung.

Daher gibt auch die FFT die Spannung in den jeweiligen bins wieder. Wenn jetzt die Auflösung doppelt so hoch ist, ist die "Spannung" in den einzelnen bins trotzdem noch (ca.) genau so hoch. Daher ist auch die Summe dieser (dann doppelt so vielen bins =) Spannungswerte dann doppelt so hoch.

73 de Frank
Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #35 on: 23. February 2017, 07:29:37 »

Die neue AGC ist nun viel einfacher zu bedienen:

1. im Menü WDSP AGC einschalten
2. freie Frequenz suchen --> Bandrauschen
3. mit encoder 2 den AGC threshold so einstellen, dass die AGC gerade eben nicht anspricht: Schriftzug "AGC" in der blauen box ist bei Rauschen gerade eben nicht zu sehen
4. Mit Button M2 den Fokus für encoder 2 eins weiter schalten
5. AGC mode umschalten je nach Geschmack und Demodulations-mode:
  OFF = AGC aus
  FAS = fast
  MED = medium
  SLO = slow
  LON = long
  vLO = very long
die Ziffer unter diesen Bezeichnungen gibt die Zeitkonstante für die AGC = AGC WDSP DECAY an (in ms*10, so lange benötigt die AGC, um wieder bis zur höchsten Empfindlichkeit hochzuregeln: 100 bedeutet also 1 sec). Dies ist für die o.g. AGC modes jeweils voreingestellt, kann aber auch im Menü noch unter AGC WDSP DECAY fein geregelt werden.

Und schon hat man -ohne ins Menü gehen zu müssen- eine im Wesentlichen gut eingestellte AGC. Und für alle weiteren Feinheiten (Hang-Funktion & slope) geht man dann ins Menü und stellt das alles ein wie man möchte.

Würde mich über Kommentare und Verbesserungsvorschläge freuen! Mittelfristig überlegen wir auch, die Standard-AGC abzuschalten und nur noch die wdsp-AGC zu belassen.

Viel Spaß mit der wdsp-AGC!

73 de Frank

P.S.: Wenn man auf die wdsp-AGC umschaltet, wird automatisch das S-Meter auf dBm-Grundlage eingestellt, da das oldschool-S-Meter bei wdsp-AGC nicht arbeiten kann.
« Last Edit: 23. February 2017, 07:45:05 by DD4WH » Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
peter_77
Urgestein
*****

Offline

Posts: 735



THE mcHF and UHSDR forum !

View Profile
Re:neue AGC aus WDSP lib
« Reply #36 on: 23. February 2017, 15:00:06 »

Da muss man sich aber erstmal an den gehörig niedrigeren Grundrauschpegel gewöhnen.
Das ist ja fast schon wie ein Squelch bei FM 
Ansonsten funktioniert das fehlerlos...

« Last Edit: 23. February 2017, 15:00:51 by peter_77 » Logged
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #37 on: 23. February 2017, 16:46:27 »

Hallo Peter,

schön, dass das eine Verbesserung bringt!

Warren Pratt, der den AGC-code für die wdsp-library geschrieben hat, hat das sehr elegant gelöst, dass man die AGC genau so einstellen kann, dass sie nicht schon das Bandrauschen verstärkt zu Gehör bringt, sondern erst auf Signale anspricht, die deutlich über dem Bandrauschen liegen.

Dazu muss man sich die Arbeit machen, bei Band-Wechsel/Antennen-Wechsel den AGC threshold mit dem encoder 2 jedesmal neu zu justieren. Ist ja aber nicht wirklich ein großer Aufwand, schont aber die Ohren.

73 de Frank
Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:neue AGC aus WDSP lib
« Reply #38 on: 23. February 2017, 16:55:16 »

Ist wirklich genial. Mehr kann ich dazu nicht sagen. Und durch die blaue AGC-Box kann man auch nicht vergessen, dass der Threshold Regler evtl. noch falsch steht - also braucht man auch keine "Erinnerungsfunktion" durch das old-school-S-Meter.

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:neue AGC aus WDSP lib
« Reply #39 on: 23. February 2017, 21:34:33 »

Hallo Frank und andere WDSP AGC Tester,

Quote from: DD4WH on 23. February 2017, 16:46:27
Dazu muss man sich die Arbeit machen, bei Band-Wechsel/Antennen-Wechsel den AGC threshold mit dem encoder 2 jedesmal neu zu justieren. Ist ja aber nicht wirklich ein großer Aufwand, schont aber die Ohren.

Wäre es sinnvoll/hilfreich, die/den relevanten AGC Parameter pro Band zu verwalten, damit man nicht neu einstellen muss beim Bandwechsel?

73
Danilo
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:neue AGC aus WDSP lib
« Reply #40 on: 24. February 2017, 07:56:36 »

Wäre es - in der Tat.

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #41 on: 24. February 2017, 08:27:54 »


Sigi hatte die gleiche Idee, und zusätzlich auch die Idee, die relevanten Parameter für die jeweilige Demod_mode zu speichern, denn die Unterschiede in der AGC-Einstellung zwischen SAM vs SSB vs CW sind vermutlich noch größer als die Unterschiede zwischen den einzelnen Bändern.

Oder noch komplexer (auch von Sigi ;-)): ähnlich den Schnellwahl-Filtern einzelne Profile, die man sich selbst zusammen stellen kann für verschiedene Situationen:

CW-DX
CW-Lokal
SSB-10m-Band
oder so ähnlich.

Oder Profile, in denen man noch viel mehr als nur die AGC-Parameter speichern kann (Einstellungen für die noise reduction etc.)

Vielleicht auch die Möglichkeit, diese Profile am PC zusammen zu stellen und dann per USB in den mcHF einzuspeisen, denn irgendwann bricht unser Menü bei solchen Profilwünschen dann auch zusammen.

Ist vielleicht auch overkill, nur so mal als Ideen-Sammlung ((c)Sigi).

73 de Frank
Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:neue AGC aus WDSP lib
« Reply #42 on: 24. February 2017, 08:49:18 »

Quote from: DD4WH on 24. February 2017, 08:27:54
Sigi hatte die gleiche Idee, und zusätzlich auch die Idee, die relevanten Parameter für die jeweilige Demod_mode zu speichern, denn die Unterschiede in der AGC-Einstellung zwischen SAM vs SSB vs CW sind vermutlich noch größer als die Unterschiede zwischen den einzelnen Bändern.

Aber vermutlich doch nicht hardwareabhängig und daher per Formel kalkulierbar?

Quote from: DD4WH on 24. February 2017, 08:27:54
Oder noch komplexer (auch von Sigi ;-)): ähnlich den Schnellwahl-Filtern einzelne Profile, die man sich selbst zusammen stellen kann für verschiedene Situationen:

CW-DX
CW-Lokal
SSB-10m-Band
oder so ähnlich.

Oder Profile, in denen man noch viel mehr als nur die AGC-Parameter speichern kann (Einstellungen für die noise reduction etc.)

Vielleicht auch die Möglichkeit, diese Profile am PC zusammen zu stellen und dann per USB in den mcHF einzuspeisen, denn irgendwann bricht unser Menü bei solchen Profilwünschen dann auch zusammen.

Ist vielleicht auch overkill, nur so mal als Ideen-Sammlung ((c)Sigi).

Möchte ich zur Zeit als Overkill bezeichnen...

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
dg9bfc_sigi
I40-Mitglied
noch länger dabei
***

Offline

Posts: 160



DG9BFC

View Profile WWW E-Mail
Re:neue AGC aus WDSP lib
« Reply #43 on: 25. February 2017, 08:50:25 »

sicher sind komplette profile overkill
aber in bestimmten modes wird man immer auch bestimmte agc einstellungen nutzen (wollen)
schnelle agc bei cw
mittlere geschwindigkeit bei ssb und stärker wechselnden signalpegeln (damit sich bei schwachen signalen die agc wieder erholen kann ... ssb contest)
langsame oder extrem langsame agc ... bei starken signalen wo es weniger schwankungen gibt (80m klönschnackrunde oder am radio)
...
entsprechendes bei am (localradio oder dx)
ich hatte das folgendermassen gedacht ... man stellt seine vorlieben im menue ein (slow med fast etc.) und wählt diese dann an der front aus
also wenn man dann von slow auf fast schaltet werden nicht die für fast vorgesehenen ... sonder die vom user eingestellten werte genommen ...
bedeutet man hat diese besagten 5 user agc einstellungen
.... damit müsste man eigentlich auskommen
und wenn man bei fast auf lange zeiten stellt (wie bei slow) hat man halt 5 langsame agc einstellungen (wenn denn ein user gar kein cw macht aber 5 verschiedene langsame regelungen wünscht)
denke damit hat man alles erschlagen
kann schnell auf diese 5 einstellungen wechseln (nun ja von der front aus möglich!)
und trotzdem kann man diese werte ja jederzeit zusätzlich verändern an der front
also .... einstellen der gewünschten werte als user agc (5 speicherplätze von fast bis extra slow) im menue ...
eingestellte werte von der front wählbar und veränderbar
wenn wert an der front verändert wird er später verworfen
wenn wert im menue verändert wird er abgespeichert beim abschalten (oder langen druck auf menue ... naja wie gehabt)
weitere zusätzlich gewählte "sonderfunktionen" wie noise reduction etc ... sollten NICHT mit in die agc sondern weiterhin so wählbar sein wie bisher
in der fw sind ja für diese 5 einstellungen schon default werte vorgegeben (die eigentlich schon passen) ... fehlt nur dass wenn ein user die im menue verändert ... diese dann gespeichert werden während wenn man sie an der front verändert der geänderte wert verworfen wird
denke so müsste das funzen, logisch sein, und die meisten user zufriedenstellen
jeder user kann dann seine meist verwendeten einstellungen im menue vornehmen (wenn denn abweichend von default)
diese 5 agc auswählen an der front
an der front während des betriebes beeinflussen
und wenn man feststellt dass man immer einen bestimmten wert während des betriebs nach oben oder unter verändert ... mach man das eben einmal im menue anstatt an der front und hat das dann als neue user einstellung abgelegt
.... vielleicht bin ich auch missverstanden worden bzgl user profile ... ich meinte agc profile vom user einstellbar ... wenn ich user profile wünschen würde (mit ALLEN einstellungen je profil) na dann würden 5 sicher nicht ausreichen 

im augenblick ist es ja so dass wenn ich im menue bei einstellung slow das decay von 500ms auf 1000 ms verstelle ... und abspeichere
geht dieser wert trotzdem verloren wenn ich an der front von slow einmal wechsele auf nen anderen agc mode ... heisst es kommt dann immer wieder der default wert von 500ms
ich wünsche mir nur dass dieser (neue) wert erhalten bleibt (denn den hatte ich ja gespeichert im menue) ...
« Last Edit: 25. February 2017, 09:09:25 by dg9bfc_sigi » Logged
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:neue AGC aus WDSP lib
« Reply #44 on: 25. February 2017, 13:41:34 »

Hallo Sigi,

ist beim nächsten daily implementiert. Bitte testen!

73 de Frank
Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
Pages: 1 2 [3] 4 5 Go Up Print 
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: neue AGC aus WDSP lib <- zurück vorwärts ->
Jump to: 


Login with username, password and session length

 Es wird die Verwendung von Browsern die auf der "Blink"-Engine basieren und mindestens
1024x768 Pixel Bildschirmauflösung für die beste Darstellung empfohlen
 
Amateurfunk Die Beiträge sind, sofern nicht anders vermerkt, unter der folgenden Lizenz veröffentlicht:
GNU Free Documentation License 1.3 GNU Free Documentation License 1.3
verbindet!
Powered by MySQL Powered by PHP Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Impressum & Disclaimer
Valid XHTML 1.0! Valid CSS!