mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Welches DSP für 7.1 FIR-Filter


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,

ich suche ein passendes Board für meine Anlage. Ich habe mir zwar ein 
adsp-21369 geschossen befürchte aber dass ich damit ohne die teuren 
Lizenzen nicht weit komme.

Daher nun in deinem neuen Thread die Frage nach möglichen Alternativen. 
Ich habe z.B. den ADAU1467 entdeckt, welche angeblicht auch völlig 
ausreichen würde (angeblich 24000 Taps bei 48khz). Kennt ihr noch 
weitere mögliche Chips welche für mich interessant sein könnten?

Zudem die Frage, ob man die FIR-Filter durch ein Controll-Board zur 
Laufzeit anpassen kann? Bei dem adsp-sc589 sharen sich die Cores einen 
gemeinsamen Speicher, mit dem man derartiges realisieren könnte.

Mein Wunsch wäre es, mehrere Presets zu speichern und ggf. per kleiner 
Web-App auf dem Controllerboard (z.b. einem raspi) anpassen zu können, 
um nicht immer den pc anschließen zu müssen.

Freue mich über Meinungen und Anregungen!

Autor: Gretel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ohne die teuren Lizenzen nicht weit komme.

Ja, P.G.H.

> weitere mögliche Chips

Für das stumpfe Abarbeiten von FIRs taugen eigentlich alle
FPGA die Multiplizierer haben.

> zur Laufzeit anpassen

An den Koeffizienten zu drehen scheint ja erstmal kein Problem.
Aber das ganze ohne störende Nebengeräusche hinzubekommen.

> per kleiner Web-App

Das klein soll wohl einfach suggerieren.
Einfach wäre wohl ein separater Conroller, der sich um solchen
Quatsch kümmert. Solange man Ethernet als einfach ansieht.

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGAs habe ich nur noch ein MyRio von national instruments rummliegen... 
Wäre sowas ausreichend um damit 8 kanäle mit 2000 taps fir filter zu 
verarbeiten?

Bei der Webapp, dachte ich an sowas wie einen ESP32, mit ner kleinen 
Webseite, auf der man txt, hochladen kann, welcher der ESP dann nutzt um 
die Filter zu rekalibrieren.

Autor: Gretel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ein MyRio von national instruments

Das kenne ich nun nicht.

Aber ein Cyclone II EP2C5T144C8 sollte für einige Meter FIR-Filter
reichen. Die Multiplizierer muss man per Pipeline und Sharing benutzen.
Für ein Resultat braucht der aber auch nur 4 ns.

Wie viel das fertige Design belegt, sagt einem die Software ja,
und wenn es nicht passt, muss man entweder einen grösseren oder
mehrere FPGA nehmen.

> 8 kanäle mit 2000 taps

Ja, das wären grob gerechnet in der Summe 16 k Koeffizienten
und für den kleinsten Cyclone II schon etwas zu viel :).
Aber warum sollten ein paar Bandpässe nun 2000 Taps brauchen?
Das kommt mir ein wenig reichlich vor.

Schau dir die vorhandenen Resourcen eines kleinen FPGA an,
und dimensioniere die Filter so, dass sie da hineinpassen.
Für die Koeffienten sind das der vorhandene Speicherplatz
und für das Gesamtdesign die Anzahl und Breite der
Multiplizierer.

Das rechne dir mal selber aus...

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das MyRio Board hat einen Zynq-7000 drauf. Mit dem wollte ich damals 
meine ersten Versuche mit FPGA-s machen und Labview. Man kann das Board 
aber auch mit anderen IDE's programmieren.

Wäre daher auch spannend, ob der ausreichend power hätte für sowas? Wlan 
ist auch eingebaut, wäre also nur noch die Frage als Leihe, welchen ADC 
und DAC ich da anschließen muss und vor allem wie^^ für ein 8 in + 8 out 
cinch.

Kennt ihr da ein gutes Board, was man verwenden könnte als ADC un/oder 
DAC? Bzw. erstmal die Frage ob der Zynq genug power für sowas hätte?!

