/* From: "A SURVEY OF COMPUTATIONAL PHYSICS" by RH Landau, MJ Paez, and CC Bordeianu Copyright Princeton University Press, Princeton, 2007. Electronic Materials copyright: R Landau, Oregon State Univ, 2007; MJ Paez, Univ Antioquia, 2007; & CC Bordeianu, Univ Bucharest, 2007 Support by National Science Foundation */ // Filter.java: power spectrum, autocorrelation func for // function with random noise. Check if autocorrelation = filter? import java.io.*; import ptolemy.plot.*; public class Filter { static final int max = 4000; static double array[] = new double[max]; static double ps[]=new double[max]; static double[] Autocorr = new double[ max/2 ]; public static void main(String[] argv) { int i, n, k; double step = 2*Math.PI/1000; double dftreal[] = new double[max]; double dftimag[] = new double[max]; function(array, max); autocorr(array); fourier(dftreal,dftimag); invfourier(ps,step); //filter1(); } /*Calculate, plot power spectrum of initial function + noise using DFT */ public static void fourier(double dftreal[],double dftimag[]) { double real, imag; Plot powerspec = new Plot(); int j, k; for (j = 0; j