Frequency spectrum - Reading certain y-values

1 view (last 30 days)
Given is the frequency spectrum of a measurement. The x-axis represents the frequency, the y-axis the amplitude. These are stored as individual column vectors. I am now interested in the amplitude values at certain frequencies (e.g., 2,3,4,5 MHz). How can I best "read" these and store them in a separate vector / matrix?
Thanks a lot!
  2 Comments
Adam Danz
Adam Danz on 27 Mar 2019
If you share a sample of your data it would be easier to visualize what's going on.
Mepe
Mepe on 27 Mar 2019
As already described, I would like to read defined x-values with the corresponding y-values. Attached are my measurement.
untitled.jpg
Thanks!

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 27 Mar 2019
Edited: Adam Danz on 27 Mar 2019
How can I best "read" these and store them in a separate vector / matrix?
file = 'C:\Users\name\Documents\MATLAB\5M_60°_4_5MHz_20V_C.csv';
num = xlsread(file);
>> size(num)
%ans =
% 16385 2
I am now interested in the amplitude values at certain frequencies (e.g., 2,3,4,5 MHz).
%find freq closest to target
target = 2.0;
[~, closestIdx] = min(abs(num(:,1) - target));
num(closestIdx,:)
%ans =
% 1.9995 -74.481
If you're looking for specific peaks, check out findpeaks() function.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!