Credo che vadano considerati vari casi, a seconda che la risoluzione della PWM (il numero di count del periodo) sia maggiore o minore di quella del segnale di ingresso.
Comunque, è vero che facendo nel primo modo la risoluzione peggiora, ma l'amplificazione in quel caso sarebbe 2*K (errore formale mio), mentre per amplificare di K volte bisognerebbe moltiplicare per K/2, e a quel punto si può arrotondare in modo da evitare la perdita di risoluzione.
Si potrebbe ad esempio assegnare
- Codice: Seleziona tutto
duty_sx = PERIOD>>1 + (K * (v_in+1)>>1)
duty_dx = PERIOD>>1 - (K * v_in>>1)
Non ho provato il codice, ma a mente mi torna, per lo meno se PERIOD è pari.
Tenendo uno dei due duty a zero (in trifase, quando si tiene bloccata una gamba, si chiama modulazione "bus-clamped"), si risparmiano commutazioni e forse conti, ma il ripple di corrente praticamente raddoppia. Infatti l'uscita vede in quel caso un solo impulso a periodo, mentre nell'altro caso ne vede due.