FIR IIR

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

FIR IIR

Beitrag von corpsman »

FIR und IIR steht für nicht Rekursive- und Rekursive-Filter und sind in der Digitalen Signalverarbeitung an zu siedeln.

Mit diesen Filtern können aus Signalen Frequenzen Eleminiert und oder Verstärkt werden. Klassische Beispiele sind hier Hoch- und Tiefpassfilter. Vor Allem die Tiefpassfilter werden zur Rauschunterdrückung in 1D und 2D Daten verwendet. Die Hochpassfilter sind besonders bei der Kantendetection in Bildern gebräuchlich.

Mit FIR_IIR habe ich eine Art "Sandkasten" zum ausprobieren und spielen mit allen notwendigen Parametern geschrieben. Das Programm unterstützt alle 3 Punkte des EVA Prinzips.

E : Als Eingabe können selbst definierte Formeln und auch Externe Dateien dienen. ( Ebenfalls möglich Bilder als Eingabe )
V : Die Verarbeitung durch die FIR und oder IIR Filter
A : Ausgabe der Gefilterten Daten auf dem Monitor oder als Datei

Das Programm ist natürlich lauffähig unter Windows und Linux und als OpenSource auf meiner Homegage unter FIR_IIR verfügbar.

Viel Spass beim Ausprobieren, über entsprechendes Feadback würde ich mich sehr freuen.
Dateianhänge
Screenshot der Default Einstellungen
Screenshot der Default Einstellungen
--
Just try it

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: FIR IIR

Beitrag von mse »

msesig.png

Vielleicht interessiert dich die MSEgui Echtzeit-Signalverarbeitungs-Toolbox?

Martin

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: FIR IIR

Beitrag von corpsman »

Deine Komponente ist dass, was nach meinem Programm kommt.

Mit meinem Programm kann der User die Funktionsweise der FIR IIR Filter ausprobieren und Testen. Hat er dann verstanden wie sie Funktionieren und oder die Einstellungen seiner Wahl gefunden, dann kann er sich deine Komponente aufs Formular Ziehen und sie nutzen.
--
Just try it

ErnstVolker
Beiträge: 326
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: FIR IIR

Beitrag von ErnstVolker »

Ziemlich cool was Ihr zwei da macht, Hut ab!!
Erst Filterentwurf und anschließend drüber über's Signal.
Und ich dachte mit so etwas würden sich nur C++ Progger beschäftigen.

Gruß

Volker

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: FIR IIR

Beitrag von mschnell »

ErnstVolker hat geschrieben:Und ich dachte mit so etwas würden sich nur C++ Progger beschäftigen.

Im Gegenteil. Soweit ich weiß stehen Delphi und auch Lazarus bei VST- Programmierern ziemlich hoch im Kurs.

-Michael

ErnstVolker
Beiträge: 326
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: FIR IIR

Beitrag von ErnstVolker »

Ich musste erstmal gucken was den VST ist. Aber Wikipedia hilft da weiter:

Die VST-Schnittstelle ist grundsätzlich für Plugin-Entwickler offen und kostenlos verfügbar, jedoch an proprietäre Lizenzbedingungen gebunden. Das Software Development Kit (SDK) ist vom Lizenzgeber Steinberg in C++ für Macintosh, BeOS- und Windows-Betriebssysteme als 32- und 64-Bit Version erhältlich. Darüber hinaus gibt es sowohl eine offizielle als auch eine inoffizielle Variante für Linux, ein Delphi-VST-SDK und ein Open-Source-Java-VST SDK.


Mir ging durch den Kopf, dass Filterentwurfs-Toolboxen in Matlab und Scilab bzw. Scicoslab implementiert sind. Und diese Programme auch über Mechanismen zur Codegenerierung verfügen. Wobei ich jetzt nicht genau sagen kann ob auch aus den Filter-Design-Tools Code "ausgeworfen" wird, der dann in eigenen Programmen zum Einsatz kommt.

Bei Scicos kann aus "Blockschaltbildern" Code generiert werden aber in der Regel in C und leider kein Pascal.

Das finde ich sehr schade, dass an die Pascalprogrammierer weniger gedacht wird.

Um Scilab z.B. von "außen" ansprechen zu können gibt es Beispiele, natürlich in C++ aber auch für .Net (C# und VB). Nur für FreePascal, Lazarus, Delphi gibt's nix.

Von daher dachte ich, dass die Programmierer solcher "Filtergeschichten" eher im C und C++ Lager angesiedelt wären.

Gruß

Volker
Zuletzt geändert von Lori am Mo 30. Jan 2012, 20:54, insgesamt 1-mal geändert.
Grund: richtiger Highlighter

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: FIR IIR

Beitrag von mse »

ErnstVolker hat geschrieben:Von daher dachte ich, dass die Programmierer solcher "Filtergeschichten" eher im C und C++ Lager angesiedelt wären.


Das ist schon richtig so. Für mich ist die Arbeit mit Pascal und MSEide+MSEgui aber so massiv produktiver als die üblichen C-Umgebungen, dass sich der Einsatz in der Konzept- und Versuchsphase lohnt obwohl die Software schlussendlich in C oder Assembler umgesetzt werden muss. Die MSEgui Signalverarbeitungskomponenten verwende ich zum Vergnügen auch für Klangerzeugungsexperimente.

Martin

Antworten