High-precision IFFT
이전 댓글 표시
Hi! I need some high precision computations, so I use the function vpa() with about 32 digits. My final result is obtained by making ifft(x, 'symmetric'). The problem is that I need to transform x to double again, loosing my required precision. Is there any way to overcome this? I think the only way is to make my own ifft function, I am correct? Thanks!
댓글 수: 2
Paul
2022년 1월 24일
I'm pretty sure that you are correct that you will have to roll your own, symbolic, ifft() function. Is the symbolic array x all high precision numbers? Or are the elements of x symbolic expressions?
Demian Augusto Vera
2022년 1월 25일
채택된 답변
추가 답변 (1개)
Given that x is an array of high precision numbers, not symbolic expressions, it should be straightforward to implement the ifft sum. It might not be efficient and it might be slow, but it should work. The one thing I'm not sure about is how well this will work to ensure that the time domain sequence, X[n], is real, which I think is the expectation based on the symmetric flag in the call to numerical ifft. If the result does have a small imaginary part, it can always be removed I suppose, but I don't know what that indicates about precision of the solution you're trying to obtain. OTOH, I'm curious if you are ensuring that the sequence x is exactly conjugate symmetric in the first place, to whatever precision you're using. Or the ifft sum can be implemented assuming x is conjugate symmetric.
카테고리
도움말 센터 및 File Exchange에서 z-transforms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!