Самый простой ответ, если вы имеете дело с короткими записями, - это прослушать их и обнаружить «треск» (короткий звук с шипами) при воспроизведении. Однако более надежным решением является анализ частотного спектра записи.
Напомним, что когда сигнал обрезается при некотором пороге, он локально напоминает прямоугольную волну в обрезанных областях. Это вводит высшие гармоники в частотный спектр, которых не было бы изначально. Если ваш сигнал имеет ограниченную полосу пропускания (большинство сигналов реального мира), и вы производите выборку значительно выше частоты Найквиста, то это ясно как день.
Вот короткий пример в MATLAB, демонстрирующий это. Здесь я создаю сигнал с полосой пропускания длительностью 1 с, сэмплированный с частотой 1000 Гц, а затем обрезаю его между ±0.8
(см. Верхний график на рисунке ниже)
time = 0:0.001:1;
cleanSignal = sin(2*pi*75*time).*chirp(time,50,1,200);
clippedSignal = min(abs(cleanSignal),0.8).*sign(cleanSignal);
Вы можете четко видеть, что частотный спектр исходной несогласованной формы сигнала является чистым и стремится к нулю за пределами полосы пропускания (внизу слева), тогда как в ограниченном сигнале наблюдается общее незначительное искажение спектра (ожидается, если оно ограничено) и большинство важно, что высшие гармоники / пики / ненулевые вклады в спектре за пределами полосы пропускания сигнала (справа внизу).
Как правило, это может быть лучшим подходом, поскольку обнаружение отсечения путем просмотра значений обычно не является точным, если только вы сами не спроектировали оборудование и точно не знаете значение порога.