diff options
author | Sean Enderby <sean.enderby@gmail.com> | 2014-02-24 13:00:25 +0000 |
---|---|---|
committer | Sean Enderby <sean.enderby@gmail.com> | 2014-02-24 13:00:25 +0000 |
commit | e4ec6cf645cde04c282c138eaf1ed5856d5db3b3 (patch) | |
tree | 956013ddf1e6372f222978735cf9d05891baa030 /src/scalar.c | |
parent | ffcf1903a1e7df4d56b0e6b931cc38ea6de217a2 (diff) | |
download | LibXtract-e4ec6cf645cde04c282c138eaf1ed5856d5db3b3.tar.gz LibXtract-e4ec6cf645cde04c282c138eaf1ed5856d5db3b3.tar.bz2 LibXtract-e4ec6cf645cde04c282c138eaf1ed5856d5db3b3.zip |
correction to xtract_spectral_inharmonicicty
Diffstat (limited to 'src/scalar.c')
-rw-r--r-- | src/scalar.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/scalar.c b/src/scalar.c index 2e93934..47d3a8f 100644 --- a/src/scalar.c +++ b/src/scalar.c @@ -623,7 +623,7 @@ int xtract_rms_amplitude(const double *data, const int N, const void *argv, doub int xtract_spectral_inharmonicity(const double *data, const int N, const void *argv, double *result) { - int n = N >> 1; + int n = N >> 1, h = 0; double num = 0.0, den = 0.0, fund; const double *freqs, *amps; @@ -635,7 +635,8 @@ int xtract_spectral_inharmonicity(const double *data, const int N, const void *a { if(amps[n]) { - num += fabs(freqs[n] - n * fund) * XTRACT_SQ(amps[n]); + h = round(freqs[n] / fund); + num += fabs(freqs[n] - h * fund) * XTRACT_SQ(amps[n]); den += XTRACT_SQ(amps[n]); } } |