FFT function isn't working on imported signals greater than a second
Here a short example of how to deal with FFT in octave/matlab:

function freq(npts, len, basefreq)
    x = [0 : npts - 1] / npts * len;
    y = sin(basefreq * x * 2 * pi);
    F = abs(fft(y));
    half = npts / 2;
    F = F(1 : half);
    plot([0 : half - 1] / len, F);
    printf("Base frequency = %g\n", (find(F == max(F)) - 1) / len);
endfunction


try this function with different parameters.

Here npts is size of data vector; len - time length of data (in seconds); basefreq - base frequency for sine function.
First we fit a time axe (x), after that we calculate sinusoid with given frequency, get modulus of its FFT, trim it to half (BTW, another variant is not to trim, but to move frequency zero to middle of fftshift'ed data). After all we plot result of FFT and print out founded base frequency.