Harmonic to noise ratio calculation
13 ビュー (過去 30 日間)
古いコメントを表示
How can i calculate the harmonic to noise ratio of a signal?
0 件のコメント
回答 (3 件)
KALYAN ACHARJYA
2019 年 6 月 28 日
編集済み: KALYAN ACHARJYA
2019 年 11 月 16 日
To understand in detail theory, read here
5 件のコメント
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/465775/image.png)
or for the normalized autocorrelation:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/465780/image.png)
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
2019 年 11 月 16 日
what is noOfFrames?
1 件のコメント
KALYAN ACHARJYA
2019 年 11 月 16 日
Please write the comment in comment section only (Just below the answer).
参考
カテゴリ
Help Center および File Exchange で Audio Processing Algorithm Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!