Mercurial > hg > gccphat-windowing
diff Simulation/runAnalysis_filteredNoise_simulation.m @ 0:ab043bd3b162 tip
First commit
author | Alice Clifford <alice.clifford@eecs.qmul.ac.uk> |
---|---|
date | Mon, 11 Jun 2012 17:42:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Simulation/runAnalysis_filteredNoise_simulation.m Mon Jun 11 17:42:13 2012 +0100 @@ -0,0 +1,88 @@ +%Script to run delay estimation analysis of filtered white noise at various +%bandwidths and with different window shapes + + +% Developer: - Alice Clifford (alice.clifford@eecs.qmul.ac.uk) + + + +clear all +close all + +addpath ../Functions + +Fs=44100; +T=10; + + +winShapes={ + 'blackman', + 'blackmanharris', + 'flattopwin', + 'gausswin', + 'hamming', + 'hann', + 'rectwin', + }; + + +ds=10; %simulated delay (samples) + +input=randn((T*Fs)+ds+1,1); +input=input./max(abs(input)); %white noise input + +centreFreq=[0 11025 22050]; %centre frequencies (LP, BP, HP) + +bandWidth=logspace(1,5,500); %bandwidths + +bandWidth=(bandWidth(bandWidth>50)); +bandWidth=bandWidth(bandWidth<22050); +bandWidth=round(bandWidth); + + +percHits=zeros(length(bandWidth),length(centreFreq)); + +filterOrder=4; +freqVec=linspace(0,Fs,length(input)); + +frameSize=2048; +hopSize=frameSize/4; + + +for w=1:length(winShapes) + + for n=1:length(centreFreq) + + for m=1:length(bandWidth) + + + [w n m] + %CREATE FILTERED NOISE VECTOR FROM CENTRE FREQ AND BANDWIDTH + filtNoise=createFiltNoise(input,centreFreq(n),bandWidth(m),filterOrder,Fs); + + %CREATE DELAYED SIGNAL + x=zeros(length(filtNoise),2); + + x(:,1)=filtNoise; + x(:,2)=filter([zeros(ds,1);1],1,filtNoise); + + x=x(ds+1:end,:); + + + delayVec=gccPHATFunc_win(x,frameSize,hopSize,winShapes{w}); + percHitsMat(n,m)=percCorr(delayVec,ds,2); + + + end + + + end + clear x filtNoise + + %save(strcat('Results/noiseExpandBand_',winShapes{w})); %uncomment to + %save data + +end + +toc +