Функция sinc
Функция sinc вычисляет нормированную функцию sinc для каждого элемента входного массива. Функция определяется как sinc(x) = sin(πx) / (πx), где x - входной аргумент. В точке x = 0 функция принимает значение 1 (предел при x → 0). Первым параметром функция принимает массив чисел, вторым параметром можно передать выходной массив (необязательный параметр).
Синтаксис
np.sinc(x, [out])
Пример
Давайте вычислим значение функции sinc для чисел от -5 до 5 с шагом 1:
import numpy as np
arr = np.array([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
res = np.sinc(arr)
print(res)
Результат выполнения кода:
[ 0. -0. -0. 0. 0. 1. 0. 0. -0. -0. 0.]
Пример
Давайте создадим массив из 100 точек от -10 до 10 и вычислим функцию sinc для более гладкого графика:
import numpy as np
x = np.linspace(-10, 10, 100)
y = np.sinc(x)
print(y[:5])
print(y[-5:])
Результат выполнения кода:
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
Пример
Давайте используем функцию sinc для восстановления сигнала из его дискретных отсчетов:
import numpy as np
# Исходный сигнал - сумма двух синусоид
t = np.linspace(0, 10, 1000)
signal = np.sin(2 * np.pi * 0.5 * t) + 0.5 * np.sin(2 * np.pi * 1.5 * t)
# Дискретизация сигнала
t_samples = np.arange(0, 10, 0.5)
samples = np.sin(2 * np.pi * 0.5 * t_samples) + 0.5 * np.sin(2 * np.pi * 1.5 * t_samples)
# Восстановление с помощью sinc
reconstructed = np.zeros_like(t)
for i, ts in enumerate(t_samples):
reconstructed += samples[i] * np.sinc(t - ts)
print("Original signal shape:", signal.shape)
print("Samples count:", samples.shape[0])
print("Reconstructed signal shape:", reconstructed.shape)
Результат выполнения кода:
"Original signal shape: (1000,)"
"Samples count: 20"
"Reconstructed signal shape: (1000,)"
Смотрите также
-
функцию
sin,
которая вычисляет тригонометрический синус для каждого элемента массива -
функцию
cos,
которая вычисляет тригонометрический косинус для каждого элемента массива -
функцию
tan,
которая вычисляет тригонометрический тангенс для каждого элемента массива -
функцию
hypot,
которая вычисляет гипотенузу прямоугольного треугольника