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

downsample

Уменьшение частоты дискретизации в целое число раз.

Библиотека

EngeeDSP

Синтаксис

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

  • y = downsample(x,n) — уменьшает частоту дискретизации x, сохраняя первую выборку, а затем каждую n-ю выборку после первой. Если x — матрица, функция обрабатывает каждый столбец как отдельную последовательность.

  • y = downsample(x,n,phase) — определяет количество отсчетов, на которое необходимо сместить последовательность после понижения частоты дискретизации.

Аргументы

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

# x — входной массив
вектор | матрица

Details

Входной массив, заданный как вектор или матрица. Если x — матрица, функция обрабатывает столбцы как независимые каналы.

# n — коэффициент понижения частоты дискретизации
положительное целое число

Details

Коэффициент понижения частоты дискретизации, заданный как положительное целое число.

Типы данных

Float32, Float64

# phase — смещение
0 (по умолчанию) | положительное целое число

Details

Смещение, заданное как положительное целое число от 0 до n - 1.

Типы данных

Float32, Float64

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

# y — массив с пониженной частотой дискретизации
вектор | матрица

Details

Массив с пониженной частотой дискретизации, возвращаемый в виде вектора или матрицы.

Примеры

Уменьшение частоты дискретизации

Details

Уменьшим частоту дискретизации последовательности в 3 раза.

import EngeeDSP.Functions: downsample

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = downsample(x, 3)
4-element Vector{Int64}:
  1
  4
  7
 10

Уменьшим частоту дискретизации последовательности в 3 раза и добавим смещение фазы в 2 раза.

y = downsample(x, 3, 2)
3-element Vector{Int64}:
 3
 6
 9

Уменьшим частоту дискретизации матрицы в 3 раза.

x = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
y = downsample(x, 3)
2×3 Matrix{Int64}:
  1   2   3
 10  11  12