[Fertig] [Bilder] Fourier-Transformator

Das Labor ist der richtige Ort um spezielle Projekte inkl. Fehlersuche zu diskutieren.

Moderatoren: TVPstudio, kubi

Antworten
kubi
Beiträge: 2613
Registriert: So Mär 26, 2006 3:33 pm
Wohnort: NRW
Kontaktdaten:

[Fertig] [Bilder] Fourier-Transformator

Beitrag von kubi »

Edit: April, April
(Also, bitte nicht mehr mit Fragen bzgl. Dokumentation oder Stromlaufplänen anschreiben, positives Feedback lese ich aber weiterhin sehr gerne :wink:)


Hallo zusammen,

das hier ist etwas wirklich beeindruckendes:

Die Fourier-Transformation ( https://de.wikipedia.org/wiki/Fourier-Transformation ) kennt bekanntlich jeder von euch, allerdings wissen die wenigsten, dass der Joseph Fourier ( https://de.wikipedia.org/wiki/Joseph_Fourier ) im 18./19. Jahrhundert lebte, lange vor flotten DSPs, die seine Transformation in Echtzeit ausführen konnten.
Er hat seine Transformation theoretisch aufgestellt und bewiesen, später wurden solche Transformationen analog abgehandelt mit einem Transformator, dem sog. Fourier-Transformator.
Ich habe lange gesucht, bis ich alle benötigten Unterlagen gefunden habe. Durch Glück habe ich einen mehr oder weniger brauchbaren Transformator in der Bucht gefunden. Den Hersteller, Körting, gibt es heute nicht mehr, damals war das eine bekannte Marke. Die beiden anderen Transformatoren im Bild sind UIS-1 von Triode-Electronics ( http://triodeelectronics.com/unintrui.html ). Ich habe sie ausgewählt, weil sie mit vielen Wicklungen einige "arithmetische" Aufgaben wie Multiplizieren mit Konstanten und Addieren/Subtrahieren übernehmen können und das beitragen, was dem alten Übertrager noch fehlt.
Alle drei Transformatoren vollziehen zusammen die Fourier-Transformation:

Bild

Zerlegt man einen 1kHz-Sinus, sieht das ganze wie auf dem nächsten Bild aus. Oben auf dem Oszilloskop-Schirm ist der ursprüngliche Sinus (Zeitdomäne: https://de.wikipedia.org/wiki/Zeitbereich ) zu sehen, unten das Signal nach der Überführung in die Frequenzdomäne ( https://de.wikipedia.org/wiki/Frequenzspektrum ):

Bild

Im Gegensatz zu der Diskreten-Fourier-Transformation ( https://de.wikipedia.org/wiki/Diskrete_ ... sformation ) ist diese analoge Transformation kontinuierlich, da rein analog, und entsprechend gibt es also unendlich viele Nuancen, die ebenfalls umgewandelt werden und die nicht einer Abtastrate (wie sie bei diskreten Signalen notwendig ist) zum Opfer fallen.
Auch mit Fenstern ( https://de.wikipedia.org/wiki/Fensterfunktion ), die jeder von der FFT kennt, muss man sich nicht abgeben.
Beschränkt wird das Frequenzband lediglich durch die Induktivität des Fourier-Transformators und die parasitären Kapazitäten - wie eben bei jedem Übertrager. Mit den hier verwendeten Transformatoren löse ich Signale zwischen ca. 5Hz und ca. 150kHz auf.
Die auf dem Oszilloskop-Bild gut sichtbaren Obertöne rechts neben der dominierenden 1kHz-Spitze sind Klirr, der aus der Hysterese ( https://de.wikipedia.org/wiki/Hysterese ) des Übertragerkerns stammt. Vielleicht finde ich in Zukunft einen besseren Fourier-Transformator oder schaffe es, die drei abgebildeten Transformatoren zu einem großen Fourier-Transformator zu vereinen und mir auf einem Kern einen solchen Übertrager zu wickeln. Die Auflösung macht mir noch etwas Sorgen. Natürlich hat eine 256Bit-FPU eine bessere Genauigkeit als meine Transformatoren mit ihrem Klirr und dem Rauschen. Bei mir ist das sog. Gras (Rauschen) höher. (Kein Witz, die "Reste", die unten zwischen den Spitzen in der Frequenzdarstellung entstehen, nennen sich wirklich "Gras", weil es wie das Gras zwischen Bäumen und Büschen aussieht)

Da man einen Transformator immer in beide Richtungen verwenden kann, kann dieser Transformator die Fourier-Transformation in beide Richtungen durchführen, man bekommt also die Inverse-Fourier-Transformation ( https://de.wikipedia.org/wiki/IFFT ) gleich dazu. Beeindruckend, oder?

Ich finde, das ist wirklich beeindruckend, insbesondere weil das meiste Wissen zu Fourier-Transformatoren bereits verschollen ist. Seien wir ehrlich, von einem Fourier-Transformator haben wir vielleicht einmal kurz in einer Vorlesung "Nachrichtentechnik" gehört, mehr nicht. Hier wird spannende Geschichte wieder aufgerollt.

Genial, oder?

Überlegt mal, was damit möglich ist: Einige Leute schwärmen davon, Signale von L+R nach M+S zu wandeln, um mehr Möglichkeiten bei Komprimieren oder Entzerren zu haben. Jetzt stellt euch mal vor, man wendet die Effekte auf das Frequenzspektrum an. Kompression oder Begrenzung eines Frequenzspektrums, ist das GEIL???
Zuletzt geändert von kubi am So Apr 14, 2013 9:20 pm, insgesamt 3-mal geändert.
Darius

olafmatt
Beiträge: 1094
Registriert: Sa Okt 07, 2006 6:56 pm
Wohnort: DE & SK

Beitrag von olafmatt »

Hallo Lord Kubi,

vielleicht kannst du noch einen Schritt weiter gehen und mechanische Fourier-Synthese betreiben? Da gibt es so ein nettes DIY Maschinchen von William Thomson (aka. Lord Kelvin):

Bild

Beschreibung dazu gibts hier: http://en.wikipedia.org/wiki/Tide-predicting_machine

Mit nur 10 "bins" könnt die Auflösung für Audio allerdings etwas zu wünschen übrig lassen.

Olaf

holger777
Beiträge: 289
Registriert: Di Jul 07, 2009 1:24 pm

Beitrag von holger777 »

Booah .... wie geil ist das denn! :cool:

Ich versuche schon seit Jahren eine solarbetriebene Taschensonnenuhr mit Beleuchtung
(damit man auch im Dunkeln die Zeit ablesen kann) zu entwickeln, aber irgendwie kriege ich das nicht hin ...... :roll:


---
Holger

hugoderwolf
Beiträge: 248
Registriert: Mo Jul 02, 2007 12:20 am
Wohnort: Bochum

Re: [Fertig] [Bilder] Fourier-Transformator

Beitrag von hugoderwolf »

kubi hat geschrieben: Auch mit Fenstern ( https://de.wikipedia.org/wiki/Fensterfunktion ), die jeder von der FFT kennt, muss man sich nicht abgeben.
[...]
Die auf dem Oszilloskop-Bild gut sichtbaren Obertöne rechts neben der dominierenden 1kHz-Spitze sind Klirr, der aus der Hysterese ( https://de.wikipedia.org/wiki/Hysterese ) des Übertragerkerns stammt.
Mit Verlaub, aber das scheint mir Unsinn zu sein. Klirr würde anders aussehen, wir haben es hier eindeutig mit einer Rechteckfensterung zu tun. Sicher dass du dir nicht irgendwo einen parasitären VCA mit Rechteck-LFO eingehandelt hast? Mach am besten mal ein gescheites PCB und verwende Hann-gefensterte Leiterquerschnitte, damit sollte die Kanaltrennung verbessert werden.

kubi
Beiträge: 2613
Registriert: So Mär 26, 2006 3:33 pm
Wohnort: NRW
Kontaktdaten:

Beitrag von kubi »

Einige kamen dahinter, einige nicht, der Fourier-Transformator ist natürlich nur ein April-Scherz. :wink:
Vielen Dank allen, die ihren Spaß hatten und die mir geschrieben haben. Und weil zwei oder drei danach fragten: Nein, ich kann euch weder einen Schaltplan noch irgendwelche alten Unterlagen zu dem Thema zukommen lassen.

Vielleicht gibt es nächstes Jahr im April den Laplace-Transformator ( https://de.wikipedia.org/wiki/Laplace-Transformation ) :D
Darius

kubi
Beiträge: 2613
Registriert: So Mär 26, 2006 3:33 pm
Wohnort: NRW
Kontaktdaten:

Beitrag von kubi »

olafmatt hat geschrieben:vielleicht kannst du noch einen Schritt weiter gehen und mechanische Fourier-Synthese betreiben? Da gibt es so ein nettes DIY Maschinchen von William Thomson (aka. Lord Kelvin)...
Spannend, danke für den Link.
Aus heutiger Zeit sieht das alles so einfach und selbstverständlich aus, damals war das bahnbrechend.
olafmatt hat geschrieben:Mit nur 10 "bins" könnt die Auflösung für Audio allerdings etwas zu wünschen übrig lassen.
Stimmt. Aber Sprache ist damit bereits verständlich. Ich glaube, das frühe SIGSALY-System arbeitete mit 10 Bändern als eine Art Vocoder.
Letztens habe ich einen Artikel über Hörgeräte in einem Fachblatt gelesen, das Gerät verstärkte nicht nur wie herkömmliche Hörgeräte das Signal, sondern analysierte es und erregte über Elektroden direkt die Nerven in der Schnecke. (Der Träger hatte einen Schaden im Bereich Trommelfell/Hammer/Amboss/Steigbügel, so dass dieser Bereich umgangen werden musste). Mit zehn Bändern konnte er gesprochenes gut verstehen. Aber natürlich hast du Recht, für Musik ist das zu wenig. Ok, außer für Techno :wink:
Darius

olafmatt
Beiträge: 1094
Registriert: Sa Okt 07, 2006 6:56 pm
Wohnort: DE & SK

Beitrag von olafmatt »

Man könnte natürlich drüber nachdenken, ob man 10 Bänder basteln kann, die "frequenzadaptiv" sind. Also dass die ihre Eigenfrequenz verschieben können, um sich besser dem Signal anzupassen. So ähnlich wie die Haarzellen im Ohr, die werden ja auch dynamisch "nachgestimmt", um die hohe Genauigkeit in der Tonhöhenwahrnehmung zu erzielen.

Olaf

[silent:arts]
Beiträge: 3520
Registriert: Sa Jun 10, 2006 5:54 pm
Wohnort: BLN
Kontaktdaten:

Beitrag von [silent:arts] »

Ohne BOM baue ich gar nichts mehr :twisted:
volker
olafmatt hat geschrieben:Strom kann tot machen

kubi
Beiträge: 2613
Registriert: So Mär 26, 2006 3:33 pm
Wohnort: NRW
Kontaktdaten:

Beitrag von kubi »

olafmatt hat geschrieben:Man könnte natürlich drüber nachdenken, ob man 10 Bänder basteln kann, die "frequenzadaptiv" sind. Also dass die ihre Eigenfrequenz verschieben können, um sich besser dem Signal anzupassen. So ähnlich wie die Haarzellen im Ohr, die werden ja auch dynamisch "nachgestimmt", um die hohe Genauigkeit in der Tonhöhenwahrnehmung zu erzielen.
Gute Idee.
Du erinnerst dich bestimmt noch an AFC bei Radios oder Videorekordern. Das war diese tolle Funktion, die dafür sorgte, dass ein abgespeicherter, guter aber schwacher Sender langsam zu einer anderen Frequenz eines schlechten, dafür stärkeren Senders hin kroch und man am Ende immer manuell nachstimmen musste.
https://de.wikipedia.org/wiki/Automatic ... cy_Control
So etwas in mehreren Bändern umgesetzt würde deiner Idee entsprechen. Der automatisch gestimmte Oszillator müsste nur noch neben dem 0° auch ein 90° verschobenes Signal erzeugen (Sinus/Kosinus) und mit zwei Analogmultiplizierern könnte man die Fouriertransformation in der Tat analog durchführen. Die beiden Produkte wären dann der jeweils reelle und imaginäre Teil der Amplitude.
Radizieren und Arkustangens wären analog zu aufwendig, um die Amplituden-Phasen-Notation anzugeben, auch wenn das bei alten Analogrechnern mit einem entsprechenden Schaltungsaufwand betrieben wurde.

Ok, nach Murphy würden am Ende sowieso alle zehn Bänder auf die gleiche Frequenz verweisen und dort unabhängig vom Signal verharren.

Aber bei zehn Bändern wäre vielleicht die Fourier-Analyse, die genau eine Frequenz herauspickt und analysiert, weniger gut geeignet. Bandfilter, die einen Bereich abdecken, wären vielleicht besser geeignet. Die Analyse wäre leichter erledigt. Es wären dann nicht die zu analysierenden Frequenzen in Echtzeit anzupassen, sondern die Eckfrequenzen der Filter. Machbar.
Darius

olafmatt
Beiträge: 1094
Registriert: Sa Okt 07, 2006 6:56 pm
Wohnort: DE & SK

Beitrag von olafmatt »

kubi hat geschrieben:Ok, nach Murphy würden am Ende sowieso alle zehn Bänder auf die gleiche Frequenz verweisen und dort unabhängig vom Signal verharren.
Genau, ich hab auch ein Murphy-Dauerabo. - Hab mich vor ein paar Jahren mal länger mit Tempo-Erkennung in MIDI Signalen beschäftigt. Das geht mit adaptiven Oscillatoren. Man startet also auf Verdacht einen Haufen Oszillatoren und guckt dann, welcher am dichtesten dran ist. Danach wird geschaut wie weit der Beat neben der Schwingungsspitze des Oszillators liegt und daraus ein Korrektursignal berechnet (je größer die Steigung der Kurve, um so mehr liegt man daneben), dass dann den Oszillator entsprechend verlangsamt oder beschleunigt.
Das geht leider so richtig gut auch nur im Test-Setup. Mit echten Musikern müssen die wollen, dass das Ding ihnen folgt und dem Algorythmus "helfen", indem sie die passenden Betonungen immer schön auf den Beat setzen.

Aber zu den adaptiven Bins: das geht doch sowieso nur mit periodischen Signalen (deswegen kam ich auf meine adaptiven Oszillatoren für's Tempo). Und wenn man es für die Synthese einsetzt ist es ja nichts anders als einen Haufen Sinusgeneratoren auf verschiedenen Frequenzen, die dann Grundton und Obertöne erzeugen (wie in der elektronischen Heimorgel meines Vaters).
Insofern wäre die wirklich gute Aufgabe, endlich mal eine FFT zu erfinden, bei der die Bänder nicht linear sondern logarythmisch "gespaced" sind. Aber nun gut, das schaffen wir ja nichtmal bei EQs, die Bänder mit "wirklichen" Tonhöhen statt mit Frequenzen aus der Messtechnik zu beschriften.

Olaf

kubi
Beiträge: 2613
Registriert: So Mär 26, 2006 3:33 pm
Wohnort: NRW
Kontaktdaten:

Beitrag von kubi »

olafmatt hat geschrieben:Aber zu den adaptiven Bins: das geht doch sowieso nur mit periodischen Signalen...
Daher die Idee mit den Bandfiltern statt der Fourieranalyse.

Die Einschränkung lässt sich dennoch mit der Kurzzeit-Fourier-Transformation mildern, oder noch besser: Wavelet-Transformation.
Damit sind auch nicht-periodische Signale analysierbar. Kennt man vom Wasserfalldiagramm. Aber da verlassen wir schon den Bereich, der noch irgendwie praktischen Wert hätte.
Darius

hugoderwolf
Beiträge: 248
Registriert: Mo Jul 02, 2007 12:20 am
Wohnort: Bochum

Beitrag von hugoderwolf »

olafmatt hat geschrieben: Insofern wäre die wirklich gute Aufgabe, endlich mal eine FFT zu erfinden, bei der die Bänder nicht linear sondern logarythmisch "gespaced" sind. Aber nun gut, das schaffen wir ja nichtmal bei EQs, die Bänder mit "wirklichen" Tonhöhen statt mit Frequenzen aus der Messtechnik zu beschriften.
Gibbet schon. Constant-Q-Transformation zum Beispiel. Mit Wavelets geht das auch, oder mit Frequency-Warping durch Allpass-Ketten.

Das Problem: der Kram ist deutlich weniger dankbar zu implementieren als die FFT und daher in Echtzeit kaum praktisch zu gebrauchen.

kubi
Beiträge: 2613
Registriert: So Mär 26, 2006 3:33 pm
Wohnort: NRW
Kontaktdaten:

Beitrag von kubi »

Das letzte mal hatte ich mit Wavelets auf 68030 + 68882 zu tun, also offensichtlich lange her. So schlimm war es aber nicht.
Heute gibt es zum Glück unzählige freie Bibliotheken, die die Funktionen anbieten, so kann man die Transformationen von außen bequem als Blackbox ansehen.
Darius

hugoderwolf
Beiträge: 248
Registriert: Mo Jul 02, 2007 12:20 am
Wohnort: Bochum

Beitrag von hugoderwolf »

Naja, auch eine Blackbox will verstanden sein, will man ihren Output richtig interpretieren. Das schwierigste am Messen ist bekanntlich, herauszufinden was man da überhaupt misst. ;)

Antworten