В настоящее время я работаю над проектом в университете, где я различаю разные инструменты, играющие ноты одного и того же тона, используя Python.
Я записывал различные ноты на разных инструментах, используя микрофон, подключенный к компьютеру.
Я также записал фон для комнаты.
До сих пор у меня есть графики для разных нот на разных инструментах, где по оси Y у меня есть амплитуда в дБ: 20 * log10 (| FFT (сигнал) |)
И по оси x у меня есть частоты дискретизации DFT
Некоторые из гармонических пиков достаточно малы (или фон достаточно велик), чтобы шум мог быть фактором - (не могу публиковать изображения, поскольку я новичок!) Моя проблема заключается в вычислении уровня неопределенности в высоте пики при учете фонового шума.
У меня вопрос:
Ну как рассчитать уровень неопределенности высоты пиков (их относительных амплитуд гармоник) при учете фонового шума.
Некоторые идеи:
Какой порог в дБ мне следует использовать при классификации того, что является гармоническим пиком, а что связано с шумом (следует ли сбрасывать со счетов пик ниже максимального фонового шума (~ 28000 дБ) или среднего значения (~ 15000), или, возможно, в два раза больше одного из этих значений)?
Кроме того, чтобы учесть шум, вносимый фоном, правомерно ли вычитать значение в ячейке БПФ n для фона из ячейки БПФ n для моей инструментальной записи?
Также я просмотрел этот пост как можно удалить шум из записанного звука с помощью fft в MATLAB?, похоже, есть очень разные мнения.
Если это уместно, я могу опубликовать отрывки из моего кода - опасаясь слишком много выкладывать в случае одноклассного плагаризма.
Будем очень признательны за ссылки на литературу, которая поможет в реализации проекта. (Все еще на стадии, когда я рисую данные всеми возможными способами, чтобы искать отличительные атрибуты для каждого инструмента).
заранее спасибо