Hello all!
I have a question regading the caluculation of FRF magnitude spectra that I would really appreciate some help with.
I have a number of files, each containing single sided FRFs with the real part in the first column and the imaginary part in the second. The question is how to obtain the magnitude spectra. Does this work in the same way as for a FFT, i.e. i take abs(re+im), to get the magnitude, or do I simply extract the real part (first column) from the file?
This might seem as a trivial question, but I'm having real trouble finding a good answer.
Regards, Felix

댓글 수: 1

Hector Aguila
Hector Aguila 2019년 1월 29일
La magnitud de la transformada se calcula sacando el valor absoluto del complejo que la representa, y la potencia espectral se calcula como el cuadrado de la magnitud de la transformada.

댓글을 달려면 로그인하십시오.

 채택된 답변

Wayne King
Wayne King 2012년 1월 4일

0 개 추천

Hi Felix, you should form complex numbers in MATLAB from the first and second columns and take the magnitude squared (if it is a power calculation) of those complex numbers.

댓글 수: 1

Felix Torner
Felix Torner 2012년 1월 4일
Thank you for your answer.
This is sort of what I figured. What I do now is that I take abs(column1 + i*column2) wich I guess gives me the magnitude. If I understand your answer correctly I should calculate (abs(column1 + i*column2))^2. This would be the FRF power spectra then?
Is there an intuitive way of understanding what this represents? I get how a power spectrum for a normal FFT works, but since the FRF represents the transfer function I have a bit of a problem getting to grips with things.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Dr. Seis
Dr. Seis 2012년 1월 4일

0 개 추천

Or... if you want the magnitude and the input data is really just two columns of numbers(second column not specifically formatted as imaginary), then
data = % Read in data
data_mag = hypot(data(:,1),data(:,2));

댓글 수: 3

Felix Torner
Felix Torner 2012년 1월 4일
That is exactly the case. Thank you very much!
Still having trouble understanding why it is not simply enough to use the real part of it though, or more specifically what the different values represent. I always thought that the real part was the magnitude and the imaginary represented phase. Seems as if that is not the case.
Dr. Seis
Dr. Seis 2012년 1월 4일
The magnitude is the length of the vector and the phase is the angle of the vector when complex value is plotted on a grid where the x-axis is the real part and the y-axis is the imaginary part. So... if
data_complex = complex(data(:,1),data(:,2));
Then,
data_mag = abs(data_complex);
data_phase = angle(data_complex);
Felix Torner
Felix Torner 2012년 1월 4일
That makes perfect sense. I haven't dealt with any of this since I graduated but it's slowly coming back now. Thank you very much!

댓글을 달려면 로그인하십시오.

카테고리

태그

질문:

2012년 1월 4일

댓글:

2019년 1월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by