Harmonic to noise ratio calculation

23 次查看(过去 30 天)
How can i calculate the harmonic to noise ratio of a signal?

回答(3 个)

Chinmay Anand
Chinmay Anand 2019-6-28
You can look into this link for this.
  2 个评论
Khandaker Noman
Khandaker Noman 2019-6-28
Actually this calculates SNR, is there any function to calculate HNR?

请先登录,再进行评论。


KALYAN ACHARJYA
KALYAN ACHARJYA 2019-6-28
编辑:KALYAN ACHARJYA 2019-11-16
You can use this custom function to calculate harmonic to noise ratio (HNR)
To understand in detail theory, read here
  5 个评论
mariem khrissi
mariem khrissi 2020-11-25
does noofframes correspond to the number of frames ??
Manuel Brandner
Manuel Brandner 2020-12-19
编辑:Manuel Brandner 2020-12-19
noofframes equals signalblocks. in matlab you can use buffer to chop the signal into blocks with or without a certain overlap. Each signal block is then used in the HNR code to calculate the autocorrelation. After that the first zero crossing of the normalized autocorrelation is searched for. The maximum peak value is searched for with the max function and the sample position is then used (in the best case this gives you also the underlying fundamental frequency = fs/samplepos).
the energy at this position compared to the overall energy (value of the autocorrelation at index = 1) gives you the harmonic to noise ratio.
or for the normalized autocorrelation:
drawbacks as far as I understand it are:
  • pitch dependency
  • accuracy decreases if the signal gets more complex (in speech for example formants)
  • SNR has an influence on the values in terms of comparison of several measurement situations

请先登录,再进行评论。


Li feng
Li feng 2019-11-16
what is noOfFrames?
  1 个评论
KALYAN ACHARJYA
KALYAN ACHARJYA 2019-11-16
Please write the comment in comment section only (Just below the answer).

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by