입력 시퀀스 X의 빠른 힐버트 변환을 계산합니다.


icon

입력/출력

  • c1ddbl.png X

    X는 데이터 배열의 원소 개수를 지정합니다.

  • i1ddbl.png 힐버트{X}

    힐버트{X}는 입력 시퀀스의 빠른 힐버트 변환입니다.

  • ii32.png 에러

    에러는 VI로부터 모든 에러 또는 경고를 반환합니다. 에러[에러 코드를 에러 클러스터로] VI에 연결하여 에러 코드 또는 경고를 에러 클러스터로 변환할 수 있습니다.

  • 함수 x(t)의 힐버트 변환은 다음과 같이 정의됩니다.

    .

    푸리에 항등식을 사용하여, x(t)의 힐버트 변환의 푸리에 변환을 다음과 같이 나타낼 수 있습니다.

    h(t) ⇔ H(f) = - j sgn(f) X(f),

    여기서 x(t) ⇔ X(f)는 푸리에 변환 쌍이고

    고속 힐버트 변환 VI는 다음 단계를 수행하여 h(t) ⇔ H(f) 푸리에 변환 쌍에 기반한 FFT 루틴을 사용하여 힐버트 변환의 이산 구현을 수행합니다.

    1. 입력 시퀀스 X를푸리에 변환

      Y = F{X}

    2. DC 구성 요소를 0으로 설정

      Y0 = 0.0

    3. 수열 Y가 짝수 크기인 경우 나이퀴스트 성분을 0으로 설정합니다

      YNyq = 0

    4. 양의 하모닉에 -j를 곱합니다.

    5. 음의 하모닉에 j를 곱합니다. 다음과 같은 형식의 새 시퀀스 H를호출합니다

      Hk =-jsgn(k)Yk

    6. H를 역 푸리에 변환하여 X의 힐버트 변환을 얻습니다.

    추가적인 정보는 [FFT] VI의 복소수 FFT 인스턴스의 출력 포맷을 참조하십시오.

    힐버트 변환을 사용하여 순간 위상 정보를 추출하고 단일 측 대역 스펙트럼을 구하고, 진동 신호의 엔벨로프를 구하고, 에코를 감지하고, 샘플링 속도를 줄입니다.

    출력 시퀀스 Y = 역 FFT [X]는 복소수이며 하나의 복소수 배열로 반환됩니다: Y = (Yre,Yim).

    노트 [빠른 힐버트 변환] VI는 입력 시퀀스의 원소 개수가 짝수일 때 DC와 나이퀴스트 성분을 제로로 설정하기 때문에, 역 힐버트 변환으로 항상 원본 신호를 복구할 수는 없습니다. 힐버트 변환은 DC와 나이퀴스트 성분을 제외한 대역 통과 제한 신호에 잘 적용됩니다.

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

    • labview\examples\Signal Processing\Transforms\Echo Detector.vi