Как сделать оконный полосовой фильтр сигнала на Python? Здравствуйте.
Есть какой-то сложный сигнал. В нем есть очень много частот (от 0 до 100, например), это можно получить с помощью преобразования Фурье. Но требуется оставить только определенные частоты (например, от 10 до 50) и вывести сигнал обратно только уже с этими определенными частотами.
Недавно узнал про оконный полосовой фильтр. Не знаете, как сделать его на Python?

21 Авг 2019 в 06:03
151 +1
0
Ответы
1

Для создания оконного полосового фильтра на Python вы можете использовать функцию scipy.signal.firwin из библиотеки SciPy. Вот пример кода, который показывает, как создать и применить такой фильтр:

import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import firwin, lfilter
# Генерация тестового сигнала
fs = 1000 # Частота дискретизации
t = np.arange(0, 1, 1/fs)
signal = np.sin(2 * np.pi * 20 * t) + np.sin(2 * np.pi * 40 * t) + np.sin(2 * np.pi * 60 * t)
# Создание оконного полосового фильтра
cutoff = [10, 50] # Частоты среза
numtaps = 101 # Длина фильтра
b = firwin(numtaps, cutoff=cutoff, fs=fs, pass_zero=False)
# Применение фильтра к сигналу
filtered_signal = lfilter(b, 1, signal)
# Визуализация исходного и отфильтрованного сигналов
plt.figure()
plt.plot(t, signal, label='Исходный сигнал')
plt.plot(t, filtered_signal, label='Отфильтрованный сигнал')
plt.xlabel('Время')
plt.ylabel('Амплитуда')
plt.legend()
plt.show()

В этом примере мы сначала генерируем тестовый сигнал, затем создаем оконный полосовой фильтр с частотами среза от 10 до 50 Гц и длиной фильтра 101. После этого мы применяем этот фильтр к исходному сигналу с помощью функции lfilter и выводим исходный и отфильтрованный сигналы на одном графике.

Надеюсь, это поможет вам создать оконный полосовой фильтр на Python. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 471 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир