Matlab. Filter FFT data to octave-band and fractional octave-band.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
José Manuel Requena Plens b41fcd6d45
Output in RMS
2 years ago
.github Create Push File.yml 2 years ago
.gitignore Create .gitignore 2 years ago
FFT2octave.m Output in RMS 2 years ago
LICENSE Initial commit 2 years ago
README.md Update README.md 2 years ago
getANSIfrequencies.m Update getANSIfrequencies.m 2 years ago

README.md

FFT2octave

Matlab. Filter FFT data to octave-band and fractional octave-band.

Use

More information about generation of central frequencies on my repository: getANSIfrequencies

[Oct,fc,fl,fu] = FFT2octave(f,fftdata,b,varargin)

The first two inputs are the FFT, f is the frequency array and fftdata is the fft values.

The third input is the bandwidth:

  • b=1 One-octave band.
  • b=3 Third-octave band.
  • b=2 Half-octave band.
  • b=3/2 2/3-octave band.
  • b=24 1/24-octave band.

Optional inputs

The fourth input indicates whether the FFT data is linear '' or logarithmic 'dB'.

The fifth input only affects when the value of b is 1 or 3. It indicates whether you want the normalized or calculated frequencies. By default they are calculated (false).

Examples of use

% To get in one-octave frequencies
[Oct,fc,fl,fu] = FFT2octave(f,fftdata,1)
% To get in one-octave frequencies if the data is in dB
[Oct,fc,fl,fu] = FFT2octave(f,fftdata,1,'dB')
% To get in one-octave frequencies normalized if the data is in dB
[Oct,fc,fl,fu] = FFT2octave(f,fftdata,1,'dB',true)
% To get in third-octave frequencies
[Oct,fc,fl,fu] = FFT2octave(f,fftdata,3)