Документация Engee

peak2peak

Разница между максимумом и минимумом.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • y = peak2peak(x) — возвращает разность между максимальным и минимальным значениями в x.

  • y = peak2peak(x, dim) — вычисляет разность между максимальным и минимальным значениями в x по измерению dim.

Аргументы

Входные аргументы

# x — входной сигнал
вектор | матрица | N-мерный массив

Details

Входной сигнал, заданный как вектор, матрица или многомерный массив. Для входных сигналов с комплексным значением, peak2peak определяет максимум и минимум модуля комплексной величины. Затем peak2peak находит разницу между комплексным числом с максимальным модулем и комплексным числом с минимальным модулем.

Типы данных

Float32, Float64

Поддержка комплексных чисел

Да

# dim — измерение, по которому выполняется операция
скаляр

Details

Измерение, по которому выполняется операция, заданное как положительный целочисленный скаляр. По умолчанию peak2peak работает с первым измерением массива x размерностью больше 1. Например, если x — вектор-строка или вектор-столбец, то y — вещественный скаляр. Если x — матрица размерностью , где , то y — вектор-строка размерностью , содержащий разность между максимальным и минимальным значениями в столбцах x.

Типы данных

Float32, Float64

Выходные аргументы

# y — разница между максимумом и минимумом
скаляр | матрица | N-мерный массив

Details

Разница между максимумом и минимумом, возвращаемая в виде вещественного скаляра, матрицы или многомерного массива.

Примеры

Разница максимального и минимального значения в синусоиде

Details

Рассчитаем разницу максимального и минимального значения для 100 Гц синусоиды с частотой дискретизации 1 кГц.

import EngeeDSP.Functions: peak2peak

t = range(0, stop=1-0.001, step=0.001)
x = cos.(2*pi*100*t)
y = peak2peak(x)

println("y = ", y)
y = 2.0

Разница максимального и минимального значения для комплексной экспоненты

Details

Создадим комплексную экспоненту с частотой π/4 рад/отсчет. Найдем разницу максимального и минимального значения.

import EngeeDSP.Functions: peak2peak

n = 0:99
x = exp.(im*pi/4*n)

y = peak2peak(x)
-0.29289321881344843 + 0.7071067811865436im

Разница максимального и минимального значения для двумерной матрицы

Details

Создадим матрицу, в которой каждый столбец представляет собой синусоиду частотой 100 Гц, дискретизированную с частотой 1 кГц, с различными амплитудами. Амплитуда равна индексу столбца.

Вычислим разницу максимального и минимального значения для столбцов.

import EngeeDSP.Functions: peak2peak

t = 0:0.001:1-0.001
x = cos.(2*pi*100*t) .* (1:4)'
y = peak2peak(x)

println("y = ", y)
y = [2.0 4.0 6.0 8.0]

Разница максимального и минимального значения для двумерной матрицы вдоль заданной размерности

Details

Создадим матрицу, в которой каждая строка представляет собой синусоиду частотой 100 Гц, дискретизированную с частотой 1 кГц, с различными амплитудами. Амплитуда равна индексу строки.

Вычислим разницу максимального и минимального значения строк, указав размерность, равную 2, с помощью аргумента dim.

import EngeeDSP.Functions: peak2peak

t = 0:0.001:1-0.001;
x = (1:4) .* cos.(2*pi*100*t)';

y = peak2peak(x, 2)
4×1 Matrix{Float64}:
 2.0
 4.0
 6.0
 8.0

Литература

  1. IEEE® Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003.