Berechnung der Energie und der Leistung eines Signals

OP (Firma: none) #987306
Hallo, liebe Entwickler!
Ich mache gerade ein Praktikum mit Hauptthema Digitale 
signalverarbeitung. Und gleich habe ich eine Hurde. Die Berechnung der 
Energie und der Leistung eines Signal.

Ich nehme einfach mal ein Beispiel:

Fs = 1000;  % Sampling Frequency
N    = 20;         % Order
Fc   = 250;        % Cutoff Frequency
flag = 'noscale';  % Sampling Flag
% Create the window vector for the design algorithm.
win = hamming(N+1);
% Calculate the coefficients using the FIR1 function.
b  = fir1(N, Fc/(Fs/2), 'low', win, flag);

Wie sie sehen, habe ich einfach mal ein filter mit Matlab entworfen.

Die Energie des filters in Zeitbereich habe ich einfach so berechnet:
   W_zeitbereich = b*b'  ( vektorweise );

Danach wandle ich den filter in Frequenzberecih mit dem FFT:
   Filt_FFT = fft(b, Fs);
   Filt_Magn = abs(Filt_FFT);
   Filt_Phase = angle(Filt_FFT);

   % Converting The Amplitude in dB
   Filter_Magn = 10*log10(Filt_Magn);

Nun möchte ich die Energie und die Leistung(nach Parseval) des Filters 
berechnen. So bin ich vorgegangen:
   W_frequenzbereich = filter_Magn * filter_Magn';

So kriege ich nicht das gleiche Ergebnis mit der in Zeitbereich.

Was mache ich falsch? Wie kann ich vorgehen?

Ich danke im voraus für Ihre Hilfe
Gast #987793
> % Converting The Amplitude in dB
>   Filter_Magn = 10*log10(Filt_Magn);

Was soll diese Logarithmierung? Du benutzt das Ergebnis 'Filter_Mag' 
dann zur Berechnung der Energie?


Gruß
FL
#987998
Log weglassen und normieren:

b=rand(1,1000);
W_zeitbereich =(b*b')
Filt_FFT = fft(b);
Filt_Magn = abs(Filt_FFT);
W_frequenzbereich = Filt_Magn * Filt_Magn'/1000
Filt_FFT*conj(Filt_FFT).'/1000

Eleganter als diese abs() Geschichte ist das Rechnen mit der konjuguiert 
komplexen FFT wie in der letzten Zeile.

Cheers
Detlef

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.