How do I import complex numbers into MATLAB when I only have amplitude and phase data in seperate columns?

1 view (last 30 days)
The attached file shows a list of complex numbers against freqency (it is FRF H1 data for an active noise cancellation setup) formatted with frequency in the first column, amplitude in the second, and phase in the third (A = amplitude, phi = phase). Due to the software I'm using to generate the data, there isn't a way of downloading the data in the cartesian format, so I need to make do with having 3 columns instead of just 2.
Is there a way of importing this into MATLAB as a complex double matrix .m file?
Thanks in advance

Accepted Answer

Mathieu NOE
Mathieu NOE on 17 Feb 2022
hello
see below
clc
clearvars
M = csvread('PP-R3 - FRF H1.csv',19);
freq = M(:,1);
data_complex = M(:,2) + 1i*M(:,3);
mod_db = 20*log10(abs(data_complex));
phas = 180/pi*(angle(data_complex));
figure
subplot(211),plot(freq,mod_db);
subplot(212),plot(freq,phas);

More Answers (0)

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!