Autor: Tippgeber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon F. schrieb:
> Mit dem wollte ich damals
> meine ersten Versuche mit FPGA-s machen und Labview
Argh!  Labview ist zu allem gut, aber nicht zum FPGA entwickeln!

Dann lieber noch die Blöckchen vom Xilinx oder die aus Simulink.

>Re: Welches DSP für 7.1 FIR-Filter
Mit 7.1 ist wohl 7.1 Surround gemeint?
Braucht es da besondere Filter?

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja dachte ich mir schon^^ Aber man kann den Zynq ja auch ohne Labview 
programmieren =)

7.1 --> Genau, es geht um eine Audioanlage und nein, außer IIR und 
FIZ-Filter brauche ich da keine besonderen Filter^^

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt einer von euch ein adc/dca Board mit cinch anschlüssen für 
2-8inputs und 8 outputs, was man an den fpga anschliesen kann?

Mindestens 24bit gerne auch 32bit.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die wohl entscheidende Frage ist, was das Filter denn tun soll und 
weniger, mit welcher Technologie es realisiert wird.

Simon F. schrieb:
> 24000 Taps bei 48khz
Die braucht man wohl nicht, weil man so bis etwa 2Hz runter gelangt. 
Üblich sind eher Sparversionen bis Lamba/4 und dies auch nur runter bis 
16Hz etc. was auch mit 1024 TAPs noch zu machen ist.

Die genannte Konstellation bräuchte es bei 8 Kanälen auch 9Mia 
Operationen. Sicher, dass das so stimmt?

Um das mit einem billigen FPGA zu machen, würde man 96kHz und 4096 TAPs 
in 16 Einheiten arbeiten, die auf knapp 50MHz laufen und mit MULs in 
fabric laufen können. Für ein 8 Kanalsystem wäre dann in einem Spartan 3 
noch genug Platz.

In 48kHz kriegt man sogar noch AGC unter, um einen MBC zu bauen:
http://www.96khz.org/htm/multibandcompressor.htm

Mit einem heutigen FPGA würde man auf 200MHz bauen. Der DrumComputer im 
Artix arbeitet an zwei Stellen mit einem "langen" FIR-Filter. Wieder 16 
Einheiten, dafür mit 32768 TAPs und 768kHz Rate.

Die Bässe (z.B. den .1-Kanal) bearbeitet man zweckmäßigerweise aber mit 
einen IIR. Erzeugen kann man sie per PDM.

Simon F. schrieb:
> Kennt einer von euch ein adc/dca Board mit cinch anschlüssen für
> 2-8inputs und 8 outputs, was man an den fpga anschliesen kann?
Kommt auf die geforderte Qualität an. Die meisten erschwinglichen 
Wandlersysteme arbeiten auf USB. Was du fürs FPGA brauchst, ist aber TDM 
oder S/PDIF mehrkanalig, also z.B. ADAT. Das jeweils zu wandeln ist 
nicht so easy bzw die Wandler mit TDM Ausgang sind in der höheren 
Preisklasse.

Das einfachste für dich sind wohl Chinamodule aus der Bucht, die 
parallel 2 Kanäle auch S/PDIF oder auch I2S wandeln und zurück. Die 
kosten so 6 .. 10,- das Stück. Macht geschätzte 70,- für 4 Ein- und 4 
Ausgangsmodule.

Es braucht dann aber etwas Fummelei mit den M256 Takten bei den 
Eingängen, um sie synchron zu bekommen oder du brauchst resampler.

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst du sowas dann?
https://www.ebay.de/c/572676182



Wie meinst du das mit dem Gefummel mit dem synchronisieren? Da ich mit 
FPGA's noch nichts gemacht habe, kennt einer von euch ein passendes 
Beispiel-Repo, welches mit FPGA's auf i2S DAC/ADCs zugreift an dem man 
sich orientieren kann?

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon F. schrieb:
> Wie meinst du das mit dem Gefummel mit dem synchronisieren?
Die Eingabe-Boards haben ihren eigenen Taktgenerator. Den muss man 
händisch synchen.

