logo
Welcome, Guest. Please Login or Register.
28. December 2024, 22:54:39


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: Firmware-Modifikation Audio-Filter <- zurück vorwärts ->
Pages: [1] 2 3 4 Go Down Print
   Author  Topic: Firmware-Modifikation Audio-Filter  (Read 6687 times)
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Firmware-Modifikation Audio-Filter
« on: 03. February 2016, 19:16:35 »

Im Anhang ein von mir zusammen gestellter detaillierter Überblick über
die im Augenblick im mcHF implementierten Audio-Filter mit ihren
Optionen. Im Moment sind in der Tabelle lediglich die Bandbreiten ab 1k8
eingepflegt.

Ich möchte nun einige Erweiterungen in die Audiofilter einbauen und
möchte aber vorher hier im Forum die geplanten Änderungen kurz zur Diskussion
stellen. In der Tabelle ist das konkretisiert.

Folgende Dinge habe ich vor:

1.) Basswiedergabe verbessern für die Filter 1k8, 2k3, 3k6: eine Option
mehr anzuwählen im Menu --> low pass filter anstelle der bandpass filter

2.) das interpolate filter ist für alle WIDE filters dasselbe (low pass
10k), das ergibt keinen Sinn, zumal für 3k6 das interpolation filter ein
5k lowpass ist, für das 5k Filter aber ein 10k lowpass --> daher der Plan, individuelle interpolation filter für die jeweiligen Bandbreiten implementieren (auch
für die kleinen Bandbreiten)

3.) eine weitere Rx bandwidth einbauen: 4k4: ist das Beste für SWL, da
gute Soundqualität, aber weit genug weg von 5k und den daraus
resultierenden Heterodynen durch den 5kHz Kanalabstand

4.) Ich meine einen deutlich störenden rauschig-knisternden
(Alias)-Artefakt wahrzunehmen bei den WIDE FILTERS 5kHz, 6kHz, 7.5kHz:
die WIDE Filter haben alle KEIN postdetection IIR Filter (übrigens
werden im code die postdetection filter PREFILTER genannt . . .). In
audio_driver.c wird zwar ein 10k lowpass IIR initialisiert (line 450),
dann aber in line 1487 bei WIDE Filter nicht angewandt. Vielleicht kann
man durch die passenden Interpolationsfilter (siehe Punkt 2) hier etwas
tun, denn im Moment sind für 5k, 6k, 7.5k und 10k nur ein 10k lowpass
interpolation filter implementiert. Auch könnte man ausprobieren, ob man
auch in den WIDE modes ein passendes IIR postdetection filter
implementiert (ob die Processor power ausreicht? Schließlich ist der
decimation factor für WIDE filter nur 2 statt 4). Ganz einfach wäre natürlich ein weiteres moderates IIR filter NACH der interpolation (allerdings dann in 48ksps, was rechenintensiver ist).

5.) Das notch filter hört sich grauenvoll verzerrt an bei WIDE modes,
hier ist irgendetwas faul . . . Keine Idee, was das sein könnte.

Würde mich sehr über Ergänzungen und Kommentare freuen.

Mein weiteres Vorgehen wäre (in den nächsten Wochen, bin
Teilzeit-mcHFler ;-)):
- Lernen, wie man github benutzt
- Filter berechnen (habe schon das erste MATLAB IIR -Filter berechnet
und auf dem mcHF getestet, das funktioniert sehr gut: ein brick wall
3k6-lowpass-Filter mit satter Bass-Wiedergabe)
- Menu ändern, um die o.g. Änderungen einzubauen
- das Ganze in einen pull request packen

73 de Frank
 mcHF_Filter_overview_DD4WH.ods
Logged

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

Offline

Posts: 52



Ich liebe dieses Forum!

View Profile E-Mail
Re:Firmware-Modifikation Audio-Filter
« Reply #1 on: 04. February 2016, 07:49:52 »

Hallo Frank,
die Tabellenform ist recht detailliert. Für den groben Überblick ist sie aber nicht so gut.
Weis du ob das Diagramm in der Form noch aktuell ist (Attachement) ich bin noch dabei mir ein Überblick zu schaffen?



daba[img][/img]
« Last Edit: 04. February 2016, 12:33:31 by daba » Logged
DF8OE
Administrator
*****

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Modifikation Audio-Filter
« Reply #2 on: 04. February 2016, 08:07:22 »

