Что делает этот калькулятор
Калькулятор линейной свёртки берёт две дискретные последовательности и объединяет их с помощью операции дискретной линейной свёртки. Свёртка — это базовый инструмент цифровой обработки сигналов (ЦОС, англ. DSP), который позволяет найти отклик линейной стационарной системы (ЛИС-системы, англ. LTI), если известны её входной сигнал и импульсная характеристика. Введите две числовые последовательности — и инструмент сразу выдаст полную свёрнутую последовательность, а также её максимальное и минимальное значения.
Как пользоваться
Понадобится заполнить всего два поля:
- Первая последовательность — входной сигнал x, числа через запятую, например
1, 2, 3. - Вторая последовательность — второй сигнал h (часто это импульсная характеристика), например
0, 1, 0.5.
Поддерживаются как десятичные дроби, так и отрицательные числа. Каждое значение очищается от лишних пробелов и преобразуется в число, поэтому пробелы можно ставить как угодно.
Формула
Дискретная линейная свёртка определяется так:
$$y[n] = \sum_{k} x[k] \cdot h[n-k]$$На практике калькулятор реализует эту формулу прямым двойным циклом: каждый элемент первой последовательности умножается на каждый элемент второй, а произведение \(x[i]\cdot h[j]\) прибавляется к выходной позиции \(i + j\). Длина итоговой последовательности равна len(x) + len(h) − 1.
Разбор примера
Пусть x = [1, 2, 3] и h = [1, 1]. Длина результата равна \(3 + 2 - 1 = 4\).
- \(y[0] = 1\cdot 1 = 1\)
- \(y[1] = 1\cdot 1 + 2\cdot 1 = 3\)
- \(y[2] = 2\cdot 1 + 3\cdot 1 = 5\)
- \(y[3] = 3\cdot 1 = 3\)
Итак, свёртка равна [1, 3, 5, 3], максимальное значение — 5, минимальное — 1.
Часто задаваемые вопросы
Какой длины будет результат? Всегда сумма длин двух входных последовательностей минус один. Свёртка последовательностей из 4 и 3 элементов даёт 6 значений.
Важен ли порядок последовательностей? Нет. Свёртка коммутативна, поэтому если поменять первую и вторую последовательности местами, результат не изменится.
Это то же самое, что взаимная корреляция? Нет. При свёртке одна последовательность «переворачивается» (за это отвечает член \(h[n - k]\)) перед сдвигом, а при корреляции — нет. Результаты совпадают только тогда, когда одна из последовательностей симметрична.