Pages: [1] 2
|
|
|
|
Author
|
Topic: CW Keyclicks (Read 2829 times)
|
|
hb9ewy
schon länger dabei
Offline
Posts: 98
Ich liebe dieses Forum!
|
|
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!
|
|
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
|
|
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
|
|
|
|
|
hb9ewy
schon länger dabei
Offline
Posts: 98
Ich liebe dieses Forum!
|
|
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
|
|
|
|
|
hb9ewy
schon länger dabei
Offline
Posts: 98
Ich liebe dieses Forum!
|
|
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
|
|
|
|
|
hb9ewy
schon länger dabei
Offline
Posts: 98
Ich liebe dieses Forum!
|
|
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!
|
|
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
|
|
|
|
|
hb9ewy
schon länger dabei
Offline
Posts: 98
Ich liebe dieses Forum!
|
|
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
|
|
|
|
|
hb9ewy
schon länger dabei
Offline
Posts: 98
Ich liebe dieses Forum!
|
|
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
|
|
|
|
|
Pages: [1] 2
|
|
|
|
|
|
|