Hallo Frank,

ich würde mich über Verstärkung im Team sehr freuen!

Betreffs GitHub:
Das ist eine Bedingung, wenn man in einer Community programmiert Schreib mir bitte, mit welchem Betriebssystem Du arbeitest. Für Linux kann ich Dir einen Crashkurs in einer halben Stunde geben. Mit Windows arbeite ich seit 16 Jahren nicht mehr - ich denke aber, dass die CLI (und nur die ist sinnvoll einsetzbar) genauso funktionieren sollte. Problematisch ist nur, dass Windowsianer für gewöhnlich durch das Mausschieben völlig von Kommandozeilenprogrammen entwöhnt sind und sich im Innern vieler etwas gegen deren Benutzung sträubt  Aber ohne geht es nicht...

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:Firmware-Modifikation Audio-Filter
« Reply #3 on: 04. February 2016, 08:41:18 »

@daba: das attachment war nicht dran an Deiner Nachricht!? Clint hat in der Yahoo group mal einen Überblick gepostet, das finde ich jetzt aber so schnell nicht mehr. Meine Tabelle ist aber auch mehr eine Arbeitsgrundlage für die Filter-Modifikation und nicht als übersichtlicher Überblick gedacht.

Im Prinzip sieht der generelle Audio-Path so aus (AGC, I&Q-Korrektur, LMS NR, LMS notch filter, gain scaling etc. zur Vereinfachung alles weggelassen):

SSB:

I -- Hilbert 0 Grad----
                              | +/- (USB/LSB) -- FIR Decimate 4 taps -- IIR filter -->
Q-- Hilbert 90 Grad --

--> FIR interpolation 16 taps

AM:

I -- FIR filter 89 taps----
                                  | -- sqrt(I*I+Q*Q) (AM envelope detector) -->
Q-- FIR filter 89 taps----

--> FIR Decimate 4 taps -- IIR filter --> FIR interpolation 16 taps

Die sample rate ist bei schmalen Filtern (< 5kHz) 12ksps (decimation by 4), bei WIDE 24ksps (decimation by 2).

Bei WIDE filter fällt zur Zeit im aktuellen Code das IIR-Filter ganz weg! Siehe die damit potenziell verbundenen Probleme in meiner letzten mail.

@Andreas: ich benutze Windows 8.1, Eclipse Mars und github. Habe mit Commandozeilen eigentlich keine Probleme, bin skriptbasierte Statistik-Programme (R) gewöhnt. Mein größtes Verständnisproblem im Moment ist, wie ich die Programme github und Eclipse koppele, so dass alles was ich in Eclipse tue, auch in der Versionsverwaltung protokolliert wird . . . Aber ich stehe bei github auch erst ganz am Anfang.

73 de Frank
Logged

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

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Modifikation Audio-Filter
« Reply #4 on: 04. February 2016, 09:55:56 »

Nutze nicht die in Eclipse "integrierte" Githubunterstützung. Es gibt keine einzige Integration oder grafische Oberfläche, die so perfekt funktioniert wie das Kommandozeilentool. Wichtig ist auch, dass Du Dir einen GitHub-Account zulegst (sofern nicht schon geschehen) und einen Fork vom mcHF-Github machst. Das ist dann dein Arbeitsfeld.
Mit git pull holst Du Dir alles aus dem GitHub auf deine lokale Festplatte. Mit einem git checkout xxxx (wobei xxxx der Branch ist, in den Du wechselbn möchtest) wechselst Du die Branches. Und richtig: Der lokale Ordner, in dem Du arbeitest, ändert seinen Inhalt mit den "Checkouts"!!!! Es ist stets das dort drin, was in dem Branch ist, den Du bearbeiten möchtest. Bearbeiten kannst Du die Quellen wie Du willst. Wenn Du "fertig" bist, führst Du zunächst ein git add durch. Damit fügst Du die Dateien dem Projekt hinzu (denn einige haben sich ja geändert). Mit einem commit -m "dies ist ein Kommentar" werden sie in dein lokales git integriert. Und zu Guter Letzt mit einem git oush origin xxxxx (wobei das xxxx der Name des entferntenBranches ist) werden sie auf dein GitHub hochgeladen. Dann musst Du nur noch einen Pullrequest stellen, und ich bekomme das dann zum Querlesen und einfügen.

