Why thd() function captures incorrect harmonics?
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hi, I use thd() to calculate one time-domain singal, and I try three commands but all fails. Can anyone help me to solve this question? Thanks!
load signal.mat
% 1. time-domain signal as inputs
% error: the fundemental freq is captured, but the other five harmonics are not correctly captured)
thd(signal,100,6); xlim([0 0.3])
% 2. psd as inputs (same error)
[pxx,f] = periodogram(signal,rectwin(length(signal)),length(signal),100);
thd(pxx,f,6,'psd'); xlim([0 0.3]);
% 3. power spectural as inputs
[sxx,f] = periodogram(signal,rectwin(length(signal)),length(signal),100,'power');
rbw = enbw(rectwin(length(signal)),100);
thd(sxx,f,rbw,'power'); xlim([0 0.3]);
0 commentaires
Réponses (1)
  Geetla Sindhu
    
 le 7 Oct 2022
        
      Modifié(e) : Geetla Sindhu
    
 le 7 Oct 2022
  
      Hello Ying Wu,
I understand that you are trying to calculate THD of a signal using three approaches. 
It would be helpful if you could elaborate more on how you are assuring that the results obtained through all the approaches are wrong. This is because we cannot manually calculate the THD for such a signal.
Thank you.
Voir également
Catégories
				En savoir plus sur Spectral Measurements dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




