logo
Welcome, Guest. Please Login or Register.
01. May 2024, 23:28:48


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: CW Keyclicks <- zurück vorwärts ->
Pages: [1] 2 Go Down Print
   Author  Topic: CW Keyclicks  (Read 2457 times)
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
CW Keyclicks
« on: 22. January 2017, 00:03:19 »

Hallo,
mir war bei Messungen aufgefallen, dass in CW das Spectrum des mcHF erheblich breiter war als technisch nötig, was im QRP  Bereich allerdings kaum problematisch ist.
Ein Blick in den Source Code offenbarte, dass die Signalflanken etwa einer einfachen Sinus Funktion folgten - was das breite Signal erklärt.
Eine Blackman-Harris Funktion für die Flanken sollte zu einem deutlich schmäleren Signal führen.
Das habe ich heute anhand der FW 1.1.4 ausprobiert (meine Entwicklungsumgebung ist nicht up-to-date).
Das Resultat ist vielversprechend, das CW Signal wird deutlich schmaler!

Die Spectrogramme zeigen auf der linken Seite CW Signale mit der aktuellen Impementation, auf der rechten Seite mit Blackman-Harris Hüllkurve.

Inspiration war der Artikel:
https://github.com/pavel-demin/red-pitaya-notes/files/403696/cw-shaping-in-dsp.pdf

Und hier noch die verwendeten Faktoren der Hüllkurve (n=1..31):
0.0002041014084882
0.0006772662374749
0.0016020078123390
0.0031820950003995
0.0057012766049161
0.0095202933203369
0.0150711734102181
0.0228477818309688
0.0333917234781510
0.0472729869370048
0.0650651361580022
0.0873153791371151
0.1145104179164330
0.1470395578623810
0.1851570679822080
0.2289461821458840
0.2782873653792760
0.3328335042985640
0.3919944969469290
0.4549333140803790
0.5205749999999990
0.5876293133963840
0.6546268301635610
0.7199674052319650
0.7819789901265240
0.8389839987699290
0.8893697722232830
0.9316592687273990
0.9645779378415140
0.9871128465160340
0.9985605090559210

vy 73, Yves
hb9ewy

P.S.: Die beiden unteren Spectren haben 10 kHz/Teilung, die oberen 1kHz/Teilung. Aufnahme mit dem internen Keyer bei 35Wpm mit "max hold".

Die beiden Anteile im Abstand von ca. +/- 3 kHz kann ich mir noch nicht erklären, sie treten auch bei der FW 1.5.6 testing auf.
 CW_SHAPING.jpg
« Last Edit: 22. January 2017, 10:08:17 by hb9ewy »
Logged

hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #1 on: 22. January 2017, 08:40:35 »

Hallo,
heute morgen habe ich nochmal mit der aktuellen 1.5.6 testing gemessen - die verhält sich gleich.
Dann habe ich noch bemerkt, dass Straight-Key Modus die Formung der Hüllkurve zur Keyclick Reduktion nicht greift, nur mit dem eingebauten Keyer.
Ich versuche jetzt einmal den Source Code zu verstehen, vieleicht lässt sich das einfach verbessern.

vy 73 de Yves
Logged
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:CW Keyclicks
« Reply #2 on: 22. January 2017, 10:39:49 »

Hallo,

1.5.6 ist NICHT aktuell.

Natürlich wirkt auch beim Straight Keyer die Hüllkurvenfunktion. In 1.5.6 allerdings beim Wechsel von RX auf TX nicht (genauer: man sieht es nicht, den das Signal ist zu diesem Zeitpunkt noch stummgeschaltet). Nimm den aktuellen Github-Stand. Wenn es da nicht kommt, ist es ein Fehler, denn ich habe beim Basteln am RX TX Switching genau diese Sache untersucht und es war am Ende in Ordnung. Allerdings kann immer mal was kaputtgemacht werden.

Übrigens, interessant was so eine Hüllkurvenänderung ausmacht.

73
Danilo
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:CW Keyclicks
« Reply #3 on: 22. January 2017, 10:44:14 »

Hallo Yves,

bei der Geschwindigkeit, mit der sich unsere Firmware weiterentwickelt, ist es "mandatory", mit dem neuesten Quellcode zu arbeiten.

"git" ist da eindeutig die einzige Lösung und "dein Freund". Herkömmliche "Lösungen" wie das Herunterladen des aktuellen Quellcodes als zip sind völlig unbrauchbar.

Ich finde die dokumentierten Unterschiede auch frappierend. Ich habe das nie untersucht - aber es sind eklatante Auswirkungen...

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! <<<<
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #4 on: 22. January 2017, 11:13:43 »

Hallo Danillo,
sorry, ich wollte die daily wg. dem hard PA limit auf 55 vermeiden.

