samer@32: function F=dftfmap(N,Fs) samer@32: % dftfmap - Frequency map for DFT of real signal samer@32: % samer@32: % dftfmap :: N:natural, real ~'sampling rate' -> dmap(dftbins(N)). samer@32: samer@32: M=dftbins(N); samer@32: F=dmap(M,@map,@revmap); samer@32: samer@32: function I=map(X) samer@32: I=round(N*X/Fs); samer@32: I(X<0)=-inf; samer@32: I(X>Fs/2)=inf; samer@32: end samer@32: samer@32: function X=revmap(I) samer@32: I=shiftdim(shiftdim(I),-1); samer@32: X1=Fs*(2*I-3)/(2*N); samer@32: X2=Fs*(2*I-1)/(2*N); samer@32: X1(I<=1)=0; samer@32: X2(I>=M)=Fs/2; samer@32: X=cat(1,X1,X2); samer@32: end samer@32: end samer@32: