У меня есть образец звука, который отбирается по адресу 22k Hz и всего образцов = 660k, так как продолжительность составляет 30 секунд. (22k * 30 = 660K)Путаница о функции scipy.fft
Когда я построить БПФ полной выборки, я получаю симметричный граф с 660K х значений и соответствующих значений Y, как показано:
Это, кажется, читается как звук образец имеет максимальную частоту 330 кГц (у меня есть идея, что она повторяется после половины преобразования fft из-за отрицательных и положительных частот, имеющих одинаковые значения). Если я отрегулирую длину образца звука, максимальная частота fft-графика изменится соответственно (длина/2 -> max freq/2), , который не должен происходить, поскольку частота не зависит от длины образца.
Любые советы? Я не могу это понять.
Правого, вот что я думаю, что изменение размера выборки не должно изменять FFT, так как она образцы ДО определенной частоты ограничение (частота выборки). Я буду запускать аналогичный код в MATLAB и комментировать здесь. – goelakash
Изменение количества выборок не сильно меняло спектр (как и ожидалось), проблема заключается в том, что вы неправильно рисуете, вы рисуете Amplitude vs Sample Index вместо Amplitude vs Frequency. Количество образцов не должно влиять на диапазон ось х вообще. – KillaKem
Вам не нужно идти в Matlab, я давал вам пример программного обеспечения, которое возвращает другой диапазон, я не должен был включать эту строку, поскольку она, похоже, вызвала некоторую путаницу. – KillaKem