Frequency spectrum - Reading certain y-values
1 view (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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!