Detta kan du klistra in i en m-fil. Sedan döper du m-filen till exempelvis 'minfft.m' och sparar i din work-mapp. För att anropa m-filen skriver du helt enkelt 'minfft' i kommandofönstret.
% Exempel på FFT i matlab. Förutsätter float32-kodad mono-fil.
% Samplingsfrekvens
Fs=44100;
% Upplösning på FFT i bitar.
% Ex 10 bitar = 1024 punkters upplösning
Bits=10;
% Eftersom filen vi skall läsa kan vara i vilket format som helst,
% ser vi till att öppna vår fil binärt. Då gör man så här:
File_ID=fopen('G:\minfil.raw','r');
% nu kan vi läsa innehållet filen,
% alla samples läggs i en vektor "samples".
samples=fread(File_ID,inf,'float32');
% Periodtid sampling
Ts=1/Fs;
% Antal sampel i filen
N=length(samples);
% Skapa tidsvektor
t=0:Ts:Ts*N-Ts;
% Skapa frekvensvektor upp till Fs/2 (Nyquist)
f=0:(Fs/2)/2^(Bits-1):Fs/2-(Fs/2)/(2^Bits-1);
% Plotta först originalsamplingen rätt upp och ner, i en övre graf
subplot(2,1,1);plot(t,samples);
% The magic
X=fft(samples,2^Bits);
% Plottar i en undre graf absolutbeloppen av första halvan av fft'n. Absolutbelopp ty fft ger en real- och en imaginärdel.
% Den andra halvan av fft'n är ändå bara spegling av den första.
subplot(2,1,2); semilogx(f,abs(X(1:2^(Bits-1))))
Döds-lita inte på det här - jag är lite trött - men det ger ändå ett humm om hur upplägget ser ut.