Languages

CommunityCategory: XMODELJEZ 파일에 담겨있는 신호의 파형정보를 Python 상에서 얻는 방법
SA Support Team Staff asked 6 years ago

JEZ 파일을 Python 상에서 읽어들인 후, 원하는 신호의 파형정보를 얻는 방법이 있나요? 즉, 파형을 이루는 각 점들의 시각과 값 정보들의 배열을 얻고 싶습니다.

1 Answers
Best Answer
SA Support Team Staff answered 6 years ago

예. XMODEL에 제공하는 Python 라이브러리인 XMULAN을 사용하면 원하는 파형정보를 읽을 수 있습니다. 예를 들어, JEZ 파형파일을 읽어서 그 파형을 이루는 점들의 시각-값 배열을 얻는 방법은 아래와 같습니다.

#!/usr/bin/env xmodelpy

from xmulan import rowml
import numpy as np

r = rowml().readmeas('xmodel.jez')            # JEZ 파형 파일인 'xmodel.jez' 읽어들이기
w = r['my_signal'].get_waveform()              # 신호 'my_signal'의 waveform object를 추출하기

여기서, 'w'라는 변수는 'my_signal' 신호에 대한 waveform object개체를 갖게 됩니다. 원래, JEZ형식은 XMODEL에서 시뮬레이션을 수행할때 사용하는 함수형식(functional expression)을 사용해 파형정보를 저장하지만, 위 예제의 get_waveform() 함수를 그 파형정보를 좀더 다루기 편리한 시각-값 배열의 형태로 바꾸어줍니다.

해당 파형을 이루고 있는 각 점의 시각 및 값의 배열을 얻는 방법은 아래와 같습니다.

time_pts = w.sweep[0]
data_pts = np.asarray(w)