Najprostszą odpowiedzią, jeśli masz do czynienia z krótkimi nagraniami, jest ich odsłuchanie i wykrycie „trzaskania” (krótkiego, wzbogaconego dźwięku) podczas odtwarzania. Jednak bardziej niezawodnym rozwiązaniem jest analiza widma częstotliwości nagrania.
Przypomnij sobie, że gdy sygnał zostaje obcięty na pewnym progu, lokalnie przypomina falę kwadratową w przyciętych obszarach. Wprowadza to wyższe harmoniczne w widmie częstotliwości, które nie byłyby tam pierwotnie. Jeśli twój sygnał jest ograniczony pasmem (większość sygnałów w świecie rzeczywistym) i próbujesz znacznie powyżej wskaźnika Nyquista, to jest to dość wyraźne jak dzień.
Oto krótki przykład demonstrujący to w MATLAB. Tutaj tworzę pasmowy sygnał o czasie trwania 1s, próbkowany z częstotliwością 1000 Hz, a następnie przypinam go pomiędzy ±0.8
(patrz górny wykres na poniższym rysunku)
time = 0:0.001:1;
cleanSignal = sin(2*pi*75*time).*chirp(time,50,1,200);
clippedSignal = min(abs(cleanSignal),0.8).*sign(cleanSignal);
Widać wyraźnie, że widmo częstotliwości pierwotnego, nielippedowanego przebiegu jest czyste i dochodzi do zera poza pasmem (lewy dolny róg), podczas gdy w sygnale obciętym występuje ogólne niewielkie zniekształcenie widma (oczekiwane w przypadku obcięcia) i większość co ważne, wyższe harmoniczne / skoki / niezerowe udziały w widmie poza pasmem sygnału (prawy dolny róg).
Zasadniczo może to być lepsze podejście, ponieważ wykrywanie obcinania na podstawie wartości nie jest na ogół dokładne, chyba że sam zaprojektowałeś sprzęt i dokładnie znasz wartość progu.