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

Faltung u. inverse F. im Frequenzraum mit conv() u deconv()?

 

DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 28.02.2011, 13:08     Titel:
  Antworten mit Zitat      
Hallo zusammen,

habe mich jetzt erstmal angemeldet.

Anonymous hat Folgendes geschrieben:
Um also das identische Ergebnis zu Conv() über die Faltung im Frequenzbereich zu erhalten, müssen die Eingangsvektoren x und h schon die Länge m+n-1 haben.


Ich habe mich hier evtl. etwas unverständlich ausgedrückt. Der Eingangsvektor x[m] muss mit [n-1] Nullen auf die Länge m+n-1 aufgefüllt werden. Entsprechend h[n] mit [m-1] Nullen aufgefüllt werden.
--------------------------

Ich habe mich nun nochmal etwas mit der inversen Faltung befasst. Conv() und Faltung über FFT liefern ja schon ein identisches Ergebnis. Aber deconv() stimmt nicht mit der FFT Division überein. Da ich mit der Sprungantwort, erzeugt durch step(h), bei der FFT Version numerische Probleme bekomme (-inf, NaN), habe ich mir in Simulink einen Sprung x[n] mit einem geringeren Anstieg erzeugt (Rampe). Mit einem PT2 Glied erstelle ich mir die Sprungantwort y[n]. Da ich die Übertragungsfunktion habe, kann ich mir auch die Impulsantwort h[n] erzeugen.

Nun möchte ich folgende Rechnungen durchführen und dabei FFT und deconv() vergleichen.

h[n] = y[n]/x[n] ->Impulsanwort_berechnen.fig
x[n] = y[n]/h[n] ->Eingang_berechnen.fig

Da ich ja alle 3 Wertefolgen aus der Simulation habe, kann ich die Ergebnisse übereinander legen. Die inverse Faltung über FFT ist identisch mit der Simulation. Aber deconv() stimmt nicht. Erstmal muss ich noch folgende Fehlermeldung verhindern,

Zitat:

??? Error using ==> deconv
First coefficient of A must be non-zero.

Error in ==> Faltung_FFT_vs_conv at 57
[q,Y2]=deconv(x1, h1); % normale Faltung im Ortsraum


...in dem ich x1(1) und h1(1) = 0.000001 setze. Komisch ist ja, das der Quotient 0 ist und der Rest der Division das gezeigt Signal in den Figuren ist. Hat jemand eine Idee warum das nicht funtkioniert?

Eingang_berechnen.fig
 Beschreibung:

Download
 Dateiname:  Eingang_berechnen.fig
 Dateigröße:  71.1 KB
 Heruntergeladen:  651 mal
Impulsantwort_berechnen.fig
 Beschreibung:

Download
 Dateiname:  Impulsantwort_berechnen.fig
 Dateigröße:  72.13 KB
 Heruntergeladen:  638 mal
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: 28.02.2011, 15:08     Titel:
  Antworten mit Zitat      
Der Quotient ist natürlich 1 und nicht 0

Falls jemand selber mal testen möchte, hier noch meine Files.

1. PT2 Strecke.m ausführen
2. PT2_Sprungantwort.mdl ausführen
(Da es einen Unterschied macht, wenn der Sprung beginnt, gibt es hier 2 Varianten)
3. Faltung_FFT_vs_conv.m ausführen

Faltung_FFT_vs_conv.m
 Beschreibung:

Download
 Dateiname:  Faltung_FFT_vs_conv.m
 Dateigröße:  2.22 KB
 Heruntergeladen:  631 mal
PT2_Sprungantwort.mdl
 Beschreibung:

Download
 Dateiname:  PT2_Sprungantwort.mdl
 Dateigröße:  24.37 KB
 Heruntergeladen:  649 mal
PT2_strecke.m
 Beschreibung:

Download
 Dateiname:  PT2_strecke.m
 Dateigröße:  276 Bytes
 Heruntergeladen:  638 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.