simple test for nufft not working

조회 수: 5 (최근 30일)
Pieter van Wyk
Pieter van Wyk 2023년 3월 27일
편집: Pieter van Wyk 2023년 3월 27일
I have a very simple test code for using the nufft function:
%% define signal
t = [-1.0/(2*pi),1.0/(2*pi)];
X = [1.0,1.0];
%% compute the NFFT
f_k = -10:10;
Y_k = nufft(X,t,f_k);
Accroding to the equation given in the documentation the result of this test should be , but the result is just a real constant across . How do I need to modify my program to deliver the correct result, or is this a bug?

채택된 답변

Paul
Paul 2023년 3월 27일
편집: Paul 2023년 3월 27일
Hi Pieter,
I don't think that expression for Y(k) is correct. We can check symbolically
%% define signal
t = sym([-1.0,1.0]);
X = [1.0/(2*sym(pi)),1.0/(2*sym(pi))];
%% compute the NFFT
%f_k = sym(-10:10);
%Y_k = nufft(X,t,f_k)
syms f_k
% expression of Y(k) from the doc page for nufft
Yk = sum(X.*exp(-1j*2*sym(pi)*t*f_k))
Yk = 
Yk = simplify(Yk)
Yk = 
Subbing back in the values of f_k from the original problem
cos(2*pi*(-10:10))/pi
ans = 1×21
0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183
which matches the result from nufft.
nufft(double(X),double(t),-10:10)
ans = 1×21
0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183 0.3183

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by