|
|
Faltung u. inverse F. im Frequenzraum mit conv() u deconv()? |
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 28.02.2011, 13:08
Titel:
|
|
|
|
|
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?
Beschreibung: |
|
Download |
Dateiname: |
Eingang_berechnen.fig |
Dateigröße: |
71.1 KB |
Heruntergeladen: |
651 mal |
Beschreibung: |
|
Download |
Dateiname: |
Impulsantwort_berechnen.fig |
Dateigröße: |
72.13 KB |
Heruntergeladen: |
638 mal |
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 28.02.2011, 15:08
Titel:
|
|
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
Beschreibung: |
|
Download |
Dateiname: |
Faltung_FFT_vs_conv.m |
Dateigröße: |
2.22 KB |
Heruntergeladen: |
631 mal |
Beschreibung: |
|
Download |
Dateiname: |
PT2_Sprungantwort.mdl |
Dateigröße: |
24.37 KB |
Heruntergeladen: |
649 mal |
Beschreibung: |
|
Download |
Dateiname: |
PT2_strecke.m |
Dateigröße: |
276 Bytes |
Heruntergeladen: |
638 mal |
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|