Демонстрация Xcorr и Acorr

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Цель этого лабораторного занятия - показать применение графиков кросс-корреляции и автокорреляции с использованием библиотеки Python Matplotlib. Кросс-корреляция и автокорреляция - математические инструменты, используемые для измерения сходства между двумя сигналами. Кросс-корреляция измеряет сходство между двумя различными сигналами, в то время как автокорреляция измеряет сходство между сигналом и его отсчетом с задержкой по времени. Эти инструменты широко используются в обработке сигналов, анализе изображений и анализе временных рядов.

Советы по работе с ВМ

После запуска ВМ перейдите в левый верхний угол и переключитесь на вкладку Notebook, чтобы приступить к практике с использованием Jupyter Notebook.

Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импорт библиотек

Во - первых, нам нужно импортировать необходимые библиотеки. В этом лабораторном занятии мы будем использовать NumPy и Matplotlib.

import matplotlib.pyplot as plt
import numpy as np

Генерация случайных данных

Далее мы сгенерируем два массива случайных данных с использованием NumPy. Эти массивы мы будем использовать для демонстрации кросс-корреляции и автокорреляции.

np.random.seed(19680801)
x, y = np.random.randn(2, 100)

Построение графика кросс-корреляции

Теперь мы построим график кросс-корреляции между двумя массивами с использованием функции xcorr в Matplotlib.

fig, ax = plt.subplots()
ax.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax.grid(True)
plt.show()

Функция xcorr принимает следующие параметры:

  • x: первый массив данных
  • y: второй массив данных
  • usevlines: логическое значение, определяющее, следует ли рисовать вертикальные линии от 0 до значения корреляции
  • maxlags: целое число, максимальное количество лагов для вычисления корреляции
  • normed: логическое значение, определяющее, следует ли нормализовать значения корреляции
  • lw: целое число, ширина линии для графика

Построение графика автокорреляции

Теперь мы построим график автокорреляции массива x с использованием функции acorr в Matplotlib.

fig, ax = plt.subplots()
ax.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax.grid(True)
plt.show()

Функция acorr принимает следующие параметры:

  • x: массив данных для вычисления автокорреляции
  • usevlines: логическое значение, определяющее, следует ли рисовать вертикальные линии от 0 до значения корреляции
  • normed: логическое значение, определяющее, следует ли нормализовать значения корреляции
  • maxlags: целое число, максимальное количество лагов для вычисления корреляции
  • lw: целое число, ширина линии для графика

Резюме

В этом лабораторном занятии мы научились использовать графики кросс-корреляции и автокорреляции в Python Matplotlib. Сначала мы импортировали необходимые библиотеки, затем сгенерировали случайные данные с использованием NumPy. Затем мы построили графики кросс-корреляции и автокорреляции данных с использованием функций xcorr и acorr в Matplotlib. Эти инструменты полезны для измерения сходства между двумя сигналами и широко используются в обработке сигналов, анализе изображений и анализе временных рядов.