annotate dsp/dftfmap.m @ 47:82075c94eed1

adding a bunch of stuff, including graphics and pitch toolboxes.
author samer
date Sat, 17 Jan 2015 15:20:35 +0000
parents c3b0cd708782
children
rev   line source
samer@32 1 function F=dftfmap(N,Fs)
samer@32 2 % dftfmap - Frequency map for DFT of real signal
samer@32 3 %
samer@32 4 % dftfmap :: N:natural, real ~'sampling rate' -> dmap(dftbins(N)).
samer@32 5
samer@32 6 M=dftbins(N);
samer@32 7 F=dmap(M,@map,@revmap);
samer@32 8
samer@32 9 function I=map(X)
samer@32 10 I=round(N*X/Fs);
samer@32 11 I(X<0)=-inf;
samer@32 12 I(X>Fs/2)=inf;
samer@32 13 end
samer@32 14
samer@32 15 function X=revmap(I)
samer@32 16 I=shiftdim(shiftdim(I),-1);
samer@32 17 X1=Fs*(2*I-3)/(2*N);
samer@32 18 X2=Fs*(2*I-1)/(2*N);
samer@32 19 X1(I<=1)=0;
samer@32 20 X2(I>=M)=Fs/2;
samer@32 21 X=cat(1,X1,X2);
samer@32 22 end
samer@32 23 end
samer@32 24