Ladies, Gentlemen,
Please let me ask you on how I can get the first zero maximum in following code. I'm beginner in MATLAB. I use b(3) for I see that 3rd element in peaks is the first zero element. But it's bad way. I ask your suggestion for some good way, according to your experience with MATLAB.
I need this code for get fundamental frequencies. I apply my method First Absolute Least Sum.
With regards and friendship, Georges Theodosiou
format shortSamplFreq = 96000;Segm = (1:9600);% Harmonics
HarmFreq1 = 150;HarmPhase1 = 0.2*pi;HarmAngle1 = Segm*HarmFreq1*2*pi/SamplFreq;HarmSin1 = sin(HarmAngle1);HarmFreq2 = 2*HarmFreq1;HarmPhase2 = 1.2*pi;HarmAngle2 = Segm*HarmFreq2*2*pi/SamplFreq;HarmSin2 = sin(HarmAngle2);HarmFreq3 = 3*HarmFreq1;HarmPhase3 = 2.2*pi;HarmAngle3 = Segm*HarmFreq3*2*pi/SamplFreq;HarmSin3 = sin(HarmAngle3);Xn = HarmSin1+HarmSin2+HarmSin3;a = 2000;Sum = ones(1,a);for k = 1:a; Sum(k) = sum(Xn(1:k));end[a,b] = findpeaks(-abs(Sum));fundFreq = SamplFreq/b(3)
Best Answer