Wenn du n Spektrum darstellen willst, mußt du es in den Freuqenzbereich verschieben. Dafür verwendet man bei nicht periodischen Signalen die Fourier Transformation - am Rechner heißt das Ding dann FFT oder DFT (Fast Fourier Transform bzw. diskrete Fourier Transform).
Hast du dein Signal im Frequenzbereich, mußst du es nur noch zum Betragsquadrat nehmen und die hast die Amplitude (ne reine DFT gibt dir was komplexes zurück)...
Je nach dem, wie schnell das Ding sein soll bzw wie gut du mit Schleifen bist kannst dich gerne Mal an die Formel setzten - dann brauchste die Summenschreibeweise für ne FFT (siehe Wiki)...
Ansonsten kann ich dir empfehlen, mal online nach "Flanagan, FFT, JAVA" zu googlen - das is ne echt SUPA zusammenstellung von nem Prof aus England - der hat ne richtig schöne FFT und sogar n paar Filter etc implementiert... Hatte ich damals für meine Bachelorarbeit genommen und hat wunderbar funktioniert - also echt klasse...
Hab sogar den Link noch:
http://www.ee.ucl.ac.uk/~mflanaga/java/index.html
Das war so mit das beste, was ich jeh online und frei gefunden habe...
Cheers
Nico