語音的SNR計算以及降噪後的計算

SNR計算
S1 = 原始乾淨語音
N1 = 噪聲.
S2 = S1 + N1 (帶噪語音)
S3 = 增強後的語音(使用某種算法降噪)
N2 = S3 - S1 (增強後語音中的殘留噪聲)
SNR的計算公式爲(dB)
SNR=10log10signal2noise2 SNR = 10{\log _{10}}\frac{{{{\left\| {signal} \right\|}^2}}}{{{{\left\| {noise} \right\|}^2}}}

SDR的計算公式爲
SDR=10log10Xc2XXc2 SDR = 10{\log _{10}}\frac{{{{\left\| {Xc} \right\|}^2}}}{{{{\left\| {X - Xc} \right\|}^2}}}
其中XcX_c爲帶噪語音中的乾淨分量,XX爲帶噪語音,XcXX_c - X爲帶噪語音中的噪聲分量。計算SNR提升量:
SNR(afterEnhanced)SNR(beforeEnhanced)=10log10S12N2210log10S12N12 SNR(afterEnhanced) - SNR(beforeEnhanced) = 10{\log _{10}}\frac{{{{\left\| {S1} \right\|}^2}}}{{{{\left\| {N2} \right\|}^2}}} - 10\log 10\frac{{{{\left\| {S1} \right\|}^2}}}{{{{\left\| {N1} \right\|}^2}}}
SDR(afterEnhanced)SDR(beforeEnhanced)=10log10S12S3S1210log10S12S2S12=10log10S12N2210log10S12N12 \begin{array}{l} SDR(afterEnhanced) - SDR(beforeEnhanced) = 10{\log _{10}}\frac{{{{\left\| {S1} \right\|}^2}}}{{{{\left\| {S3 - S1} \right\|}^2}}} - 10\log 10\frac{{{{\left\| {S1} \right\|}^2}}}{{{{\left\| {S2 - S1} \right\|}^2}}}\\ = 10{\log _{10}}\frac{{{{\left\| {S1} \right\|}^2}}}{{{{\left\| {N2} \right\|}^2}}} - 10\log 10\frac{{{{\left\| {S1} \right\|}^2}}}{{{{\left\| {N1} \right\|}^2}}} \end{array}
從公式上看,兩者完全相同。
SDR是(輸入信號的功率)和(輸入信號與增強信號之差的功率比),與SNR是一樣的,在語音增強中,他們都反應了整體的性能。SDR的性能可以反應SNR的性能.
另外,在下面文獻中也有類似的結論

Huang, Po-Sen, et al. “Joint optimization of masks and deep recurrent neural networks for monaural source separation.” IEEE/ACM Transactions on Audio, Speech, and Language Processing (TASLP) 23.12 (2015): 2136-2147.

在這裏插入圖片描述
SDR是輸入信號的功率與輸入信號與重構信號之差的功率之比。因此,SDR與經典的測量“信噪比”(SNR)完全相同,SDR反映了整體的分離性能。

發佈了21 篇原創文章 · 獲贊 2 · 訪問量 3833
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章