Hier nun die Messungen mit der dayliy fom 21.01.2017 08:50, ich hoffe, das ist die richtige.
Es zeigt sich ein leicht anders Bild.
Die oberen Aufnahmen zeigen die Spannung der Hüllkurve in linearem MAssstab, 5ms/div.
Die unteren Aufnahmen die Spektren mit 1 kHz/div, dBm, mit "maxhold".
Links mit dem internen Keyer und rechts mit einem Bug getastet.
In den Flanken zeigen sich Unstetigkeiten beim applizieren der Hüllkurve - rot markiert.
Rot markiert in den Spectren die Anteile bei +/- 3kHz die ich mir nicht erklären kann, bei konstantem Signal zeigen sie sich nicht.


vy 73 de Yves
 CW_SHAPING_build_21012017.jpg
« Last Edit: 22. January 2017, 11:29:53 by hb9ewy »
Logged

DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:CW Keyclicks
« Reply #5 on: 22. January 2017, 11:19:17 »

Das Hard Limit ist eine Grundbedingung für ein sauberes Signal. Ohne dieses Limit überfährst Du den Audiozweig und alle Messungen (und Verbesserungsversuche) sind "für die Tonne". Du brauchst als Grundbedingung ein sauberes Ausgangssignal - und wenn es damit noch Klicks gibt, dann kann man versuchen die zu beseitigen. Dass es bei rechteckigem Audiosignal Klicks gibt erklärt sich von selbst und diese sind nun beseitigt.

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! <<<<
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #6 on: 22. January 2017, 11:25:32 »

Hallo Andreas,

wenn das Limit von 55 nötig ist um Übersteuerung der Audio-Kette und des Mixers zu vermeiden, ist dann vieleicht die TX Audio Verstärkung zu hoch?
Ich werde meinen mcHF jedenfalls an das neue Limit anpassen.

Die obigen Messungen wurden übrigens alle mit 2W gemacht. Audiokette und Mixer sind weit von der Übersteuerung entfernt (auch noch bei 10 Watt).

vy 73 de Yves
« Last Edit: 22. January 2017, 11:28:42 by hb9ewy » Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:CW Keyclicks
« Reply #7 on: 22. January 2017, 11:30:39 »

Das ist eine Frage des Betrachtungswinkels.

Fakt ist es dass es mit der schon seit Anbeginn vorhandenen Hardware möglich war, per Software das Audiosignal an den Poller zu fahren. Ich denke das hat einfach vorher niemand gemessen (oder darüber nicht berichtet). Bei meinen Messungen für die neue rf-Platine ist es mir eben aufgefallen und die Firmware ist jetzt so gestrickt, dass mit der alten Hardware (oder meiner Mod mit weggelassenen LM386) die Amplitude knapp unter dem Rail-to-Rail bleibt. Vorher konntest Du das locker überfahren.

Anpassen braucht man da nichts hardwareseitig. Wer die LMs weggelassen hat und die Widerstände nicht geändert hat - der muss in der Tat die Widerstände ändern. Sonst kommt er nicht mehr auf die gleiche Verstärkung wie vorher.

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! <<<<
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #8 on: 23. January 2017, 20:41:26 »

Hallo,
Beruflich diese Woche auf Reisen bleibt mit leider nur Source Code Studium um den Verbesserungsprozess zu unterstützen.

Der Code der Flanken-Formung sieht sehr zeitkritisch aus, ausserdem ist er vermutlich Ursache für die Nebenlinien bei +/- 3 KHz (1 Stützwert der Hüllkurve wird auf jeweils 16 Samples angewendet, 16*20.833 uS = 333us -> 3 kHz).

Idee:
@Danilo: es gibt ja bereits TX Filter, die sehr gut funktionieren.
Ist es evtl. möglich die CW Audiostreams durch ein geeignetes LP Filter zu schicken um die Tastclicks zu entfernen? Das knifflige Timing würde entfallen und auch die Nebenlinien im Spectrum.

vy 73 de Yves
Logged
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #9 on: 27. January 2017, 22:36:22 »

Hallo mitenand,

die Ursache für die bescheidene Wirkung der CW "smoothing" liegt im File cw_gen.c.
Die Dauer für das "smoothing" einer vollständige Flanke beträgt 16 sample * 32 = 512 Sample à 20.83us = 10.66ms. Im Programm wird das smoothing nur 12 * 0.6ms = 7.2ms lang aufgerufen.
Daher wurden die Flanken nicht vollständig ausgeformt (ausgenommen die Startflanke beim internen Keyer). Im Keyer-Modus also beim Auslaufen, mit Handtaste sogar bei Anfang und Ende.

