Гармоническое отношение
указывает параметры, использующие один или несколько hr = harmonicRatio(audioIn,fs,Name,Value)Name,Value аргументы пары.
hr = harmonicRatio(audioIn,fs,'Window',rectwin(round(fs*0.1)),'OverlapLength',round(fs*0.05)) возвращает отношение гармоник для входного аудиосигнала, дискретизированного в fs Гц. Отношение гармоник вычисляется для прямоугольных окон 100 мс с перекрытием 50 мс.Гармоническое отношение вычисляется, как описано в [1]. Следующий алгоритм применяется независимо к каждому окну аудиоданных. Нормализованная автокорреляция сигнала определяется как:
2 для (1≤m≤M)
где
s - это один кадр аудиоданных с N элементами.
М - максимальное отставание в расчете. Максимальное отставание составляет 40 мс, что соответствует минимальной основной частоте 25 Гц.
Первая оценка гармонического отношения определяется как максимум нормированной автокорреляции в заданном диапазоне:
)}
где M0 - нижний край диапазона поиска, определяемый как первое пересечение нуля нормализованной автокорреляции.
Наконец, оценка гармонического отношения улучшается с помощью параболической интерполяции, как описано в [2].
[1] Ким, Хён-Гук, Николас Моро и Томас Сикора. MPEG-7 Audio and Beyond: Индексация и извлечение аудиоконтента. John Wiley & Sons, 2005.
[2] Квадратичная интерполяция спектральных пиков. Доступ состоялся 11 октября 2018 года. https://ccrma.stanford.edu/~jos/sasp/Quadratic_Interpolation_Spectral_Peaks.html