Hanning (von Hann) Fenster

public short[] HanningWindow(short[] signal_in ,int pos ,int size)
{
    for (int i= pos; i < pos+size; i++)
    {
        signal_in[i] = (short) ((signal_in[i]) * ( 0.5 * (1-Math.cos( (2 * Math.PI * i) /    (size - 1))))) ;
    }
    return signal_in;
}

Ich versuche es vorbei zu benutzen

pos = (ring+delay*frame_rate*frame_size)%(frame_size*(frame_rate+1));
num = record.read(lin,pos,frame_size);           

GGSpecSub tempSpecSub = new GGSpecSub();
lin = tempSpecSub.HanningWindow(lin, pos, frame_size);

Es ist mein erstes Mal, dass ich Echtzeit-DSP verwende. Bitte sagen Sie mir, ob dies der richtige Weg ist, um ein Hanning-Fenster auf ein Signal anzuwenden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage