aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Enderby <sean.enderby@gmail.com>2014-02-24 13:00:25 +0000
committerSean Enderby <sean.enderby@gmail.com>2014-02-24 13:00:25 +0000
commite4ec6cf645cde04c282c138eaf1ed5856d5db3b3 (patch)
tree956013ddf1e6372f222978735cf9d05891baa030 /src
parentffcf1903a1e7df4d56b0e6b931cc38ea6de217a2 (diff)
downloadLibXtract-e4ec6cf645cde04c282c138eaf1ed5856d5db3b3.tar.gz
LibXtract-e4ec6cf645cde04c282c138eaf1ed5856d5db3b3.tar.bz2
LibXtract-e4ec6cf645cde04c282c138eaf1ed5856d5db3b3.zip
correction to xtract_spectral_inharmonicicty
Diffstat (limited to 'src')
-rw-r--r--src/scalar.c5
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]);
}
}