I2S-IF gibt es eines auf OpenCores.

Autor: Hört sich gut an (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eventuell 2x (ein teensy 4.0 mit 2xAudio Shield) gibt 8 mal rein und 
raus (16 bit, 44100 Hz ). Lässt sich damit "programmieren":

https://www.pjrc.com/teensy/gui/index.html

Mein "Spielzeug" fürs dieses Wochenende. Evtl. kann ich Montag mal 
berichten.

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mal geschaut. DAC's gibt es recht hochauflösende für wenig 
Geld. Teilweise sogar mit 32bit und 384khz für gerade mal 3-6€.

Ich finde aber kein Board mit einem adäquaten ADC dazu. Kennt einer ein 
2 Kanal Board mit 32bit Adc's ähnlich diesem 24bit Board? 
https://www.audiophonics.fr/en/diy-dac/adc-analog-to-digital-converter-akm5720-i2s-24bit-96khz-p-13351.html

Stereo-Input würde vorerst ausreichen für die ersten Versuche.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Billiger, als der o.g. wird nicht unbedingt besser. Einen echten 
32Bit-ADC gibt es so nicht. Du kannst froh sein, wenn du eine 
Analogqualität von 20 Bit reinbekommst.

Als einfachste Lösung hätte ich den hier.

Richtig gute Wandler musst du selber bauen oder zu entsprechenden 
Preisen erwerben. Ich habe u.a. ein fireface im Gebrauch. Von MINDPPRINT 
gabe es früher mal plugin Module mit 96kHz-Wandlern. Von denen hatte ich 
auch schon welche verbaut.

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte eine alternative Idee.

Um mir die AD/DA Wandlung zu sparen, würde ich gerne versuchen das 
Audio-Signal direkt mit dem HDMI-Stream verarbeiten.

Hat einer von euch schonmal mit sowas experimentiert?
Ebay-Artikel Nr. 253942341747

Zudem die Frage, ob es einen Beispielcode gibt, zum das Audio und 
Video-Signal abzugreifen?

Meine Idee, zwei dieser Board zu nutzen um das HDMi Signal abzugreifen, 
zu verarbeiten und anschließend das verarbeitete Signal an den 
AV-Receiver weiterzuleiten.

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternativ dazu:
Ebay-Artikel Nr. 123962902103

Was denkt ihr wie groß wird das Delay des FIR Filters mit dem FPGA? Wenn 
das nicht nennenswert groß ist, wäre das eine einfachere Lösung, da ich 
nicht mit dem HDMI-Protokoll rumm hantieren müsste :D

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Simon F. schrieb:
> Hat einer von euch schonmal mit sowas experimentiert?
> Ebay-Artikel Nr. 253942341747
Wenn du da mit einem HDMI Signal reingehst und damit tatsaechlich I2S 
rausextrahierst, dann solltest du sofort auch Lotto spielen.


Simon F. schrieb:
> Alternativ dazu:
> Ebay-Artikel Nr. 123962902103
Damit koennte es evtl. gehen, Audio aus einem HDMI Link rauszufieseln. 
Aber nicht wieder rein.

Simon F. schrieb:
> Was denkt ihr wie groß wird das Delay des FIR Filters mit dem FPGA?
Naja, das wird wohl stark von der Laenge/Gruppenlaufzeit deines ollen 
Filters abhaengen. Wenn du das nicht weisst, wie willst du dann 
irgendwas filtern?

Gruss
WK

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok dann bestätigt das meine Befürchtung, aber dann versuche ich das mit 
dem HDMI/MHL Board. Mit den Filtern beschäftige ich mich dann wenn ich 
ans Coden gehe :D

Wie komme ich am besten von dem FPGA mit 8 Kanälen digital an den 
AV-Receiver? https://www.de.onkyo.com/de/produkte/tx-nr808-35420.html

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder gibt es alternative Möglichkeiten, um video und audio von hdmi zu 
verarbeiten auf dem FPGA und dann wieder hdmi asuzugeben?

: Bearbeitet durch User
Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Simon F. schrieb:
> Wie komme ich am besten von dem FPGA mit 8 Kanälen digital an den
> AV-Receiver? https://www.de.onkyo.com/de/produkte/tx-nr808-35420.html

Keine Ahnung ob ueberhaupt. Und schon garnicht, wie am besten.
Woher hast du denn ploetzlich 8 Kanaele? Wenn du aus deinem HDMI ein 
einzelnes, popeliges Stereopaar rauspfriemeln kannst, dann laeufts schon 
bombig...
Kanns sein, dass das alles eine Nummer zu gross ist?


Gruss
WK

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr gut möglich,
aber ohne große Ziele lernt man auch nichts! =)

