26

주파수 분석: FFT와 PSD

Day 2: 시계열 센서 데이터 처리

학습 목표
  • FFT의 원리와 진동 분석에서의 활용을 이해한다
  • scipy.signal로 PSD를 계산할 수 있다
  • 주파수 도메인에서 고장 특성 주파수를 식별할 수 있다

주파수 분석 (FFT / PSD)

시간 도메인에서 보이지 않는 고장 패턴을 주파수 도메인에서 찾는다.

시간 축의 복잡한 진동을 주파수 축으로 옮기면 성분이 갈린다

왜 주파수 분석이 필요한가

[시간 도메인 한계]

시간 도메인 신호:
~~~/\/\/\/\/\/\/\/~~~  → "진동이 크다" (그게 다?)

주파수 도메인 (FFT):
  |                     → 100Hz: 1x 회전 주파수
  |    |                → 200Hz: 2x (정수배)
  |    |         |      → 356Hz: BPFO = 3.56x (비정수배)
──────────────────────
100  200  300  400 Hz

→ "2x 가 1x 를 넘었으면 정렬 불량, 비정수 3.56x 가 섰으면 외륜 결함"

차수(order)로 읽는다

피크의 자리는 Hz 가 아니라 회전수의 몇 배인가로 읽는다. 이것을 차수(order, x)라 하며, 회전수가 달라져도 같은 고장은 같은 차수에 나타나므로 설비끼리 비교할 수 있다.

무엇이 보이는가정수 / 비정수무엇을 뜻하는가
1x 단독 우세정수질량 불평형(언밸런스). 2x 는 보통 1x 의 30% 미만
2x 가 1x 를 넘음정수축 정렬 불량(미스얼라인먼트). 각도 정렬 불량이면 축방향 2x 도 커진다
1x~4x 정수배 다발정수기계적 느슨함
3.56x, 4.44x 같은 값비정수베어링 결함. 볼 개수·직경비·접촉각에서 나오므로 정수배가 될 수 없다

고조파(harmonic)는 정수배를 가리키는 말이다. 베어링 결함 주파수를 「3.5x 고조파」라고 부르면 동기 성분과 비동기 성분을 가르는 진단의 출발점이 지워진다. 비정수 차수라는 사실이 곧 근거다. 내륜 결함(BPFI)은 내륜이 함께 돌기 때문에 1x 간격의 측대역(sideband)을 달고 나타난다.

베어링 결함 주파수

결함 위치약어주파수
외륜BPFORPM/60 x N/2 x (1 - d/D x cos(a))
내륜BPFIRPM/60 x N/2 x (1 + d/D x cos(a))
BSFRPM/60 x D/2d x (1 - (d/D)^2 x cos^2(a))
보유기FTFRPM/60 x 1/2 x (1 - d/D x cos(a))

N=볼 수, d=볼 직경, D=피치 직경, a=접촉각

공식을 표에 두고 끝내지 않는다. 아래 코드는 볼 8개, d/D = 0.11, 접촉각 0도, 회전 100 Hz 를 공식에 대입해서 BPFO·BPFI·BSF·FTF 를 계산하고, 그 자리에 실제로 봉우리가 서는지 스펙트럼에서 확인한다. 본인 사업장 베어링의 형번과 회전수를 넣어 다시 돌려 보면 이 과제가 현장 도구가 된다.

아래 코드를 fft_analysis.py로 저장하고 실행하세요.

sensor-monitor 시뮬레이터에서 확인할 것

코드를 돌린 뒤 시뮬레이터를 열어 같은 것을 눈으로 본다. FFT 패널에는 1x RPM·2x RPM·BPFO 기준선이 그어져 있다.

  1. CNC-001(정상) 을 켜고 BPFO 점선 아래를 본다. 잡음 바닥과 구별되는 봉우리가 없다.
  2. CNC-005(고장임박) 로 바꾸고 같은 자리를 본다. BPFO 아래에 봉우리가 솟는다. 두 설비를 번갈아 켜면서 그 차이를 확인하는 것이 이 관찰의 핵심이다. 검토 실측으로 잡음 바닥 대비 정상 약 1.1배에서 고장임박 약 3.8배로 커진다.
  3. CNC-003(경고) 에서는 2x 가 먼저 커지고(약 3.3배) BPFO 는 아직 낮다(약 1.4배). 정렬 계열이 먼저인지 베어링이 먼저인지를 차수 위치로 가르는 연습이다.
  4. 기준선이 그어지는 것과 봉우리가 보이는 것은 다르다. 정상 설비에서 「BPFO 라고 적힌 점선 아래에 아무것도 없다」를 보는 것도 관찰이다. 없을 때를 봐 두어야 있을 때를 안다.
에디터 로딩 중...
힌트 보기
  • FFT 는 시간을 주파수로 옮긴다. 피크의 자리는 Hz 가 아니라 차수(회전수의 몇 배)로 읽는다
  • 정수배(1x, 2x, 3x)가 고조파다. 베어링 결함 주파수는 제원에서 나오므로 비정수배다
  • 1x 단독 우세면 질량 불평형, 2x 가 1x 를 넘으면 축 정렬 불량이다. 순서를 바꿔 외우지 않는다
  • PSD(Welch)는 FFT 를 평활화해 잡음 바닥을 낮춘다. 봉우리의 유무를 판정할 때 쓴다
  • BPFO 자리에 봉우리가 없다는 것도 정보다 — 외륜이 건전하다는 뜻이다
  • 대역별 에너지 비율은 고장 유형 분류의 입력 피처로 바로 쓸 수 있다
AI로 학습하기 — 꿀팁
FFT 주파수 해상도 설계 질문AI 학습 팁

AI에게 제조 설비 베어링 진동 분석에서 FFT 주파수 해상도(샘플링률·윈도우 길이)를 어떻게 결정해야 하는지 물어보며 설계 근거를 잡으세요.

터보팬 베어링 결함 주파수(BPFO, BPFI)를 FFT로 식별하려면 샘플링 주파수와 윈도우 길이를 어떻게 설정해야 해? 나이퀴스트 이론, 주파수 해상도(fs/N), Hanning 윈도우 선택 근거를 설명하고, scipy.fft로 BPFO/BPFI 피크를 감지하는 코드 예시를 작성해줘.
이 팁이 도움이 됐나요?
실습 — 직접 해보기
Sensor Monitor 시뮬레이터
진동·온도·전류를 실시간으로 띄우고 FFT 스펙트럼에 1x RPM·2x RPM·BPFO 기준선을 그어 주는 도구다. CNC-001(정상)과 CNC-005(고장임박)를 번갈아 켜고 BPFO 점선 아래 봉우리가 어떻게 달라지는지 보라. 검토 실측으로 잡음 바닥 대비 약 1.1배에서 약 3.8배로 커진다. CNC-003(경고)에서는 2x 가 먼저 커지고 BPFO 는 아직 낮다.
용어