fft bis zu einer bestimmten Frequenz

OP #1930628
Lesenswert?

Hallo

Das untere Programm läd eine wav und korreliert linken und rechten 
Kanal.
Die Anzahl der Stützpunkte im unteren Frequenzbereich ist jedoch zu 
niedrig. Noch mehr Punkte möchte ich nicht gern benutzen da das Programm 
zu rechenintensiv ist und zu lang dauert.
Die Idee wäre die fft in Frequenzbänder zu unterteilen, wenn das möglich 
ist.
Vielleicht hat ja jemand eine Ansatz.

Vielen Dank Philipp



I = [];
V = [];
F_V = [];
F_I = [];
F_abs_V = [];
F_abs_I = [];
F_abs_cross =[];
mittel = [];
gstacksize('max')
stacksize('max')


I_V = loadwave("C:\Programme\scilab-5.2.2\wave\Messung48kHz.wav");

fenster = 10000;
ansmess = 5;

mittelg = [fenster];

first = 1;
last = fenster;
j = 1;

for i = 1:ansmess

    j = 1;

    for n = first:last

        V(1,j) = I_V(1,n);
        I(1,j) = I_V(2,n);

        j = j + 1;

    end;

    first = first + fenster;
    last = last + fenster;



    F_V = fft(V);

    F_abs_V = abs(F_V);


    F_I = fft(I);

    F_abs_I = abs(F_I);


    F_abs_cross = F_abs_I ./ F_abs_V;

    mittel = mittel + F_abs_cross;

end;

mittel = mittel / ansmess;


x = 1:fenster;
x = x * 48000/fenster;

plot2d(x, mittel, logflag = "ll");

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren