短い録音を扱う場合の最も簡単な答えは、それを聞いて、再生中の「ポップ」(短いスパイク音)を検出することです。ただし、より堅牢なソリューションは、録音の周波数スペクトルを分析することです。
信号があるしきい値でクリップされると、クリップされた領域の方形波に局所的に似ていることを思い出してください。これにより、元々存在しなかった高周波数が周波数スペクトルに導入されます。信号が帯域制限され(ほとんどの実世界の信号が制限されている)、ナイキストレートをはるかに超えてサンプリングしている場合、これは日として非常に明確です。
これを示すMATLABの短い例を次に示します。ここでは、持続時間1秒の帯域制限信号を作成し、1000Hzでサンプリングしてから、その間にクリップします±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);
クリッピングされていない元の波形の周波数スペクトルはきれいで、帯域幅の外側(左下)でゼロになりますが、クリッピングされた信号では、スペクトルの一般的な軽度の歪み(クリッピングされた場合に予想される)重要なのは、信号の帯域幅外のスペクトルにおける高調波/スパイク/非ゼロの寄与です(右下)。
機器を自分で設計し、しきい値の値を正確に知っていない限り、値を見てクリッピングを検出することは一般に正確ではないため、これは一般に優れたアプローチです。