Экстрактор фазы

Извлеките развернутую фазу комплексного входа

Библиотека

Операции сигнала

dspsigops

Описание

Блок Phase Extractor извлекает развернутую фазу комплексного входа. Вход может быть вектором или матрицей. Для 2D входных параметров блок обрабатывает каждый столбец как независимый канал. Первая размерность является длиной канала. Второе измерение является количеством каналов. Блок обрабатывает 1D входные параметры как один канал.

Блок сохраняет входной размер и размерность, и уровень выходного порта равняется уровню входного порта.

Примеры

Этот пример показывает, как использовать блок Phase Extractor, чтобы извлечь фазу волны знака. Блок DSP Sine Wave представляет системный входной сигнал. Установите параметры блоков Синусоиды DSP на следующее:

  • Набор Frequency к Гц 10

  • Набор Sample mode к Discrete

  • Набор Output complexity к Complex

  • Набор Sample time к 1/1000

  • Набор Sample per frame к 128

Не выбирайте параметры блоков Экстрактора Фазы Unwrap phase only within the frame.

Блок Time Scope отображает извлеченную фазу.

Параметры

Unwrap phase only within the frame

Когда вы снимаете этот флажок, блок игнорирует контуры между входными кадрами. Когда вы устанавливаете этот флажок, блок обрабатывает каждый кадр входных данных независимо и сбрасывает значение начальной фазы для каждого нового входного кадра.

Simulate using

Выберите тип симуляции из следующего:

  • Code generation

  • Interpreted execution

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Входной параметр

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

Вывод

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

Смотрите также

dsp.PhaseExtractor

DSP System Toolbox

Алгоритмы

Рассмотрите входной кадр длины N:

(x1x2xN)

Метод step действует на этот кадр и производит этот вывод:

(Φ1Φ2ΦN)

где:

Φi=Φi1+\angle(xi1*xi)

Здесь, i запускаюсь от 1 до N. Функция angle возвращает угол фазы в радианах.

Если входной сигнал состоит из нескольких кадров:

  • Если вы устанавливаете TreatFramesIndependently на true, метод step обрабатывает каждый кадр независимо. Поэтому в каждом кадре, метод step вычисляет фазу с помощью предыдущей формулы где:

    • Φ0 0.

    • x0 1.

  • Если вы устанавливаете TreatFramesIndependently на false, метод step игнорирует контуры между кадрами. Поэтому в каждом кадре, метод step вычисляет фазу с помощью предыдущей формулы где:

    • Φ0 последняя развернутая фаза от предыдущего кадра.

    • x0 последняя выборка от предыдущего кадра.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2014b