
5. 特徴量抽出
5.5 ゼロ交差率
ゼロ交差率は、波形が時間とともに上下に揺れるとき「0の線(基準レベル)をまたいだ回数」を短い時間ごとに数えて、その頻度を“1秒あたり”に換算した指標である。直感的には、ギザギザして高い周波数やザラついた成分が多いと0付近を頻繁に行き来するため値が大きくなり、なめらかでゆっくり揺れる正弦波のような成分が多いと小さくなる。定義は単純だが、軽量に計算でき、音声の有声/無声音の区別や音区間検出などで古くから広く使われてきた基本特徴量である。[1][2][3][4][5]
まず計算の考え方をやさしく整理する。ある短い区間(フレーム)内で、信号が負から正(または正から負)へ符号を変えた回数を数え、区間の長さで割れば“率”になる。実装では、微小なノイズによる誤カウントを避けるため、ゼロ周りに小さな無感帯(しきい値)を設けることが推奨される。また、フレームごとに平均値を引いて基線を0に合わせてから数えると、直流オフセットの影響を抑えられる。フレーム長は短すぎると交差がほとんど起きずに不安定になり、長すぎると時間変化がぼやけるため、目的に応じたバランスが必要である。[2][3][4][1]
ゼロ交差率が何を教えてくれるかを具体例で掴む。音声では、周期的でなめらかな有声音(母音など)はゼロ交差率が低く、擦れるような無声音([s]など)は高くなるため、有声/無声音の区分や音声区間検出(VAD)の手掛かりとして古くから使われてきた。これは「なめらかさ」の粗い尺度として機能するためで、100Hzの正弦波なら1秒間に約100回のゼロ交差、摩擦音のように高周波主体ならはるかに多い交差が観測されるといった説明がなされている。この性質は音楽情報処理でも打楽器的音の識別などに応用される。[3][4][5][2]
故障予知や設備音の監視でも、ゼロ交差率は軽量な先行指標として扱える。機械の運転音や摩耗が進むと高周波成分や粗さが増えてゼロ交差率が上昇することがあり、平均値や分布を監視して“通常レンジ”からの逸脱を検出する簡易な異常検知に使える。たとえば鉄道の車輪–レール界面の騒音やボルトの緩み検知などで、ゼロ交差率を含む時系列特徴群の一つとして採用・評価されている報告がある。ただし、ゼロ交差率は雑音に敏感という弱点があるため、単独で断定せず、エネルギー(RMS)や帯域エネルギー、スペクトル重心など他の特徴と組み合わせて用いるのが実務的である。[5][6][7][8]
計算の実務ポイントをまとめる。第一に、フレーム処理(短時間処理)で時間変化を追うのが基本で、フレームごとに平均を引いてゼロ中心化し、符号変化回数を数える。第二に、ゼロ近傍の小振幅に対してデッドバンド(±ε)を設け、微小ノイズで符号が“パタパタ”変わる誤検出を避ける。第三に、フレーム長とホップ(ずらし量)を目的に合わせて設定する。短いフレームは急変に敏感だがばらつきやすく、長いフレームは安定するが反応が遅いというトレードオフがある。また、ゼロ交差率は整数カウント起点の離散量なので、連続値の指標より粒度が粗くなる点を理解しておくと解釈が安定する。[1][2][3]
使いどころの代表例をいくつか示す。1) 音声区間検出(VAD):フレームごとのエネルギーとゼロ交差率を併用し、“エネルギー高×ZCR低=有声音”、“エネルギー低×ZCR高=無声音/雑音”といった簡易判定で、粗い切り分けを行う。2) 機械音の簡易監視:ラインの常時音からゼロ交差率の平均と分散を記録し、基準レンジからの逸脱を検知して上位解析(FFTや包絡解析)に回す二段構えの監視にする。3) 特徴ペアでの分離:原信号のゼロ交差率(Z1)と1階差分信号のゼロ交差率(Z2)を組にして二次元で可視化すると、運転状態のクラスタ分離が改善することがある(ゼロ交差の時間署名の発想)。[6][7][9][2][5]
限界と対策も明記しておく。ゼロ交差率は雑音に敏感で、環境ノイズや高域雑音の混入で容易に増えるため、しきい値設定や前処理(ローパス/バンドパス、平均減算)で抑える。また、どの周波数が増えたかまでは教えてくれないので、原因特定や帯域同定にはスペクトル解析(FFT/PSD)やスペクトログラムと併用する。さらに、無音に近い小振幅では偶発的な符号反転が増えやすいので、デッドバンドとともに、最小エネルギー条件(一定以下のエネルギーではカウントしない)を設ける設計が有効である。[7][10][2][3][5][1]
実装の手順を簡潔に示す。1) データ取得と基線調整:フレームごとに平均値を引いてゼロ中心化する。2) しきい値設定:±εのデッドバンドを設定し、その範囲内の変化は無視する。3) 符号反転のカウント:連続サンプルの符号の違いを数えて交差回数を得る。4) 率への換算:フレーム長とサンプリング周波数から1秒あたり(Hz)のゼロ交差率に換算する。5) 併用特徴:フレームエネルギーやスペクトル系特徴と組み合わせて、誤検知を抑える。実装の例示では、サンプルの符号変化数を数え、サンプリング周波数とフレーム長で“回数/秒”へ換算する簡潔なコードが提示されている。[4][11][2][3][5][7][1]
評価と応用の補足として、音声やMIR(音楽情報検索)では、ゼロ交差率は周期性や“ノイジーさ”の手掛かりとして定番であり、声区分や打楽器的音の識別などへの貢献が多く報告されている。計算量はO(N)で極めて軽く、埋め込み機器やリアルタイム処理に適する一方、ノイズ頑健性は前処理と併用設計に依存する。設備監視では、ゼロ交差率を“軽い一次スクリーニング”と位置づけ、異常候補区間を切り出してから、帯域RMSやピーク検出、包絡スペクトルなどの確度の高い手法で精査する流れが合理的である。[10][2][3][4][6][7]
最後に要点をまとめる。ゼロ交差率は「波形が0をまたいだ頻度」を測る簡潔な指標で、なめらかさや高周波の多さに敏感である。計算は軽く、音声の有声/無声音判定や音区間検出、設備音の簡易監視に有効だが、雑音に敏感で周波数の特定はできないため、デッドバンド・基線調整・エネルギー併用・スペクトル解析併用が実務の定石となる。この性質を理解し、しきい値と前処理を適切に設計すれば、ゼロ交差率は故障予知における初期兆候の把握と“次に詳しく観るべき区間”の抽出に役立つ軽量な一手として活用できる。[8][2][3][5][6][7][1] [1] https://www.sciencedirect.com/topics/engineering/zero-crossing-rate
[2] https://en.wikipedia.org/wiki/Zero-crossing_rate [3] https://speechprocessingbook.aalto.fi/Representations/Zero-crossing_rate.html [4] https://learnius.com/slp/4+Speech+Signal+Representations/1+Time-Domain/4+Time-Domain+Features/zero-crossing+rate [5] https://link.springer.com/chapter/10.1007/978-90-481-3660-5_47 [6] https://arxiv.org/pdf/2012.13096.pdf [7] https://www.sciencedirect.com/science/article/pii/S0957417423002397 [8] https://pmc.ncbi.nlm.nih.gov/articles/PMC12234691/ [9] https://ieeexplore.ieee.org/iel8/7361/10869829/10810281.pdf [10] https://ieeexplore.ieee.org/document/6169086/ [11] https://openae.io/standards/features/latest/zero-crossing-rate/ [12] https://wiki.aalto.fi/display/ITSP/Zero-crossing+rate [13] https://link.springer.com/article/10.1007/s00170-023-12700-7 [14] https://koreascience.kr/article/CFKO199211920225702.page [15] https://www.numberanalytics.com/blog/ultimate-guide-zero-crossing-rate-audio-signal-processing [16] https://www.sciencedirect.com/science/article/abs/pii/S0950705116301009 [17] https://www.iosrjournals.org/iosr-jvlsi/papers/vol4-issue1/Version-1/A04110105.pdf[18] https://www.sciencedirect.com/science/article/pii/S0888327025006260※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。
※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。
 
							
											
 
                         
                        