Klar - da gibt es noch viel mehr zu beachten und tun. So ist die Authentifizierung bei GitHub mit einem auf deiner Festplatte liegenden Key gelöst. Das sind alles Dinge, die für einen Linuxianer, der auf der Konsole arbeitet, ganz normale Dinge die er nicht mal erwähnenswert findet und von denen ich hier sicher ein paar vergessen habe. Es gibt aber sehr gute deutsche Erläuterungen zu Github - wenn auch nicht auf einer Seite zusammengefasst. Das Gute wenn Du mit dem CLI arbeitest ist, dass Du die ganzen Linux-HowTos alle mit verwenden kannst 

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:Firmware-Modifikation Audio-Filter
« Reply #5 on: 04. February 2016, 10:08:18 »

Danke für die Anleitung!  Ich benutze das command line tool.

Habe nun Folgendes gemacht:

- mcHF devel geclont --> ist lokal auf meiner Platte
- Syncing eingestellt mit: git fetch uspstream, git checkout master, git merge upstream/master
- jetzt erscheint aber auf der lokalen Platte nur die master Version?? Muss ich das anders machen mit: git fetch upstream, git checkout devel-DF8OE ?
- dann habe ich Probleme, dieses lokale repository in mein repository online zu bekommen, wie geht das? Mit git push origin master habe ich es versehentlich versucht zu Dir zu schieben, was natürlich nicht ging ;-)
Aber zu mir bekomme ich es auch nicht mit: git push https://github.com/DD4WH/mcHF_Test.git master

Für Hinweise wäre ich dankbar ;-)

[edit]
Habe jetzt einen 2. Versuch gemacht mit:
git pull https://github.com/df8oe/mchf-github.git
git checkout master funktioniert, aber
git checkout devel-DF8OE kennt er nicht . . . ??

stecke jetzt massiv fest . . .

73 de Frank DD4WH
« Last Edit: 04. February 2016, 10:27:55 by DD4WH » Logged

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

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Modifikation Audio-Filter
« Reply #6 on: 04. February 2016, 10:34:37 »

Das mit dem lokalen clonen war schon der erste falsche Schritt. Du kannst mein mcHF GitHub mit dem Webinterface via Browser klonen.


Git Repository forken

Hier eine Anleitung für Git

Suche zuerst mal etwas mit google - Du wirst bestimmt fündig!

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:Firmware-Modifikation Audio-Filter
« Reply #7 on: 04. February 2016, 12:35:26 »

Hallo Andreas,

ich kann Clint nun sehr gut verstehen 

Es funktioniert hinten und vorne nicht. Habe gerade github das zweite Mal neu installiert (funktioniert aber immer noch nicht ohne Administratorrechte).

Ich habe nun nach 3h auch verstanden, was forken heißt: im Browser einmal klicken. OK.

git-Account ist da. Eingeloggt. Geforkt. Deine Dateien liegen nun unter DD4WH bei github.
dann funktioniert aber dieser einfache Befehl nicht:

git pull https://github.com/DD4WH/mchf-github.git

fatal: Not a git respository (or any of the parent directories): .git

Könntest Du mir da bitte nochmal weiterhelfen?

73 de Frank

Logged

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

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Modifikation Audio-Filter
« Reply #8 on: 04. February 2016, 12:50:40 »

Ich bin Linux-User - und ich weiss schon, warum...

Gibt es hier jemanden, der mit Windows arbeitet und sich dort mit git auskennt?

Bei Linux läuft das alles out-of-the-box.

Auf jeden Fall ist der erste Schritt goldrichtig und gelungen.

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:Firmware-Modifikation Audio-Filter
« Reply #9 on: 04. February 2016, 12:58:27 »

naja, die Erklärung des forkens hat mit Linux nichts zu tun ;-)

Ich bin jetzt schon ein bis zwei Schritte weiter! Für andere OMs versuche ich das mal zu dokumentieren:
Starten mit GitHub für den mcHF

