Currently, for generating FFT on the data received from ACS712,i used the following method: first the data is sent to the Processing IDE from the sensor via arduino. the processing code converts the data into a text file, the text file is then loaded into matlab and fft is plotted. Are there any other ways of plotting FFT? can arduino be used to directly generate FFT from the data received?
Yes, it is possible to calculate the FFT directly on the Arduino if the data rate is slow enough, if you don't need full float/double precision and if you don't need an excessive number of bins.
You have not written anything about your data rate, the required precision, or the number of bins, so it's impossible to answer if it's good enough for your needs.
Maybe you can compare your current code with the numbers on ArduinoFFT and figure out if it's good enough.