
Un modulateur PWM est en fait un compteur. On compare ce compteur à une valeur correspondant au rapport cyclique désiré. Si le compteur est en dessous de cette valeur, on met la sortie du circuit à 1, sinon on la met à 0. Le temps que met le compteur à reboucler donne la fréquence du PWM.
Généralement, on pré-divise l'horloge système par n pour aboutir à la fréquence PWM désirée. Pour un compteur 8 bits, la fréquence PWM sera donc : 
Il existe plusieurs façons de réaliser un modulateur SSPWM (variation de phase, random XOR, NCO, ...). Nous avons pris une approche simple et facile à implémenter : on fera varier de façon aléatoire le coefficient de pré-division de l'horloge (n). Pour être suffisamment souple, on donnera en paramètres à notre modulateur les fréquences minimum et maximum admissibles.