Frequency spectrum - Reading certain y-values
2 views (last 30 days)
Show older comments
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
on 27 Mar 2019
If you share a sample of your data it would be easier to visualize what's going on.
Accepted Answer
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.
0 Comments
More Answers (0)
See Also
Categories
Find more on Animation 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!