Document toolboxDocument toolbox

Hilbert

Overview

6th order Hilbert transform

Discussion

This subsystem has 2 inputs and 2 outputs. The input pin is named 'in' and the output pins are named 'out1' and 'out2'. The input pins can be of arbitrary dimension and the size of the output pins equal the size of the input pins. The module operates on multichannel signals. The filters are designed so that $\angle(out1)-\angle(out2) = 90~degrees.$ Each filter is a cascade of 6 1st order allpass filters. Internally, pairs of first order allpass filters are combined and implemented as second order Biquad stages.

The subsystem requires two scratch buffers. The size of the scratch buffers equals the size of the input.

Type Definition

-Not Shown-

Pins

Input Pins

Name: inReal

Description: Audio Input for real valued signals

Data type: float

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

 

Name: inImag

Description: Audio Input for imaginary valued signals

Data type: float

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: outReal

Description: Audio output for real valued signals

Data type: float

 

Name: outImag

Description: Audio output for imaginary valued signals

Data type: float

Scratch Pins

Channel count: 1

Block size: 32

Sample rate: 48000

MATLAB Usage

File Name: hilbert_subsystem.m

SYS=hilbert_subsystem(NAME) Creates a 2-input 2-output module which implements a 12th order Hilbert transform. Arguments: NAME - name of the module.

Â