WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Algorithmik Filter Design Toolbox

 

Dr.Nick
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.02.2011, 22:43     Titel: Algorithmik Filter Design Toolbox
  Antworten mit Zitat      
Hallo zusammen,

ich habe mit der Matlab Filter Design Toolbox einige Filter erstellt. Diese liegen als dfilt.df2sos vor. Mit dem Befehl filter() können sie in Matlab verwendet werden. Leider möchte ich die Filter nicht in Matlab, sondern in C# benutzen. Deshalb möchte ich versuchen, den filter()-Befehl in C# nachzubauen.

In der Matlab-Hilfe habe ich für den Filterbefehl einen Abschnitt "Algorithm" gefunden, der beschreibt, wie der Befehl arbeitet:

y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb) - a(2)*y(n-1) - ... - a(na+1)*y(n-na)

Leider gilt dies nur für einen Aufruf nach dem Muster y = filter(b,a,X). Für ein Aufruf mit einem dfilt.df2sos-Objekt kann ich so etwas nicht finden.

Meine Vermutung war zunächst, dass ich die durch das dfilt.df2sos-Objekt gegebenen Werte irgendwie in diese Formel einsetzen kann. Allerdings habe ich pro Filter nur eine [4x6] Matrix mit Filterkoeffizienten (sosMatrix), nicht zwei (also a und b). Dafür gibt es eine Matrix mit scaleValues. Ich habe keine Ahnung, wie ich damit Werte filtern kann...

Kennt sich jemand damit aus und kann mir sagen, wie ich die Koeffizienten in welche Formel einsetzen muss, um zu filtern?

Vielen Dank schonmal
Nick
Private Nachricht senden Benutzer-Profile anzeigen


Dr.Nick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.02.2011, 13:54     Titel:
  Antworten mit Zitat      
Okay, nachdem ich mich noch etwas weiter mit dem Problem beschäftigt habe, habe ich eine Funktion gefunden, mit der es möglich ist, a und b ("quantized filter") in eine sos-Matrix ("Second-order section form") umzuwandeln: sos.

Die Funktion macht also genau das Gegenteil von dem, was ich machen möchte... Gibt es eine Funktion, die die second-order section form in quantized filter umwandelt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.