annotate dsp/dftfmap.m @ 61:eff6bddf82e3 tip

Finally implemented perceptual brightness thing.
author samer
date Sun, 11 Oct 2015 10:20:42 +0100
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