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

Filter auf wavread() anweden

 

svartsol
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.11.12
Wohnort: Schweiz
Version: ---
     Beitrag Verfasst am: 16.11.2012, 12:45     Titel: Filter auf wavread() anweden
  Antworten mit Zitat      
Hallo zusammen!

Ich hab mal wieder ne Frage:

Ich hab die Koeffizienten einer Übertragungsfunktion

a=[a3 a2 a1 a0];
b=[b3 b2 b1 0];

Nun möchte ich diese auf mein Signal anwenden, das ich mit [Y]=wavread() eingelesen habe:

Ygefilter=filter(b,a,Y);

Das funktioniert aber nicht. Ygefiltert besteht dann nur noch aus NANs.
Wie müsste ich denn hier vorgehen?
Private Nachricht senden Benutzer-Profile anzeigen


dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 13:01     Titel:
  Antworten mit Zitat      
Dann muss da irgendwas an den eingesetzten Zahlenwerten faul sein.

Welche Werte verwendest du für a und b?
Private Nachricht senden Benutzer-Profile anzeigen
 
svartsol
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.11.12
Wohnort: Schweiz
Version: ---
     Beitrag Verfasst am: 23.11.2012, 15:38     Titel:
  Antworten mit Zitat      
Entschuldige die späte Antwort!
Konnte wegen Studiumstress nicht weiter dran arbeiten.

Die Koeffizienten sehen so aus:
z=[-3092.86+2954.98i -3092.86+2954.98i 0];
p=[-11540.91 -1194.34 -140.84 ];

daraus erstelle ich die Übertragungsfunktion und den Bode-Plot

G=zpk(z,p,1)
bode(G)

Der Plot sieht genau so aus, wie es zu erwarten wäre. Aber auf ein per wavread()-eingelesenes Signal kann ich es nicht anwenden.

Weder mit
[num,den]=tfdata(G,'v')
X=filter(num,den,Y);

noch mit der Faltung von Y.*G oder conv(G,Y).

Was mach ich denn falsch?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 23.11.2012, 16:01     Titel:
  Antworten mit Zitat      
Worin genau besteht denn der Fehler?

Ich habe dein Filter getestet, auf ein 1Khz Sinus Signal, welches ich mit wavread eingelesen habe. Das Signal wurde mit der filter Funktion gefiltert. Allerdings ist der Ausgang komplex, was aber bei deinen Nullstellen zu erwarten ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
svartsol
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.11.12
Wohnort: Schweiz
Version: ---
     Beitrag Verfasst am: 23.11.2012, 16:28     Titel:
  Antworten mit Zitat      
Hm, komisch. Bei mir geht G bei einem einfachen Sinus auf e^300 und mehr, gefolgt von inf+infi und dann nur noch NaN+NaNi.

Code:
>> t=linspace(0,7,200);
>> y=1*sin(2*pi*1000*t);
>> z=[-3092.86+2954.98i -3092.86+2954.98i 0];
>> p=[-11540.91 -1194.34 -140.84];
>> G=zpk(z,p,1);

Warning: This zpk model has a complex gain or some complex zeros or poles that do not come in
conjugate pairs.
> In warning at 26
  In zpk.zpk>zpk.zpk at 358

>> G=filter(num,den,y);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 23.11.2012, 17:14     Titel:
  Antworten mit Zitat      
Transformiere das Filter mal in den z-Bereich...

Code:

Ts = ... % Abtastrate
Gz = c2d(G,Ts);
[num,den] = tfdata(Gz,'v');
 
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 - 2025 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.