1.)   GitHub-Account einrichten
2.)   Im GitHub-Progrmm einloggen
3.)   Repository machen mit +
4.)   Im Webaccount einloggen
5.)   Fork von df8oe machen
6.)   Nun in die Command shell wechseln
7.)   mkdir Mein_Verzeichnis
8.)   cd Mein_Verzeichnis
9.)   git init
10.)   git pull https:/github.com/DD4WH/mchf_github.git [die ist das von DF8OE geforkte repository]
11.)   git checkout master [wechselt zum master]

Das läuft bis hierhin: Lokal habe ich jetzt die neuesten Dateien des masters, aber dann funktioniert der von Dir angegebene Wechsel des branches nicht:

12.) git checkout devel-DF8OE
error: pathspec 'devel-DF8OE' did not match any file known to git

Hättest Du da nochmal einen Tipp?

73 de Frank
Logged

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

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Modifikation Audio-Filter
« Reply #10 on: 04. February 2016, 13:07:51 »

prüfe mal mit

git branch

welche Branches Du geforkt hast. Nur den Master? Oder alle?

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:Firmware-Modifikation Audio-Filter
« Reply #11 on: 04. February 2016, 13:14:29 »

Danke!

bei git branch erscheint nur
* master

In meinem github sind aber alle zu sehen !?

Wie forke ich denn die anderen branches noch dazu?

73 de Frank

und vielen Dank für Deine Geduld!
Logged

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

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Modifikation Audio-Filter
« Reply #12 on: 04. February 2016, 13:48:13 »

Geforkt sind sie schon - ich habe nachgesehen. Du musst sie vom entfernten in dein lokales repository übertragen. Standardmäßig ist nur der master übertragen. Du brauchst noch den devel-DF8OE.

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:Firmware-Modifikation Audio-Filter
« Reply #13 on: 04. February 2016, 15:10:44 »

Hallo,

ich werde in Kürze mal meinen üblichen Github-Workflow mit Windows beschreiben. Das sollte helfen, hier mitarbeiten zu können, ohne allzusehr zu verzweifeln.

73
Danilo DB4PLE
Logged
DD4WH
positron
alter Hase
****

Offline

Posts: 462



Ich liebe dieses Forum!

View Profile
Re:Firmware-Modifikation Audio-Filter
« Reply #14 on: 04. February 2016, 15:38:46 »

Hallo Danilo,

das wäre super!

Bin jetzt auch schon gefühlt etwas weiter und habe meinen ersten pull request verschickt. Ob ich das reproduzieren kann, werde ich in den nächsten Wochen sehen . . .

Hier meine Vorgehensweise. Kannst Du gerne kommentieren/ändern/optimieren, wie gesagt, ich bin ein blutiger github-Anfänger.

Starten mit GitHub für den mcHF
(zusammengestellt von DD4WH, keine Gewähr fürs Funktionieren ;-))

1.)   GitHub-Account einrichten
2.)   Im GitHub-Progrmm einloggen
3.)   Repository machen mit +
4.)   Im Webaccount einloggen
5.)   Fork von df8oe machen
6.)   Nun in die Command shell wechseln
7.)   mkdir Mein_Verzeichnis
8.)   cd Mein_Verzeichnis
9.)   git init
10.)   git remote add upstream https:/github.com/DD4WH/mchf_github.git [dies ist das von DF8OE geforkte repository]
11.)   git fetch --all
12.)   git checkout master [wechselt zum master]
13.)   git checkout devel-DF8OE [wechselt zur devel]
14.)   in der devel mit Eclipse programmieren/ändern oder was auch immer
15.)   git add .
16.)   commit –m „hier Kommentar zu den gemachten Änderungen einfügen“
17.)   git push https:/github.com/DD4WH/mchf_github.git devel-DF8OE
18.)   pull request an Andreas senden
19.)   Änderung ist implementiert und alle sind glücklich ;-)

Bestimmt fehlt hier noch einiges.

Zum Aktualisieren des eigenen online-forks (also Aktualisieren des geforkten online-repositories auf Grundlage von Andreas repository) habe ich dies gemacht. Passt das?

git fetch --all
git checkout master
git rebase
git rebase upstream
git status
git push 

73 de Frank DD4WH

Logged

-----------------------------------------
Teensy Convolution SDR
https://github.com/DD4WH/Teensy-ConvolutionSDR
Pages: [1] 2 3 4 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: Firmware-Modifikation Audio-Filter <- 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!