웨이브폼을 2D 배열로 변환하는 방법

업데이트 됨 Jan 11, 2019

해당 제품

Software

  • LabVIEW Full
  • LabVIEW Base

문의사항

  • 내 데이터는 웨이브폼에 있으며 2차원(2D) 배열로 변환하고 싶습니다.
  • 웨이브폼 파일에 텍스트 파일을 써야합니다.
  • 내 웨이브폼 데이터에 배열 함수를 사용하고 싶습니다.

해결책

  • 이 데이터를 2D 배열로 변환하려면 웨이브폼에서 기존 Y 데이터를 추출하고 각 값에 시간을 할당해야합니다
  • 아래는 데이터를 더블형 타입의 2차원 배열로 변환하는 방법의 예입니다
    1. 웨이브폼 구성요소 얻기(Get Waveform Components) 함수를 사용하여 파형에서 Ydt 데이터를 추출합니다.
    2. For 루프를 통해 Y 값의 배열을 오토인덱싱 한다. 
    3. 루프 내에서 dt 에 반복 횟수를 곱하십시오. 그러면 각 데이터 요소와 관련된 시간이 표시됩니다.
    4. 배열 만들기(Build Array) 함수를 사용하여 Y 배열과 곱셈의 출력을 결합합니다.
    5. 배열 만들기 함수의 인덱싱 된 출력은 시간에 상대적인 웨이브폼 데이터의 2D 배열을 제공합니다

추가 정보

  • 웨이브폼 데이터 유형은 4 가지 요소로 구성된 특수 유형의 클러스터입니다
    • Y - 이것은 데이터의 진폭 측정 값의 1D 배열입니다.
    • t0 - 측정 시작 시간을 나타내는 시간 소인입니다.
    • dt - 이것은 초 단위로 신호의 균일 한 시간 분할을 설명하는 스칼라입니다.
    • Attributes - 하드웨어 디바이스 번호 또는 채널 이름과 같은 모든 웨이브폼 메타데이터를 포함하는 변형 데이터 유형입니다
  • 위의 스니핏과 Convert Waveform to 2D Array in LabVIEW는 원하는 프로그램의 구현을 보여줍니다.
  • 위의 방법은 웨이브폼에서 특성 및 t0 데이터 요소를 완전히 무시하고 시분할(dt) 및 진폭 데이터(Y)에만 초점을 맞춥니다.
    • 이렇게하면 코드가 단순해지고 들어오는 데이터의 가장 중요한 요소에 중점을 둡니다.
  • 위의 스니핏에 있는 코드는 다음을 수행합니다.
    • 진폭 배열을 가져 와서 배열을 반복하면서 시간을 루프의 현재 반복 횟수를 곱한 시간 값을 할당합니다.
    • 먼저 이 두 값을 두 요소 1D 배열에 결합한 다음 for 루프를 사용하여 인덱싱하면 두 열의 2D 배열이됩니다.
    • 첫 번째 열에는 0에서 시작하여 모든 행에서 dt만큼 증가하는 시간 정보가 들어 있습니다.
    • 두 번째 열은 모든 진폭 데이터를 포함합니다.
    • 추가 웨이브폼 VI와 함수 은 프로그래밍»웨이브폼 아래의 함수 팔레트에서 찾을 수 있습니다.

이 글이 도움이 되셨습니까?

도움 안됨