Engee documentation

EngeeComms.PhaseFrequencyOffset

Applies phase and frequency offsets to a complex base signal.

Library

EngeeComms

Block

Phase/ Frequency Offset

Description

System object EngeeComms.PhaseFrequencyOffset applies phase and frequency offsets to a complex base signal.

To perform phase and frequency offsets, follow these steps:

  1. Create an object EngeeComms.PhaseFrequencyOffset and set its properties.

  2. Call the object with arguments as if it were a function.

To learn more about how to work with system objects, see Engee System Objects.

Syntax

Creation

  • PFO = EngeeComms.PhaseFrequencyOffset() — creates a system object for phase and frequency offset with default properties.

    Example:

    PFO = EngeeComms.PhaseFrequencyOffset()
  • PFO = EngeeComms.PhaseFrequencyOffset(Name=Value) — creates a phase and frequency offset system object with specified properties as a pair Name=Value, where Name — the name of the property, and Value — the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.

    Example:

    # создание системного объекта смещения фазы и частоты с частотой дискретизации 20 Гц
    PFO = EngeeComms.PhaseFrequencyOffset(SampleRate=20)

Using

  • Y = PFO(X) — Applies a phase and frequency offset to the input signal.

    Y = PFO(X)
  • Y = PFO(X, fOffset) — sets the frequency offset to the input signal X.

    Y = PFO(X, fOffset)

Arguments

Input arguments

X — input signal

+ scalar | vector | the matrix

Details

An input signal specified as a scalar, vector, or matrix.

Data types: Float32, Float64

fOffset — frequency offset

+ scalar | vector | the matrix

Details

The frequency offset in Hz, specified as a scalar, vector, or matrix.

Dependencies

To use this argument, set the FrequencyOffsetSource property to Input port.

Data types: Float32, Float64

Output arguments

Y — output signal

+ scalar | vector | the matrix

Details

The output signal returned as a scalar, vector, or matrix.

Data types: Float32, Float64

Features

PhaseOffset — phase offset

+ 0 (default) | scalar | vector | the matrix

Details

The phase offset in degrees, specified as a scalar, vector, or matrix.

FrequencyOffsetSource — frequency offset source

+ Property (by default) | Input port

Details

The frequency offset source specified as one of these values:

  • Input port — the frequency offset is set in the input argument fOffset.

  • Property — the frequency offset is set by the FrequencyOffset property.

FrequencyOffset — frequency offset

+ 0 (default) | scalar | vector | the matrix

Details

The frequency offset in Hz, specified as a scalar, vector, or matrix.

Dependencies

To use this argument, set the FrequencyOffsetSource property to Property.

SampleRate — sampling rate
1 (default) | positive scalar

Details

The sampling frequency of the input signal in Hz, set as a positive scalar.

Methods

Common to all system objects

step!

Run the system object operation algorithm

release!

Allow changing the value of a system object property

reset!

Resetting the internal states of a system object

Additional Info

Dependencies of the dimensions of properties and input arguments

Details

The table below describes the dependencies of the dimensions of properties and input arguments. In the table — the number of samples per channel in the input signal X, and — the number of channels.

Dimension Input/output dimension Frame size Number of channels Frequency/phase offset dimension The dimension of the frequency offset input argument

any

scalar

1

1

scalar

scalar

2

on 1

1

on 1

1 on

1 on 1

on 1

1

1 on 1

2

1 on

1

on 1

1 on

1 on 1

1 on

1

1 on 1

2

on

on

on 1

1 on

on 1

1 on

1 on 1

on

1 on

1

1 on 1

on 1

For example:

  • When the offset property is set as a scalar, the object applies the same offset to all elements of the input signal.

  • When the offset property is set as a 2-by-1 vector for a 2-by-3 input signal (one offset value per sample), the object applies the same offset for all three channels.

  • When the offset property is set as a 1 by 3 vector for a 2 by 3 input signal (one offset value per channel), the same channel offset is applied to two samples of the same channel.

  • When the offset property is set as a 2-by-3 matrix for a 2-by-3 input signal (one offset value per sample for each channel), the offsets are applied piecemeal to the input signal.

Algorithms

Details

If the input signal is , then the output signal has the form

,

where

  • — frequency offset;

  • — phase shift.

The output signal in discrete time has the form:

and

,

where , and — the interval between the calculation steps.

Literature

  1. Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.

  2. Forney, G., D., Jr. "Burst-Correcting Codes for the Classic Bursty Channel." IEEE Transactions on Communications, vol. COM-19, October 1971. 772-781.

  3. Ramsey, J. L. "Realization of Optimum Interleavers." IEEE Transactions on Information Theory, IT-16 (3), May 1970. 338-345.