Mit folgenden Änderungen habe ich eine meiner Meinung nach zufriedenstellende Tastung für Handtaste und internen Keyer erreicht:
- sm_table mit CW_SMOOTH_TBL_SIZE = 128 und Blackman-Harris Fenster.
- CW_SMOOTH_LEN = 3;
Das Spectrum ist jetzt deutlich schmaler und mit Handtaste ist der Sidetone nicht mehr so kratzig.
Es wird allerdings etwas mehr Speicher für die sm_table gebraucht. Ob das ein Problem ist, weiss ich nicht. Ich vermute 128 Flanken Stufen interpoliert aus einer sm_table mit 64 Stufen könnte auch funktionieren.

Durch die feinere Abstufung der Flankenschritte sind die Nebenlinien bei +/- 3 kHz verschwunden.

Ich habe auch CW_SMOOTH_LEN = 2 ausprobiert. Dann folgt nach jedem CW Element noch ein kurzer Impuls, vermutlich weil der softdds nicht schnell genug abschaltet - das habe ich nicht weiter untersucht.

Und hier noch die Diagramme:

vy 73 de Yves
 CW_SHAPING_fixed.jpg
« Last Edit: 27. January 2017, 22:43:55 by hb9ewy »
Logged

DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:CW Keyclicks
« Reply #10 on: 28. January 2017, 08:31:15 »

Hallo Yves,

das sieht sehr schön aus. Wesentlich besser als es jetzt ist. Speicher (RAM) ist allerdings sehr knapp. Ob das noch passen könnte müssen wir anhand des exakt benötigten RAM-Bedarfs feststellen.

Ich habe da einen ganz anderen Ansatz - bin mir aber nicht sicher ob das zum gleichen Ergebnis führt:

Wir haben ja schon einen TX-Audio-Filter. Was wäre, wenn wir für CW einfach ein eigenes Filter schaffen das scon bei 1.5 KHz (ist jetzt ein geschätzter Wert) "dichtmacht"? Die Klicks sind doch die steilflankigen Anteile - und die könnten damit herausgefiltert werden. Im Ergebnis sind die Flanken flacher und damit weicher. Mit dieser "Technik" bräuchten wir nur neue Filterkoeffizienten (Flash) und eine Umschaltung auf dieses Filter bei CW... Denkst Du das kann dasselbe bewirken?

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! <<<<
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #11 on: 28. January 2017, 09:05:12 »

Hallo Andreas,

ja, der Ansatz mit einem CW-TX Filter wird auch funktionieren, sogar besser und Ressourcen-schonender, siehe Vorschlag vom 23.1.

In der Literatur, "Experimental Methods in RF Design", Seite 11.25 ist ein FIR Filter mit ca. 200 taps, 500Hz Bandbreite erwähnt.

vy 73 de Yves
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:CW Keyclicks
« Reply #12 on: 28. January 2017, 09:53:30 »

Ich werde mal mit unserem "Filterspezialisten" reden (Frank, DD4WH). Wir sollten das Thema angehen.

vy 73 - danke für deine Forensik - sie hat uns definitiv weitergebracht!

Wir diskutieren hier weiter darüber.

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! <<<<
hb9ewy
schon länger dabei
**

Offline

Posts: 98



Ich liebe dieses Forum!

View Profile E-Mail
Re:CW Keyclicks
« Reply #13 on: 28. January 2017, 10:09:33 »

Hallo Andreas,

habe noch etwas getüftelt und auch das Problem mit dem CW Peak verstanden.
Die Einstellung des ps.key_timer muss an die Dauer der Ramp angepasst werden. Ausserdem habe ich die Funktion CwGen_RemoveClickOnFallingEdge so angepasst, dass am Ende der Ramp der letze Wert gehalten wird und die Funktion auch bei ps.sm_tpl_ptr == 0 aufgerufen wird.
Dann habe ich 2 Varianten ausprobiert:
- sm_table mit CW_SMOOTH_TBL_SIZE = 128 und Blackman-Harris Fenster.
a) CW_SMOOTH_LEN = 2; ps.key_timer 2x9 steps; 5.33ms Flanke
b) CW_SMOOTH_LEN = 3; ps.key_timer 2x13 steps; 8ms Flanke

Der Unterschied im Spektrum ist minimal. Persönlich ziehe ich vom Klang her die steilere Flanke vor.

Eine TX-Filter Lösung probiere/messe ich gerne aus!

P.S: ARRL Messungen zum Vergleich: http://audiosystemsgroup.com/TXNoise.pdf

vy 73 de Yves
 CW_SHAPING_fixed_compare.jpg
« Last Edit: 28. January 2017, 10:21:32 by hb9ewy »
Logged

DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:CW Keyclicks
« Reply #14 on: 28. January 2017, 10:15:47 »

Die Ursache ist 100%-ig erkannt. Die Spektren sehen beide gut aus. Frank wird sich wenn er zeit hat hier einklinken.

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! <<<<
Pages: [1] 2 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: CW Keyclicks <- 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!