Can I use MATLAB to do a Hilbert Transform on a 3-D array in MATLAB?
4 views (last 30 days)
Show older comments
I want to perform a Hilbert transform of 3-D array A of size M*N*L. When I use the MATLAB function
hilbert(A);
it gives me following errors:
??? Error using ==> .*
Number of array dimensions must match for binary array op.
Error in ==> X:\MATLAB6p5\toolbox\signal\signal\hilbert.m
On line 58 ==> x = ifft(x.*h(:,ones(1,size(x,2))));
I would like to know if there is any limitation on the HILBERT() function, and if there is any function I can use to calculate the Hilbert transform of a 3-D array.
Accepted Answer
MathWorks Support Team
on 27 Jun 2009
The HILBERT function expects its input argument to be at most 2-D. When you enter a 3-D argument, the function returns the error listed above.
If you need to work with the HILBERT function and a 3-D matrix, please break the 3-D matrix up into 2-D layers and run the HILBERT algorithm in a loop to cover the entire matrix.
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!