bearing_defect_frequencies — ACOUSTICS bearing op

資料種類:table(僅由參數決定的運算子 —— 不接受影像或資料輸入)

呼叫:import acoustics; acoustics.bearing_defect_frequencies(rpm=1800.0, n_elements=9, element_diameter=8.0, pitch_diameter=40.0, contact_angle_deg=0.0)(或 opsacoustics.get("bearing_defect_frequencies"))

用法

由幾何求滾動軸承的四個特徵頻率。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

Derived, not tabulated. Under pure rolling the cage advances at half the sum

of the race surface speeds, which with `r = d/D cos(alpha)` gives, per

shaft revolution rate `f_r = rpm/60`:

• `FTF (cage / fundamental train) = f_r (1 - r) / 2`

• `BPFO (ball pass, outer race) = N f_r (1 - r) / 2 = N * FTF`

• `BPFI (ball pass, inner race) = N f_r (1 + r) / 2`

• `BSF (ball spin) = f_r (1 - r^2) D / (2 d)`

Two exact identities fall out and are asserted in the tests, because they

catch a transposed `d and D immediately: BPFO + BPFI = N f_r`

exactly, and `BPFO = N * FTF` exactly. Measured for the defaults

(1800 rpm, 9 elements, d = 8, D = 40, alpha = 0): `ratio = 0.200000`,

`f_r = 30.000000, FTF = 12.000000, BPFO = 108.000000`,

`BPFI = 162.000000, BSF = 72.000000` Hz, with

`BPFO + BPFI - 9 f_r = 0.000e+00 and BPFO - 9 FTF = 0.000e+00` —

exactly zero in float64, not merely small.

Returns a dict with `shaft_hz, ftf_hz, bpfo_hz, bpfi_hz`,

`bsf_hz, ratio (d/D cos alpha`), and the inputs echoed back.

Also `bsf_hz_2x`: a rolling element normally strikes *both* races per

spin, so a spall on the element itself is usually seen at `2 * BSF`, and

reporting only `BSF` is the classic way to miss it.

These are the no-slip kinematic rates. Real bearings slip by roughly a

percent, so an observed line within about 1 % of one of these is a match and

an exact match is a coincidence; that tolerance is the caller's to apply.

Raises `ValueError: non-real / string / bool scalars, rpm <= 0`,

`n_elements` not an int >= 2, non-positive diameters, an

`element_diameter >= pitch_diameter` (geometrically impossible — the

rolling elements would not fit inside the pitch circle, and the usual cause

is the two arguments being swapped, which otherwise returns a negative FTF

and a plausible-looking BPFI), and `|contact_angle_deg| >= 90`.

詳細使用指南

acoustic_condition_monitoring 族使用指南

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南

可執行的範例(實際呼叫該運算子並已驗證的樣例)

acoustic_condition_monitoringpy -3.11 examples/acoustic_condition_monitoring.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

istft

同類別(bearing)

envelope_spectrum · spectral_kurtosis · cepstrum


*Provenance: acoustics.py — ACOUSTICS 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.