matplotlib.pyplot.specgram
-
matplotlib.pyplot.specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, cmap=None, xextent=None, pad_to=None, sides=None, scale_by_freq=None, mode=None, scale=None, vmin=None, vmax=None, hold=None, data=None, **kwargs)[source] -
Построение спектрограммы.
Вызов:
specgram(x, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, window=mlab.window_hanning, noverlap=128, cmap=None, xextent=None, pad_to=None, sides='default', scale_by_freq=None, mode='default', scale='default', **kwargs)Вычисление и построение спектрограммы данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция окон window применяется к каждому сегменту, и количество перекрытия каждого сегмента задаётся параметром noverlap. Спектрограмма строится в виде цветовой карты (используется imshow).
Параметры: -
x : 1-D array or sequence -
Массив или последовательность, содержащая данные.
-
Fs : scalar -
Частота дискретизации (образцы в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию равно 2.
-
window : callable or ndarray -
Функция или вектор длиной NFFT. Для создания векторов окна см.
window_hanning(),window_none(),numpy.blackman(),numpy.hamming(),numpy.bartlett(),scipy.signal(),scipy.signal.get_window()и т.д. Значение по умолчанию —window_hanning(). Если в качестве аргумента передана функция, она должна принять сегмент данных в качестве аргумента и вернуть оконную версию сегмента. -
sides : [ 'default' | 'onesided' | 'twosided' ] -
Определяет, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращающее односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
-
pad_to : integer -
Число точек, на которое дополняются данные сегмента при выполнении FFT. Это может отличаться от NFFT, которое определяет число точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может дать больше точек на графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию равно None, что устанавливает pad_to равным NFFT.
-
NFFT : integer -
Количество точек данных, используемых в каждом блоке для FFT. Мощность 2 наиболее эффективна. Значение по умолчанию равно 256. Это не должно использоваться для получения нулевого заполнения, иначе масштабирование результата будет неверным. Используйте pad_to для этого вместо.
-
detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable -
Функция, применяемая к каждому сегменту перед fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib это функция. Модуль
pylabопределяетdetrend_none(),detrend_mean(), иdetrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызываютdetrend_mean(). 'linear' вызываетdetrend_linear(). 'none' вызываетdetrend_none(). -
scale_by_freq : boolean, optional -
Указывает, следует ли масштабировать значения плотности на частоту масштабирования, что даёт плотность в единицах Hz^-1. Это позволяет производить интегрирование по возвращаемым значениям частоты. По умолчанию равно True для совместимости с MATLAB.
-
mode : [ 'default' | 'psd' | 'magnitude' | 'angle' | 'phase' ] -
Какой тип спектра использовать. Значение по умолчанию — 'psd', которое принимает плотность спектральной мощности. 'complex' возвращает комплекснозначный спектр частоты. 'magnitude' возвращает спектр величины. 'angle' возвращает спектр фазы без разворачивания. 'phase' возвращает спектр фазы с разворачиванием.
-
noverlap : integer -
Число перекрывающихся точек между блоками. По умолчанию равно 128.
-
scale : [ 'default' | 'linear' | 'dB' ] -
Масштабирование значений в spec. 'linear' — отсутствие масштабирования. 'dB' возвращает значения в масштабе дБ. Когда mode равно 'psd', это дБ мощности (10 * log10). В противном случае это дБ амплитуды (20 * log10). 'default' — 'dB', если mode равно 'psd' или 'magnitude', и 'linear' в противном случае. Это должно быть 'linear', если mode равно 'angle' или 'phase'.
-
Fc : integer -
Центральная частота x (по умолчанию 0), которая смещает границы по оси x графика, чтобы отразить диапазон частот, используемый при получении сигнала, а затем фильтрации и дискретизации до полосы пропускания.
- cmap :
-
Экземпляр
matplotlib.colors.Colormap; если None, используется значение по умолчанию, определяемое rc -
xextent : [None | (xmin, xmax)] -
Диапазон изображения по оси x. По умолчанию xmin устанавливается в левую границу первого интервала (столбец spectrum), а xmax — в правую границу последнего интервала. Обратите внимание, что для noverlap>0 ширина интервалов меньше, чем у сегментов.
- **kwargs :
-
Дополнительные kwargs передаются в imshow, что создаёт изображение спектрограммы
Возвращает: -
spectrum : 2-D array -
Столбцы — периодограммы последовательных сегментов.
-
freqs : 1-D array -
Частоты, соответствующие строкам в spectrum.
-
t : 1-D array -
Времена, соответствующие серединам сегментов (т.е., столбцам в spectrum).
-
im : instance of class AxesImage -
Изображение, созданное imshow, содержащее спектрограмму
См. также
-
psd() -
psd()отличается по умолчанию перекрытием; по возвращению среднего значения периодограмм сегмента; по возвращению времен; и по генерации линейного графика вместо цветовой карты. -
magnitude_spectrum() - Один спектр, аналогично наличию одного сегмента, когда mode равен 'magnitude'. Строит линию вместо цветовой карты.
-
angle_spectrum() - Один спектр, аналогично наличию одного сегмента, когда mode равен 'angle'. Строит линию вместо цветовой карты.
-
phase_spectrum() - Один спектр, аналогично наличию одного сегмента, когда mode равен 'phase'. Строит линию вместо цветовой карты.
Примечания
Параметры detrend и scale_by_freq применяются только тогда, когда mode установлен в 'psd'.
Примечание
В дополнение к вышеописанным аргументам, эта функция может принять аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]:
- Все аргументы со следующими именами: 'x'.
-
Примеры использования matplotlib.pyplot.specgram
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/_as_gen/matplotlib.pyplot.specgram.html