Faltung und Entfaltung mit Scipy

Ich versuche, Dekonvolution mit Python zu berechnen. Ich habe ein Signal, sagen wir f (t), das ist die von der Fensterfunktion gesprochenen g (t) gewunden. Gibt es einen direkten Weg, um die Entfaltung zu berechnen, damit ich das ursprüngliche Signal wieder bekommen kann?

Zum Beispiel f (t) = exp (-t ** 2/3); Gaußsche Funktion und g (t) = Trapezfunktion

  • 2D-Faltung in Python ähnlich wie Matlab's conv2
  • CPickle sehr große Datenmenge
  • Scipy convolve2d gibt falsche Werte aus
  • Convolve2d nur mit Numpy
  • Python-Kerzen, wie man die Größe der Eingabe nach der Faltungsschicht in die lstm-Schicht ändert
  • Training auf der verschmolzenen Schicht in keras
  • Vielen Dank im Voraus für Ihren freundlichen Vorschlag.

  • Erstellen und Partern von Multipart-HTTP-Anforderungen in Python
  • Python Emailing Multipart mit Körperinhalt
  • Wie finde ich den Mime-Typ einer Datei in Python?
  • Wie bekomme ich einen Text der E-Mail-Nachricht mit python?
  • IPython.display.Audio kann nicht korrekt behandeln `.ogg` Dateityp?
  • MIME-Header, die es nicht durch Gmail-API machen
  • One Solution collect form web for “Faltung und Entfaltung mit Scipy”

    Ist das ein analytisches oder numerisches Problem?

    Wenn es numerisch ist, verwenden Sie scipy.signal.devconvolve: http://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.deconvolve.html

    Aus den docs:

    >>> from scipy import signal >>> sig = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1,]) >>> filter = np.array([1,1,0]) >>> res = signal.convolve(sig, filter) >>> signal.deconvolve(res, filter) (array([ 0., 0., 0., 0., 0., 1., 1., 1., 1.]), array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])) 

    Andernfalls, wenn Sie eine analytische Lösung wünschen, können Sie das falsche Werkzeug verwenden.

    Darüber hinaus, nur ein Tipp für die Zukunft google-ing, wenn Sie über Faltung sprechen, ist die Aktion in der Regel / oft "gefaltet" nicht "gewunden", siehe https://english.stackexchange.com/questions/64046/convolve- Vs-konvolute

    Python ist die beste Programmiersprache der Welt.