Servus,
lese hier schon längere Zeit mit und bin echt begeistert. Konnte schon viele hilfreiche Tipps finden. Habe mich nun dazu entschlossen mich doch endlich anzumelden, da ich für mein derzeitiges Problem noch keine Lösung gefunden habe. Hoffe ihr könnt mir helfen.
Ich habe hier jetzt ein Programm bei dem ich die lineare Darstellung der y-Achse durch eine logarithmische Darstellung ersetzen möchte. Dies soll in der unteren Methode logSpectrum passieren. Habe schon versucht den log über Math.log10() zu berechnen. Jedoch kommt es da zu dem Konflikt, dass es mit dem Argument double[] nicht ausführbar ist. Was kann ich da tun? Ach ja, ich arbeite mir eclipse.
Hoffe ihr versteht mein Problem.
Gruß
lese hier schon längere Zeit mit und bin echt begeistert. Konnte schon viele hilfreiche Tipps finden. Habe mich nun dazu entschlossen mich doch endlich anzumelden, da ich für mein derzeitiges Problem noch keine Lösung gefunden habe. Hoffe ihr könnt mir helfen.
Ich habe hier jetzt ein Programm bei dem ich die lineare Darstellung der y-Achse durch eine logarithmische Darstellung ersetzen möchte. Dies soll in der unteren Methode logSpectrum passieren. Habe schon versucht den log über Math.log10() zu berechnen. Jedoch kommt es da zu dem Konflikt, dass es mit dem Argument double[] nicht ausführbar ist. Was kann ich da tun? Ach ja, ich arbeite mir eclipse.
Hoffe ihr versteht mein Problem.
Gruß
Java:
public class SpectrumAnalyser extends Meter {
private SpectrumParameters sp; // current SpectrumParameters used to draw the beam
private double signal[]; // (Note that spectrum[] is only local.)
private int size; // current number of samples transformed by the DFT, e.g. 1000
private int t; // current t position of samples filled in FFT window, e.g. 0...1023
public SpectrumAnalyser(Measure measure) {
super(measure);
initFields();
XYMeterWindow gridBeamWindow = new XYMeterWindow(this);
setMeterWindow(gridBeamWindow);
// extend bottom inset for frequency scale of spectrumanalyser
gridBeamWindow.setBottomInset(20);
}
/**
* Update display plot, incremental painting
* @param sig
*/
public void plotstep(Signal sig) {
AnalogSignal aSig = (AnalogSignal) sig;
// fill sample window, amplitude is normalized to size,
// so it is corectly displayed in V/Hz
signal[t++] = aSig.getAnalogValue() / size;
// check if sample window is complete
if (t == size) {
double spectrum[] = getSpectrum(signal); // spektrum();
t = 0;
double logSpectrum[] = logSpectrum(spectrum);
plotSpectrum(logSpectrum);
}
}
private double[] logSpectrum(double[] spectrum) {
// TODO Auto-generated method stub
return spectrum;
}