Board 게시판

Notice 공지 Free 자유 Q&A 질문 Acad 학회 Job 구인 Gallery 사진

2010-05-19 [RE] Welch 스펙트럼 관련하여

작성자 : 조수진

(2022-09-30)

조회수 : 1233

Q1.
매틀랩을 이용하여 풍속 스펙트럼을 구하고자 합니다. 100hz의 Data를 가지고 교수님이 지필하신 책을 이용하여 파워스펙트럼을 구하였는데 풍동실험에서 제시되는 스펙트럼과 다소 형태가 다르다는 것을 알게되었습니다. 그 결과 welch라는 명령어를 썼다는 사실을 알게 되었습니다.

Welch 명령어를 사용하여 스펙트럼을 구하는 의미가 무엇인지 이해가 다소 되지 않습니다. 혹시 이와 관련된 예제나 매틀랩 코드가 있다면 부탁드리고 싶습니다(matlab 코드는 군산대 장성규 박사 제공).


A1.
MATLAB에서 쓰인 명령어는 Auto-spectrum의 경우 pwelch, cross-spectrum의 경우 cpsd입니다. Welch's method(Welch 방법)는 1964년 Welch에 의하여 제안된 방법으로, Larbatt's method라고 불리우는, 긴 시간영역의 데이터를 구간별로 나누어 각 구간에서 얻은 스펙트럼의 평균치를 구하는 방법을 더 진화시킨 것입니다.

Welch방법은

(1) 긴 time-history 데이터를 50%, 66%, 75% 등의 overlap된 구간으로 나누고(segmentation),
(2) 나뉜 구간의 데이터에 window를 씌운 뒤 (windowing),
(3) window를 씌운 segment를 이용하여 스펙트럼을 구하고 (frequency-domain analysis),
(4) 각 segment로부터 구해진 스펙트럼을 평균화하는 것입니다. (averaging)

즉,
Time-invariant한 특성을 갖는 응답에서 noise 및
일시적으로 나타나는 non-stationarity를 줄이기 위하여
긴 time-history의 데이터를 평균화하는 것입니다.
Window는 구간으로 쪼갠 데이터로부터 발생 가능한 leakage를 줄이고
overlap된 부분의 스펙트럼이 증폭되는 것을 막는 역할을 하게 되며,
overlapping은 non-stationarity를 더 줄이고
실제 time-invariant한 system의 특성을 더 잘 반영하게 하는 역할을 합니다.


Q2. Welch 명령어를 보다보니 구간을 나누어 중첩하여 평균을 내는 것으로 알고 있습니다. 그렇다면 그 구간을 나누는 기준이나 주의사항이 있는지 알고 싶습니다.

A2.
Welch 방법의 중첩 기준은 특별히 따로 없으나,
(MATLAB 기준으로) Hanning window를 활용할 경우 50%나 75% overlapping을 가장 많이 활용합니다.
사실 실제 스펙트럼의 power를 거의 완벽하게 근사하는 것은 66% overlapping이지만,
FFT를 주로 사용하는 경우 1/3 overlapping이 쉽지 않기 때문에 잘 사용되지 않습니다.
50% overlapping은 overlapping된 구간에서 실제 스펙트럼보다 약간 감소한 power(amplitude)를 나타내는 특성을 가집니다.
75% overlapping은 실제 스펙트럼 power의 1.9배의 power amplitude를 보여주면서 overlapping된 구간에서의 power가 감소되지 않습니다.
따라서, 데이터의 길이가 충분히 길고, 데이터의 nonstationarity가 낮은 경우 50% overlapping을,
데이터의 길이가 조금 부족하고 데이터의 nonstationarity가 높은 경우 75% overlapping을 활용하면 됩니다.
풍속 계측의 경우 매우 stationary한 데이터의 계측이 예상되며,
장시간의 데이터 계측을 예상할 수 있으므로,
50% overlapping (MATLAB pwelch의 default)이면 충분할 것으로 생각됩니다.


Q3.
풍속 스펙트럼을 구함에 있어서 전반적인 방법론이나
매트랩 방법 혹은 주의 사항이 있다면 알려 주시면 감사하겠습니다.

A3.
풍속 스펙트럼에 관하여는 다른 경험이 없어 설명드리기가 어렵습니다.


================== 원본글 내용 ==================

 

 

 

안녕하세요

스펙트럼에 관하여 공부를 하다가 교수님에게 질문까지 드리게 되었습니다.

저희가 관심있는 부분이 바람의 스펙트럼입니다.

그러나 다소 기초가 모잘라 어려운 부분이 많습니다.

이에 질문을 드립니다.

1. 매틀랩을 이용하여 풍속 스펙트럼을 구하고자 합니다. 100hz의 Data를 가지고 교수님이 지필하신 책을 이용하여 파워 스펙트럼을 구하였는데 풍동실험에서 제시되는 스펙트럼과 다소 형태가 다르다는 것을 알게되었습니다. 그결과 welch라는 명령어를 썼다는 사실을 알게되었습니다.

Welch 명령어를 사용하여 스펙트럼을 구하는 의미가 무엇인지 이해가 다소 되지 않습니다. 혹시 이와 관련된 예제나 매틀랩 코드가 있다면 부탁드리고 싶습니다.

2. Welch 명령어를 보다보니 구간을 나누어 중첩하여 평균을 내는 것으로 알고 있습니다. 그렇다면 그 구간을 나누는 기준이나 주의사항이 있는지 알고 싶습니다.

3. 풍속 스펙트럼을 구함에 있어서 전반적인 방법론이나 매틀랩 방법 혹은 주의 사항이 있다면 알려 주시면 감사하겠습니다.

요새 기온의 일교차가 다소 큽니다. 항상 건강 조심하십시오.