Problem in finding ABS of a complex number of 2D matrix

2 views (last 30 days)
I've created a 2D matrix of size 4096x28 which contains complex numbers generated after performing FFT on a raw signal. Now I'm trying to find abs of the complex numbers in this matrix. But I get an error my code and error are as follows
%fft for X signal
fftx=fft(reshape(T_hor,4096,[]));
%Xn value of the complex signal
Xn = abs(fftx);
%phase angle for X signal
alpha = angle(fftx);
%FFT for Y signal
ffty= fft(reshape(T_ver,4096,[]));
%Yn value for the complex signal
Yn=abs(ffty,NFFT);
%phase angle for the second signal
beta=angle(ffty);
I get this error
"??? Error using ==> abs
Too many input arguments.
Error in ==> Test_run_discard_AU_2 at 31
Yn=abs(ffty,NFFT);"
Any hints or suggestions would be really helpful. Thanks in advance.

Accepted Answer

Stephen23
Stephen23 on 17 Feb 2015
Edited: Stephen23 on 17 Feb 2015
abs only accepts one input argument, whereas you are trying to use it with two: abs(ffty,NFFT).
In fact abs is defined as a unary operation , so what operation are you hoping to achieve by providing it with two arguments?
  4 Comments
Yoav Livneh
Yoav Livneh on 17 Feb 2015
Use
Yn=abs(ffty);
like Stephen Cobeldick said, and you should be fine.
Bharath
Bharath on 17 Feb 2015
Sorry guys! Little confused. I used only one argument for abs for fftx but ffty I made a mistake. I didn't see that. So I was thinking something else. Thanks again for your valuable time.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!