티스토리 뷰

[DIAdem] Analysis 함수를 이용한 채널 생성 및 샘플링이 다른 채널간 보간(Interpolation) 방법


서로 다른 디바이스를 통해서 같은 시간 내의 데이터 수집을 진행하여 데이터를 저장하였을 때, 저장하는 타이밍에 대한 고려가 없다면 저장되는 시점이 달라져 파일에 저장된 갯수에 대한 차이가 발생을 할 수 있습니다.


이러한 문제는 데이터 후 처리 분야에서 많이 발생하는 내용으로 이를 해결하기 위해서는 X축에 대한 시간에 맞게 Interpolation 하는 방법을 제안할 수 있습니다.


이번 글에서는 DIAdem의 Analysis 기능을 이용해서 서로다른 샘플링 주기를 가진 파일을 동일하게 Interpolation 하는 방법에 대해서 알아보도록 하겠습니다.


Interpolation은 아래와 같은 과정을 통해서 진행이 됩니다.


  1. TDMS 혹은 EXCEL 파일을 읽어온다.
  2. 채널별 측정시간과 측정 갯수를 확인한다.
  3. 동일한 샘플링으로 보간하기 위해서 Generate Generic Channel 함수를 이용하여 목표 샘플링 갯수를 지정하여 새로운 채널을 생성한다.
  4. Linear Mapping 함수를 통해서 보간을 진행한다. 


위의 과정에서 나온 2개의 함수에 대해서 알아보고, 실제로 사용하는 방법에 대해서 알아보도록 하겠습니다. 


Generate Generic Channel 함수


Generate Number Channel 함수는 새로운 데이터 채널을 만드는데 사용되는 기능입니다. 채널을 생성할 때 Equidistant, Geometric 등 4가지 방식을 통해서 채널 생성이 가능합니다. 




각 모드에 따라서 지정해야 하는 값들이 다릅니다. 이 부분은 도움말을 참조하시면 됩니다. 



Linear Mapping 함수


Linear Mapping 함수는 새로운 X의 갯수에 맞게 기존의 채널을 linear하게 맞춰주는 역할을 하는 함수입니다. 여기에서 주의해야 할 부분은 Interpolation Channel의 갯수에 맞게 Y채널이 새로이 설정되는 점입니다.


추가적인 내용은 아래의 도움말을 확인하시기 바랍니다. 



그러면 실제로 위의 함수를 이용해서 DIAdem을 통해 Interpolation 작업을 진행해보겠습니다. 


1) 파일 읽기 및 확인


Interpolation 작업할 파일을 DIAdem에 읽어오고, 각 채널간의 시간과 데이터 갯수를 확인합니다. 오늘 예제에서 처리할 자료는 아래와 같습니다. 


채널 이름 

측정 시간 

데이터 갯수 

 A 채널

22.06 

2206 

 B 채널

22.06 

1207 

 C 채널

22.06 

2206 


파일을 읽어서 데이터를 확인하니 B채널에 대한 Interpolation 작업이 필요합니다. B채널의 데이터 갯수를 2206에 맞게 설정을 해보도록 하겠습니다.


2) X축 갯수를 위한 기준 채널 생성


B채널의 데이터를 동일한 샘플링으로 Interpolation하기 위해서는 시간축에 대한 데이터를 생성해야 합니다. 여기에서는 10ms로 샘플링 되기를 원하시고 있으니 1초에 100개, 총 22.06초에 대한 2206개의 시간 데이터를 생성하시면 됩니다. 


아래의 그림처럼 Generate Numeric Channel을 클릭합니다.



다른 채널과 타이밍을 맞추기 위해서 계산된 2206개의 Equidistant 타입의 데이터를 생성합니다. 아래와 같이 설정을 합니다. 



OK 혹은 Calculate 버튼을 누르면 LinearGenerated 채널이 그룹에 포함이 된것을 확인할 수 있습니다. 



3) Interpolation 진행하기


LinearGenerated 채널을 이용하여 B채널(위의 vfzg_w 채널)을 보간하는 방법을 알아보겠습니다. LinearGenerated 데이터를 활용하여 데이터를 Interporation 합니다. Interpolation에 사용되는 기능은 Curve Fitting의 Linear Mapping을 선택합니다.



Linear Mapping의 X채널은 기존 데이터의 Time을 Y채널에는 기존의 데이터채널을 선택하고, Interpolation Channel은 3)과정에서 생성한 LinearGenerated를 선택한뒤 OK 버튼을 누릅니다. 



See Also:

Linear Mapping은 한번에 한 개의 데이터를 Interpolation하므로, 다른 채널도 변경을 하고자 하면 위와 같은 동일한 과정으로 Interpolation 시 채널만 변경하여 반복하시면 됩니다.


위의 과정을 실행하면 데이터 포탈에 LinearMapped라는 채널이 Interpolation되어 생성되는 것을 확인할 수 있습니다. 

지금까지 DIAdem을 통해서 Interpolation하는 방법에 대해서 알아보았습니다.


이 글이 도움이 되셨나요?

그렇다면 아래의 그림을 클릭해주세요.



댓글