Как повысить качество звука с помощью цифровой интерполяции
Я хочу взять массив с N числом точек аудиоданных и увеличить его так, чтобы было L*N точек. Я понимаю, что точный способ сделать это - заполнить нулевые точки L-1 между каждой исходной точкой и затем пропустить сигнал низких частот. В соответствии с этим 4-минутным видео https://www.youtube.com/watch?v=sJslC6TuCoc я должен использовать низкие частоты на частоте Pi / L, а затем добавить усиление L к результату, чтобы должным образом повысить частоту моего сигнала. У меня проблемы с этим низким шагом, и мой звуковой сигнал результата вообще не слышен. Может ли кто-нибудь помочь мне здесь? Является ли этот "нижний проход" действительно больше похожим на полосовой фильтр или что-то в этом роде?
Мой алгоритм нижних частот отмечен здесь (передаточная функция биквада с коэффициентами, помеченными как "LPF"): http://music.columbia.edu/pipermail/music-dsp/1998-October/054185.html
1 ответ
Вы можете интерполировать все добавленные точки, используя высококачественный алгоритм интерполяции, такой как многофазный оконный фильтр Sinc FIR.