Nyquist Plot 이란? (파이썬으로 그리기 예제 포함)
Nyquist Plot (나이퀴스트, 나이키스트) ?
Nyquist plot 은 선형(linear) 시스템의 주파수 함수 응답을 극좌표(Polar) 선도(plot)으로 표현한 것이다. 일반적으로 제어 시스템의 안정성과 성능을 예측할 때 사용한다. 그리고 진동(vibration) 분석에서는 모달(modal) 파라미터를 얻기 위해도 사용한다.
그림1은 임팩트 해머를 시편에 가하고 측정한 FRF(Frequency response function)을 Nyquist plot 으로 전개한 화면이다. x축은 Real 값이고 Y축은 Imaginary 값이다.
FRF에 대해 더 자세히 알고 싶다면 아래 링크를 참조하길 바란다.
scribblinganything.tistory.com/150
Spring Mass Damper 시스템(SDOF) 예제에서 Nyquist Plot 분석 하기
그림2와 같이 스프링, 매스, 댐퍼 시편이 있고 힘(f)를 펄스로 주고 0초부터는 힘이 안들었다고 고려하자. 그리고 무게와 K(Stiffness), C(Damping)에 대한 정보는 위처럼 나와 있다.
댐핑비(viscous damping ratio) ξ 는 0.05 이고 공진주파수(Wn, Natural frequency)는 621rad/sec (98.9Hz) 가 된다. 전개식을 알고 싶으면 아래 링크를 참자하기를 바란다.
scribblinganything.tistory.com/151?category=953031
라플라스 변환을 통해 전달 함수를 그림3과 같이 표현 할 수 있다. 분모가 2차식이므로 2개의 pole 값을 가져올 수 있다. 그리고 구한 pole 값을 보면 실수 부분이 음수이다. 이는 시간이 지날 수록 지수적 감쇠를 의미한다. 그래서 시스템적으로 안정적이다라고 할 수 있다.
그림3의 전달함수 식으로 Nyquist plot 그리기 (Python 사용)
코드>>
from scipy import signal
import matplotlib.pyplot as plt
# s1 = signal.ZerosPolesGain([], [1, 1, 1], [5])
s1 = signal.TransferFunction([386], [1, 62, 385641])
w, H = signal.freqresp(s1)
plt.figure()
plt.plot(H.real, H.imag, "b")
plt.show()
TransferFunction 함수에 전달함수의 분수 값 분모값을 넣으면 된다. 그림3에 적혀있는 값 그대로 넣었다. 만일 식은 모르고 pole 값과 zero 값들을 아는 경우 위 코드 중 #(주석) 처리된 코드 처럼 ZerosPolesGain([], [1, 1, 1], [5]) 를 사용 하면된다. 첫번째 칸은 zero 값이고 두번째 리스트 값은 pole 값 마지막 값은 gain 값이다.
결과>>
그림4와 같이 Nyquist plot이 완성되었다. 공진(resonant)가 발생하는 지점은 원의 제일 아래점이다. real(실수) 값이 0에 가깝고 img(허수) 절대 값이 가장 클때 magnitude가 제일 크다. 그리고 그때 각도는 보통 -90도 또는 90이다.
실제 측정 FRF에서 공진 주파수 분석해보기
그림5에서 첫번째 그림은 주파수에서 진폭(Magnitude)과 위상(Phase)를 표현했다 3부분에서 진폭이 증가하면서 위상은 180도 변하면서 공진에서 90도를 지나간다.
두번째 그림은 real 값과 imaginary 값을 표현한 그래프이다. real 값은 공진에서 음수에서 양수로 변경되면서 0을 지나간다. 그리고 허수 값은 펄스처럼 양수나 음수로 치솟는다.
세번째 그림은 Nyquist plot으로 3개의 원이 존재한다. 3개의 공진점이 있다는 의미이고 정상적인 선형 시편의 경우 위 그림처럼 허수 방샹으로 양, 음 방향으로 원이 생긴다.
'여러가지공부' 카테고리의 다른 글
진동 시험 장비 절연 (Vibrator/Shaker Isolation) 방법 및 수식 정리 (0) | 2021.05.17 |
---|---|
소리의 속도, 파장 길이, 주파수 관계와 각 분야별 진동 주파수 발생 범위 (0) | 2021.05.14 |
Bode Plot 이란? 사용 방법과 그리는 방법, 파이썬을 사용하여 그래프 검증 (0) | 2021.05.10 |
사인 스윕파(Sine Sweep)의 사이클(Cycle) 계산 방법(Calculation) (0) | 2021.05.06 |
랜덤 진동 이란? (Random Vibration Testing)? (2) | 2021.05.04 |