Ich habe gerade das PYNQ-Z1 und -Z2 gefunden, was bereits einen 
eingebauten HDMI in und out hat. Leider scheint die api aber nur video 
vorzusehen.

Ich überlege gerade ob ich das MyRio nicht verkaufe und ein anderes 
Board kaufe, was mir den Hardwarepart abnimmt, damit ich mich nur um die 
Software kümmern muss.

Jemand eine Idee für ein alternative Board, welches HDMI einen in- und 
output hat?

PS: 8 Kanäle brauche ich, da ich 4 Zweiwege Boxen mit Stereo anfahren 
möchte (Semi-Surround). Daher auch die Anforderung mit der Filterung. 
Aktuell nutze ich dazu ein Sure DSP, möchte das aber gerne komplett 
digitalisieren bis zum AV-Receiver und erst dort dann die eingebauten 
DAC's nutzen. So spare ich mir unnötige Klangverluste durch hin und her 
wandeln.

Die Idee mit dem FPGA, war mich mit dem Thema auseinandersetzen zu 
müssen, da ich bisher nie was mit FPGA's gemacht habe und das gerne 
lernen möchte, aber ich gebe dir Recht, zusätzlich noch 
Hardware-Layouten zu müssen oder ähnliches würde das Vorhaben zu komplex 
machen.

Freue mich über alternative Vorschläge!

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Hast du denn schon irgendwelche Filter am Laufen gehabt? So richtig, mit 
Krach ausm Lautsprecher und nicht nur simuliert?
Ansonsten muss dir bei HDMI klar sein, dass da immer auch mal der HDCP 
zuschlagen kann. Und dann guckst du auch mit irgendwelchen PYNQ oder 
STYNQ Boards etwas bedroeppelt.

Gruss
WK

Autor: Simon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doe Boxen sind aktuell aktiv getrennt.

Nur leider über den AD DA umweg über ein sure dsp aktuell.

Den analogen Schritt würde ich gerne ungehen, daher die idee das 
Audiosignal digital vorzuverarbeiten aus dem HDMI und dann digital an 
den AVR.

Wie ich das digital verarbeite ist mir egal, hauptsache keine verlust 
behaftetr AD wandlung dazwischen.

Autor: Simon F. (snape6666)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neue Idee: Ich nehme einen HDMI-Audio-Extraktor. Dieser liefert mir das 
Audio-Signal auch digital per Toslink. Dann verarbeite ich dieses und 
spiele es per Toslink weiter an den AVR.

Würde das das Problem lösen mit dem HDMI Problem? Oder ist das aus dem 
optischen Anschluss kommende Protokoll, ebenfalls schwierig zu 
verarbeiten?

https://www.reichelt.de/hdmi-4k2k-7-1-audio-extractor-goobay-58967-p218617.html

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Simon F. schrieb:
> Würde das das Problem lösen mit dem HDMI Problem?
Keine Ahnung wie/ob der mit HDCP zurechtkommt oder zurechtkommen muss.

> Oder ist das aus dem
> optischen Anschluss kommende Protokoll, ebenfalls schwierig zu
> verarbeiten?
Wird wohl von der Datenrate her schonmal angenehmer sein als HDMI; wenns 
was anderes als PCM-Stereo ist,(Dolby,AC3-gedoens) kann's decodieren 
auch unangenehm werden. Wuerde es aber bei HDMI dann auch.

Gruss
WK

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.