Fftshift или convolve из модуля NumPy некорректно работаютPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Fftshift или convolve из модуля NumPy некорректно работают

Сообщение Anonymous »

Я пытаюсь показать в Python эквивалентность умножения двух сигналов во временной области и их свертки в частотной области.
Благодаря Baddioes в этом посте, это было показано, что такую ​​эквивалентность можно показать с помощью функции fftshift, но пример был выполнен в Matlab. Я ожидал получить абсолютно такой же результат в Python, но он не тот, код ниже:

Код: Выделить всё

f = 2e6
t = np.linspace(0,1,64)

x = np.sin(2*np.pi*f*t)
y = np.sin(2*np.pi*0.5*f*t)

# multiplication in time domain
signal_xy = x*y

# Fourier of multiplied signals and individual signal
FFT_xy = np.fft.fft(signal_xy)
FFT_x = np.fft.fft(x)
FFT_y = np.fft.fft(y)

n = FFT_x.shape[0]

# plot the result
plt.plot(abs(FFT_xy))
plt.plot(np.fft.fftshift(abs(np.convolve(np.fft.fftshift(FFT_x),np.fft.fftshift(FFT_y), 'same')))/len(FFT_x), linestyle='--')
Изображение

Я также пробовал использовать fftshift и convolve из модуля scipy, но результат абсолютно тот же.
Действует ли fftshift и функции свертки корректно работают в Python?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -operation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Fftshift или convolve из модуля NumPy некорректно работают
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Fftshift или convolve из модуля NumPy некорректно работают
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Сделайте Pyfftw быстрее, чем Scipy Convolve
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Несовпадение в двумерной функции CUDA-FFTShift
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Несовпадение в двумерной функции CUDA-FFTShift
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»