Fourier Trafo Problem

    • Coolpawn
      Coolpawn
      Black
      Dabei seit: 12.05.2006 Beiträge: 1.140
      ich möchte gerne eine "vierecks"funktion

      f(x) = 1 für -1 < x < 1
      0 sonst

      in eine summe von consinusfktn darstellen.


      bei wikipedia finde ich

      f(x) = SUMME_von_n=0_bis_N_von: A_n * cos (n*omega*x + phi_n)


      könnte mir jemand freundlicherweise die parameter
      A_n und phi_n für die ersten ca. 5-6 summanden nennen? und omega natürlich..


      wär prima!!
  • 2 Antworten
    • mosl3m
      mosl3m
      Bronze
      Dabei seit: 04.07.2007 Beiträge: 6.491
      A_n musst du ausrechnen^^

      Integral(-1,1)[f(x) * sin(n*2pi*x)] oder so ähnlich^^

      Wir haben das immer nur mit 2pi-Periodischen Fkt'en gerechnet, dann ging das Integral von -pi bis pi.
      Deine Funktion lässt sich ja sehr leicht so umformen.
      Wenn ich den Wikiartikel richtig interpretiere, dann erfüllt das Omega = 2pi aber genau dieses.

      Das Problem wird allerdings sein, dass du mit cos/ sin nur eine sehr ungenaue Näherung an deine Funktiion bekommen wirst, vor allem an den Sprungstellen wirst du sehr große "Überschwinger" erhalten.

      Ist ein ähnliches Problem, wie bei der JPEG-Kompression bei "scharfen" Farbübergängen, da hierbei auch Fouriertransformation verwendet wird.

      Leider habe ich vergessen, was für eine Alternativethode zum Einsatz kommt...
      In den Wikiartikeln zu GIF/ PNG habe ich auf Anhieb nichts brauchbares gefunden.
    • mosl3m
      mosl3m
      Bronze
      Dabei seit: 04.07.2007 Beiträge: 6.491
      Zu deiner Frage:

      f(x) = 1 : -1 <= x <= 1, 0 : sonst (ohne <= geht das glaube ich nicht vernünftig..)

      => a_n = Int_-1_1_[f(x) * sin (n * 2pi * x)] da f(x) = const = 1 V x € [-1,1] =>
      a_n = Int_-1_1_[1 * sin(n * 2pi * x)] = [(-1/(n * 2pi)) * cos(n * 2pi * x)] in [-1,1]

      => a_n = -1/(n * 2pi) * cos (n * 2pi) - (-1)/(n * 2pi) * cos (- n * 2pi)

      => a_n = 0


      a_0 = Int_-1_1_(f(x) * sin(0 * 2pi * x) = 0

      Allerdings kommen da scheinbar noch sinus-teile hinzu, obwohl die Funktion für mich sehr Achsensymmetrisch aussieht :f_o:


      b_n = Int_-1_1_[f(x) * cos(n * 2pi * x)] = Int_[cos(n * 2pi * x)]

      b_n = 1/(2pi * n) * sin(n * 2pi * x) in [-1,1] = 1/(2pi * n) * sin(n * 2pi) - 1/(2pi * n) * sin(-n * 2pi) = 2/(2pi * n) * sin(2pi * n)

      Da sin(n * 2pi) = 0 für alle n => b_n = 0, für n >= 1

      b_0 = Int_-1_1_(cos(0 * 2pi * x)) = 2



      F_t(x) = a_0/2 + b_0/2 + a_n * sin (n * 2pi * x) + b_n * cos(n * 2pi * x) = 1

      Was ein Fail ;(