# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

# dsp.AnalyticSignal System object

Analytic signals of discrete-time inputs

## Description

The `AnalyticSignal` object computes analytic signals of discrete-time inputs. The real part of the analytic signal in each channel is a replica of the real input in that channel, and the imaginary part is the Hilbert transform of the input. In the frequency domain, the analytic signal doubles the positive frequency content of the original signal while zeroing-out negative frequencies and retaining the DC component. The object computes the Hilbert transform using an equiripple FIR filter.

To compute the analytic signal of a discrete-time input:

1. Define and set up your analytic signal calculation. See Construction.

2. Call `step` to compute the analytic signal according to the properties of `dsp.AnalyticSignal`. The behavior of `step` is specific to each object in the toolbox.

### Note

Starting in R2016b, instead of using the `step` method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, ```y = step(obj,x)``` and `y = obj(x)` perform equivalent operations.

## Construction

`anaSig = dsp.AnalyticSignal` returns an analytic signal object, `anaSig`, that computes the complex analytic signal corresponding to each channel of a real M-by-N input matrix.

`anaSig = dsp.AnalyticSignal('PropertyName',PropertyValue,...)` returns an analytic signal object, `anaSig`, with each specified property set to the specified value.

`anaSig = dsp.AnalyticSignal(order,'PropertyName',PropertyValue,...)` returns an analytic signal object, `anaSig`, with the FilterOrder property set to `order` and other specified properties set to the specified values.

## Properties

 `FilterOrder` Filter order used to compute Hilbert transform Specify the order of the equiripple FIR filter used in computing the Hilbert transform as an even integer scalar. The default is `100`.

## Methods

 reset Reset internal states of analytic signal object step Analytic signal
Common to All System Objects
`clone`

Create System object with same property values

`getNumInputs`

Expected number of inputs to a System object

`getNumOutputs`

Expected number of outputs of a System object

`isLocked`

Check locked states of a System object (logical)

`release`

Allow System object property value changes

## Examples

expand all

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent `step` syntax. For example, myObject(x) becomes step(myObject,x).

Compute the analytic signal of a sinusoidal input.

```t = (-1:0.01:1)'; x = sin(4*pi*t); anaSig = dsp.AnalyticSignal(200); y = anaSig(x);```

View the analytic signal.

```subplot(2,1,1), plot(t, x); title('Original Signal'); subplot(2,1,2), plot(t, [real(y) imag(y)]); title('Analytic signal of the input') legend('Real signal','Imaginary signal',... 'Location','best');```

## Algorithms

This object implements the algorithm, inputs, and outputs described on the Analytic Signal block reference page. The object properties correspond to the block parameters.

## See Also

#### Introduced in R2012a

Was this topic helpful?

Watch now