n = input('Enter number of data points: '); t = (2*pi/n)*(0:(n-1)); x = cos(t) + 2*sin(2*t) - sin(3*t); %Generate a simple signal x = x + 0.1*(-1+2*rand(1,length(x))); %Add random noise to the signal. z = fft(x); m = (n-1)/2; a = real(2*z(1:m+1)/n); %Recover frequency content of signal. b = -imag(2*z(2:m+1)/n);