БПФ Гаусс против Фурье-преобразования (вручную) Гаусса

В программе на Фортране я использую преобразование Фурье для данной функции, которую может выбрать пользователь. Но пользователь уже должен написать преобразование Фурье функции.

Поэтому я хотел расширить программу таким образом, чтобы пользователь мог только дать исходную функцию. В этом случае функция Гаусса. Для этого мне нужно затем сделать БПФ.

Если у нас есть:

h(x)=exp(-t^2)

затем вручную преобразование Фурье

fth(k)=sqrt(pi)*exp(-k.^2/4)

Теперь, если я сделаю fft h(x), я должен получить fth(k) правильно? Вот мой код:

 Fs=10;
 x=-10:1/Fs:10;
 L=length(x);
 Nk=2^nextpow2(L);
 h=exp(-x.^2);
 k=Fs*(1:Nk/2)/Nk;
 fth(k)=sqrt(pi)*exp(-k.^2/4);
 ffth=fft(h,Nk);
 ffth=abs(ffth);
 figure
 plot(f,ffth(1:Nk/2+1),'r');
 hold on
 plot(f,fth(1:Nk/2+1),'b');

Но почему я получаю что-то совершенно другое?

0 ответов

Другие вопросы по тегам