как оценить (мощность сигнала на заданной частоте) по сравнению с временем в питоне
Я ищу хороший способ оценить мощность сигнала (частота дискретизации, скажем, на частоте 10 кГц), против времени на одной частоте (скажем, 50 Гц). Я мог бы рассчитать спектрограмму, а затем взять ее часть на целевой частоте. Это кажется неэффективным, хотя, поскольку я только забочусь о мощности на одной частоте против времени. Я понимаю, что мощность на одной частоте равна нулю (в пределе), я бы хотел рассчитать мощность сигнала в пределах небольшого частотного интервала вокруг целевой частоты.
Мое текущее «решение» заключается в использовании функции mlab.specgram () Matplotlib, которая возвращает 2d-массив мощности, и я просто нарезаю его. Я не согласен с этим, потому что я не полностью доверяю функции mab.specgram (), поскольку для вычисления спектрограммы на разных сигналах (даже если они имеют одинаковую длину) требуется огромное количество времени.
- Вычисление DCT с помощью OpenCV
- Функция Matlab freqz в Python
- Записанный звук одной заметки создает несколько периодов начала
- Как улучшить изображение, а затем преобразовать его в двоичное изображение с помощью Python и OpenCV?
- Как получить частоту прямоугольной волны в сценарии python
Существует много способов сделать это. Одним сырым, но эффективным способом является применение полосового фильтра (на частоте 50 Гц), тем самым устраняя все остальные сигналы, а затем вычисляя RMS-мощность последних N выборок.
Другой – вы можете сделать оконный FFT, но на самом деле FFT – просто вычислить нужный бит. Окно может быть любым, что вы хотите (например, Kaiser с альфа-8). ДПФ одного бина – это всего лишь сумма продуктов сигнала с e ^ (i * n * w) (где w – 50 Гц при вашей частоте дискретизации, и n – итератор).
Вероятно, есть более простые способы. Это зависит от того, к чему вы пытаетесь быть устойчивым, насколько быстро движется сигнал и ожидаете ли вы шума или других сигналов в миксе. Если вы не пытаетесь выбрать сигнал из какофонии других людей, вам не нужно много ходить.
- Python: вспомогательный список элементов в зависимости от определенного значения элементов, например boolean
- Просмотр кода в файлах яиц Python в PyDev
- Двумерная свертка и корреляция на основе FFT в Python
- 2D круговая свертка Vs свертки FFT
- симулятор реалистичного сигнала ЭКГ из данных rr для matlab или python
- Повторное создание временных рядов данных с использованием результатов FFT без использования ifft
- Фундаментальная частота по методу Кепстрала
- fir2 от matlab до python
- FFT: найти и вырезать шумно 50 Гц в сигнале
- Пакет Python для обработки сигналов
- Обратная фильтрация с использованием Python