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

upsample

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

Библиотека

EngeeDSP

Синтаксис

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

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

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

Аргументы

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

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

Details

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

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

Details

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

Типы данных

Float32, Float64

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

Details

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

Типы данных

Float32, Float64

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

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

Details

Массив с повышенной частотой дискретизации, возвращаемый в виде вектора или матрицы. Выходной аргумент y содержит x × n отсчетов.

Примеры

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

Details

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

import EngeeDSP.Functions: upsample

x = [1, 2, 3, 4]
y = upsample(x, 3)
12-element Vector{Int64}:
 1
 0
 0
 2
 0
 0
 3
 0
 0
 4
 0
 0

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

x = [1, 2, 3, 4]
y = upsample(x, 3, 2)
12-element Vector{Int64}:
 0
 0
 1
 0
 0
 2
 0
 0
 3
 0
 0
 4

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

x = [1 2; 3 4; 5 6]
y = upsample(x, 3)
9×2 Matrix{Int64}:
 1  2
 0  0
 0  0
 3  4
 0  0
 0  0
 5  6
 0  0
 0  0