Analysing PWM duty cycle of a signal
Afficher commentaires plus anciens
I have recorded a PWM signal from a given device.
I require to determine the duty cycle(s) of the signal as the transitions from one state to another.
How may I output the duty cycle of the PWM thoughout the signal?
I am using Matlab 2016b
Réponses (1)
David Hill
le 20 Mar 2023
s=pwm>threshold;%pwm is your signal, threshold is when it is considered on or off
d=diff(s);
idx1=find(s,1);
idx2=find(d==-1);
idx3=find(d==1);
num=idx2-[idx1-1,idx3(1:end-1)];
denom=diff([idx1-1,idx3]);
dutyCycle=num./denom;
3 commentaires
Sherzaad Dinah
le 21 Mar 2023
David Hill
le 21 Mar 2023
Modifié(e) : David Hill
le 21 Mar 2023
I assumed your data was a horizontal array. For a better response, attach your data.
s=CH01_01(:)';%convert to horizontal array
s=s>.75;
Sherzaad Dinah
le 22 Mar 2023
Modifié(e) : Sherzaad Dinah
le 24 Mar 2023
Catégories
En savoir plus sur Simulink dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!