
3. 基本的な信号処理手法
3.11 ゼロ交差率の活用例
ゼロ交差率は、音の波形が時間とともに上下に揺れるとき、「波形がゼロの線(基準の0レベル)を何回またいだか」を数えた指標である。短い時間ごと(フレームごと)にこの回数を数え、1秒あたりに直せば「ゼロ交差率(Zero Crossing Rate: ZCR)」になる。直感的には、高い周波数成分やザラついた雑音が多いとゼロ付近を頻繁に行き来するためZCRは大きくなり、ゆっくり滑らかな正弦波のような信号では小さくなる。この性質はとても基本的だが、軽量・高速に計算できるため、音声や機械音の前処理や簡易な異常検知、無音検出などで広く使われてきた。[1][2][3][4][5][6]
まず音声処理の代表的な使い方は、区間の判定である。録音データを細かい時間で区切り、各フレームのZCRとエネルギー(信号パワー)を見比べると、「声が入っている区間」「無音または雑音中心の区間」を自動で分けやすくなる。一般に、無声音や摩擦音のように高周波成分が多い部分はZCRが高く、有声音のように明確な基本周波数をもつ部分ではZCRが低く出る傾向がある。そのため、ZCRにしきい値を設け、エネルギーと組み合わせれば、音声区間検出(VAD)の軽量なベースラインが簡単に構成できる。また、実務ではゼロ付近の微小な揺れを誤カウントしないよう、ゼロの代わりに小さなバイアス範囲を設定して、その範囲内の交差は数えない工夫を入れることが多い。[2][3][4][7][1]
次に、機械音・設備診断への応用である。ZCRは「音の粗さ」「高周波の多さ」に敏感なため、モータやファンの運転音が普段と違う領域へ移ったかどうかを、簡単な先行指標として捉えることができる。例えば、ある研究ではモータの運転状態ごとにZCRの平均値が異なる帯に分かれることが示され、過電圧、低電圧、相欠相などの状態でZCRの代表値が系統的に違う範囲を取ることが報告されている。このように、ZCRの平均や分布を監視し、正常時のレンジを外れたらアラートとするシンプルな監視は、演算量が小さく組み込みもしやすい利点がある。他方で、ZCRは周波数構成に依存しやすく、パワーレベルには比較的頑健だが、環境雑音の影響は受けやすい指標でもあるため、専用の前処理や他特徴との併用が望ましい。[7][6]
ZCRは、より古典的な故障検知でも活用されてきた。ゼロ交差率そのもの(Z1)と、1階差分信号のゼロ交差率(Z2)の組で信号を2次元に配置すると、正常と異常が異なるクラスタとして分かれるケースが示されている。この(Z1, Z2)空間での分離は、系の支配的な共振(極)に対する感度があると報告され、良否判定の判別指標として有効性が示された。時間領域だけで完結し、計算が軽いことから、オンラインの一次スクリーニングに向くのがZCRの強みである。[8]
燃焼や構造の分野でも、ZCRは非定常の不安定化や異常の兆しに反応しやすい簡易指標として検討されている。たとえば燃焼系では、燃焼不安定時の圧力や騒音の波形が微細に振動するため、ZCRを用いた診断が有効なケースが報告されている。また、ディーゼル機関等の振動信号に対し、ゼロ交差の時間情報をサインチャ(署名)として利用する時間領域法の適用も示されており、フーリエ変換に頼らず時系列の微細な変化を捉えるアプローチの一つとして位置づけられている。[9][10]
実装上のポイントを整理する。第一に、ZCRはフレーム長としきい値の選び方で挙動が変わる。短いフレームは時間変化に敏感だが値のばらつきが増え、長いフレームは安定するが変化の検出が遅れる。音声VADでは数十ミリ秒程度の窓が用いられ、ZCRとエネルギーを併用して誤判定を抑えるのが定石である。第二に、無音に近い小振幅雑音での誤カウントを抑えるため、±εのデッドバンド(小さな無感帯)を設けて、その範囲内での符号反転はゼロ交差として扱わない設定が一般的である。第三に、設備監視では、ZCRの平均値や分散、ヒストグラムの形状を「正常の指紋」として保存し、同一条件での新データと比較して逸脱を監視するのが合理的である。[3][6][2][7]
ZCRの限界と対策も明確にしておきたい。ZCRは「周波数が高い」「雑音が多い」ほど大きくなるため、環境雑音の混入で容易に数が増える。このため、単独では誤検知が出やすく、実用ではエネルギー(信号パワー)、スペクトル重心、帯域エネルギー、ゼロ交差の微分といった他の特徴と併用して判定する設計が推奨される。さらに、ZCRは「どの周波数が増えたか」を教えてくれないため、異常の特定・原因推定にはスペクトル解析(FFT/PSD)やスペクトログラム、エンベロープ解析などの周波数ベースの手法と組み合わせるのが効果的である。加えて、AE(アコースティックエミッション)のような高周波イベントを扱う場合には、短時間エネルギー(STE)とZCRを併用する区間検出(活動検出)の枠組みも提案されている。[6][11][12][13][1][2][7]
現場での具体例をいくつか挙げる。- 音声区間検出(VAD): 30ms前後の窓でZCRとパワーを計算し、しきい値で「声あり/なし」を判定することで、音声認識の前処理を高速化し、誤認識を減らす。- ライン監視の簡易異常検出: ベルト搬送や小型モータの常時音からZCRの平均値を取り、日常のレンジを外れたら「状態変化あり」として上位解析(FFTやAI)に回す二段構えの監視に活用する。- 故障クラスタリング: (Z1, Z2)=(原信号のZCR、1階差分のZCR)を2次元特徴としてk近傍法等で良否を分離し、軽量なエッジ推論に用いる。- 安全監視のイベント検出: 転倒音や衝突音など、瞬間的で高周波成分の多い事象はZCRが急上昇しやすく、他の特徴(LPC系、スペクトル傾斜)と組み合わせた検出フローで活用される。[14][2][3][8][6]
実装の勘どころとしては、- 前処理で帯域制限(ローパス/バンドパス)を入れ、不要な超高域ノイズを抑える。- ZCR計算は符号反転の回数をカウントするが、連続する0値や±εの遊びを設ける。- 指標は平均だけでなく分散・ゆらぎ(移動標準偏差)も併せて監視し、安定運転からの逸脱を捉える。- 判定は単一しきい値だけでなく、エネルギー×ZCRの2次元ルールや、正常データだけで学習する外れ値検知の前段特徴として使う。これらを押さえると、ZCRは「軽い一次スクリーニング」として非常に扱いやすい。[15][2]
最後に、ZCRは万能な故障識別器ではないが、「軽い・速い・実装しやすい」ゆえに、前段の区間検出、異常候補の切り出し、簡易な正常レンジ監視などに適する基本指標である。原因推定や根拠の強い判断には、スペクトルや時間周波数解析、包絡解析などの手法と組み合わせることで、誤検知を抑え、見逃しを減らす堅実な監視設計につながる。現実的な導入手順としては、対象機器ごとに運転条件をそろえてZCRの基準レンジを作り、エネルギーやPSDとともにトレンド監視し、逸脱時に詳細解析へつなぐ二段階構成が有効である。[13][1][2][6] [1] https://tips-memo.com/python-zero-crossings
[2] https://www.ai-shift.co.jp/techblog/1093 [3] https://yhayato1320.hatenablog.com/entry/2022/11/25/151622 [4] https://lets-programing.com/%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E9%9F%B3%E5%A3%B0%E7%89%B9%E5%BE%B4%E9%87%8F%E3%81%AF%E4%BD%95%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E3%82%8F%E3%82%8C%E3%82%8B%E3%81%AE%E3%81%8B%EF%BC%9F/ [5] https://zenn.dev/sergicalsix/articles/749858bc01d8a0 [6] https://pe.org.pl/articles/2025/6/2.pdf [7] https://core.ac.uk/download/pdf/190320553.pdf [8] https://www.nijotech.com/index.php/nijotech/article/view/409 [9] https://www.sciencedirect.com/science/article/abs/pii/S0894177720308384 [10] https://ieeexplore.ieee.org/iel8/7361/10869829/10810281.pdf [11] https://service.ai-prompt.jp/article/ai365-308/ [12] https://www.mathworks.com/matlabcentral/fileexchange/111835 [13] https://upcommons.upc.edu/bitstream/handle/2117/179899/YMSSP%20106753%20Manuscript.pdf?sequence=1&isAllowed=y [14] https://speakerdeck.com/coolerking/yin-sheng-yi-chang-jian-zhi-wotamesitemiyou-shen-jin-nayin-sheng-wolu-yin-site-yin-sheng-yi-chang-jian-zhi-moderunikaketemiyou [15] https://www.ai-j.jp/products/aispect/ [16] https://fast-d.hmcom.co.jp [17] https://www.jstage.jst.go.jp/article/jasj/48/7/48_KJ00001456497/_pdf [18] https://www.holdings.toppan.com/ja/news/2023/03/newsrelease230314_1.html [19] https://researchmap.jp/yasuhiro_omiya/misc/26759633 [20] https://www.sciencedirect.com/science/article/abs/pii/S0378779612001794※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。
※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。