Mercurial > hg > gccphat-windowing
view Simulation/createFiltNoise.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 source
function [output]=createFiltNoise(input,centreFreq,bandWidth,filterOrder,Fs) % create filtered noise for bandwidth simulation % % Input: % - input: input to be filtered % - centreFreq: centre frequency or cutoff frequency % - bandWidth: width of filter % - filterOrder: order of butterworth filter (4) % - Fs: sampling frequency (44100) % % Output: % - output: array % % Developer: - Alice Clifford (alice.clifford@eecs.qmul.ac.uk) if centreFreq==0 %LOW PASS FILTER FOR CENTRE FREQ ==0 cutoffFreq=bandWidth; normCutFreq=(cutoffFreq/(Fs/2)); [b,a]=butter(filterOrder,normCutFreq,'low'); output=filter(b,a,input); elseif centreFreq==22050 %HIGH PASS FILTER FOR CENTREFREQ == FS/2 cutoffFreq=(Fs/2)-bandWidth; normCutFreq=(cutoffFreq/(Fs/2)); [b,a]=butter(filterOrder,normCutFreq,'high'); %HIGH PASS FILTER output=filter(b,a,input); else% %BAND PASS - NEED LOW AND HIGH PASS lowBandFreq=centreFreq-(bandWidth/2); highBandFreq=centreFreq+(bandWidth/2); highNormBandFreq=(highBandFreq/(Fs/2)); lowNormBandFreq=(lowBandFreq/(Fs/2)); [b,a]=butter(filterOrder,[lowNormBandFreq highNormBandFreq]); output=filter(b,a,input); end