Servus,
habe mal wieder ein kleines Problem. Hoffe ihr könnt mir da weiter helfen.
Und zwar habe ich hier die Methode getSiganl, welche 1000 Werte von SignalSet in ein double-Array schreiben soll. Dieses array mit den 1000 Werten soll dann in der Methode idft, verarbeitet werden,um mein Spektrum zu berechnen.
Jetzt steh ich ein wenig auf dem Schlauch. Würde es am liebsten mit einer for-Schleife versuchen, weiß aber nicht so recht wie ich diese dann aufbauen soll und das Array dann in die Methode Idft übergeben kann. Vielen Dank schon mal.
Gruß
habe mal wieder ein kleines Problem. Hoffe ihr könnt mir da weiter helfen.
Und zwar habe ich hier die Methode getSiganl, welche 1000 Werte von SignalSet in ein double-Array schreiben soll. Dieses array mit den 1000 Werten soll dann in der Methode idft, verarbeitet werden,um mein Spektrum zu berechnen.
Jetzt steh ich ein wenig auf dem Schlauch. Würde es am liebsten mit einer for-Schleife versuchen, weiß aber nicht so recht wie ich diese dann aufbauen soll und das Array dann in die Methode Idft übergeben kann. Vielen Dank schon mal.
Gruß
Java:
private SignalSet getSignal(SignalSet inSignalSet) {
// hier vielleicht for-Schleife?
return inSignalSet;
}
public double[] idft(double signal[]) {
double re_teil, im_teil;
int size = signal.length;
double spectrum[] = new double[size / 2];
for (double f = 0d; f < size / 2; f++) {
re_teil = 0d;
im_teil = 0d;
for (int t = 0; t < size; t++) {
re_teil += signal[t]
* Math.cos(2 * Math.PI * f * ((double) (t)) / size);
im_teil += signal[t]
* Math.sin(2 * Math.PI * f * ((double) (t)) / size);
}
spectrum[(int) f] = 1 / size
* (Math.sqrt(re_teil * re_teil + im_teil * im_teil));
}
return spectrum;
}
}