Come creare la modulazione di larghezza d’impulso combinando onde a dente di sega di polarità opposta
Per creare la modulazione di larghezza d’impulso (PWM), combina due onde a dente di sega identiche allo stesso livello, inverti la polarità di una e varia la loro fase relativa. Le rampe opposte si annullano tra un reset e l’altro, lasciando una forma d’onda impulsiva la cui larghezza dipende dalla distanza tra quei reset. New Systems Instruments documenta esplicitamente questa tecnica per il suo oscillatore a dente di sega controllato in fase. Triphase Oscillator
Questa guida è rivolta a chi usa sintetizzatori e vuole creare quel suono combinando le funzioni di oscillatore e mixer. Inizia con un impulso statico, verifica che l’annullamento funzioni e poi introduci il movimento. La scelta pratica consiste nel decidere se controllare direttamente la fase o lasciare che due frequenze leggermente diverse la facciano variare in modo continuo.
Quali caratteristiche devono coincidere perché due onde a dente di sega producano un impulso?
Servono due segnali a dente di sega con la stessa forma di base, ampiezze uguali, polarità opposte e una relazione di fase regolabile. Per ottenere un impulso statico preciso, devono anche avere la stessa frequenza. Un segnale sale tra un reset e l’altro, mentre l’altro scende; le loro pendenze si annullano quando vengono sommate.
Una configurazione utile comprende una sorgente a dente di sega con uscite di fase regolabili in modo indipendente, un mixer in grado di sottrarre un segnale dall’altro e un oscillatore a bassa frequenza (LFO) per la modulazione. In alternativa, usa due oscillatori e un invertitore di polarità separato. Il Triphase Oscillator è un esempio hardware documentato: fornisce uscite a dente di sega alla stessa altezza con controlli di fase indipendenti e un mixer bipolare. Triphase Oscillator
L’inversione di polarità e lo sfasamento sono operazioni distinte. L’inversione moltiplica ogni campione o tensione per −1. Uno sfasamento sposta la forma d’onda all’interno del suo ciclo. Uno spostamento di mezzo ciclo di un’onda a dente di sega non ne inverte da solo la pendenza. L’analisi delle forme d’onda di Puckette mostra che sottraendo onde a dente di sega sfasate di mezzo ciclo si ottiene un’onda quadra, mentre sommandole si ottiene un dente di sega a frequenza doppia. Onde a dente di sega e simmetria
Di conseguenza, il controllo della fase iniziale di un sintetizzatore è utile solo se stabilisce la relazione necessaria. Per ottenere una PWM continua serve un parametro che modifichi la fase relativa mentre la nota è in esecuzione, oppure una differenza di frequenza che faccia variare quella fase.
Perché la sottrazione di onde a dente di sega modifica la larghezza dell’impulso?
Immagina due onde a dente di sega identiche, sfasate di una parte del ciclo. Sottrai una dall’altra. Tra i loro reset, entrambe salgono alla stessa velocità, quindi la loro differenza resta costante. Quando una delle due si azzera, la differenza salta a un altro livello. La distanza tra i due reset determina per quanto tempo l’uscita rimane a ciascun livello. Questo è il metodo della sottrazione di denti di sega ritardati descritto nella nota di sintesi di Steffan Diedrichsen. Modulazione della larghezza d’impulso
Ecco una convenzione matematica esplicita per prevedere il risultato. Sia p la fase corrente, da 0 incluso a 1 escluso. Definiamo un dente di sega crescente normalizzato come r(p) = 2 × frac(p) − 1, dove frac riporta il proprio argomento in quell’intervallo. Per un ciclo di lavoro dell’impulso positivo desiderato D, compreso tra 0 e 1, costruiamo y = r(p − D) − r(p).
Con questa convenzione, l’uscita è 2(1 − D) durante la prima porzione D del ciclo e −2D per il resto. Pertanto, la porzione positiva dura esattamente D di ogni ciclo. I valori seguenti sono un calcolo illustrativo per denti di sega ideali compresi tra −1 e +1, non misure di uno strumento specifico.
| Ciclo di lavoro positivo | Ritardo relativo | Livello alto | Livello basso |
|---|---|---|---|
| 25% | Un quarto di ciclo, o 90° | +1.5 | −0.5 |
| 50% | Mezzo ciclo, o 180° | +1.0 | −1.0 |
| 75% | Tre quarti di ciclo, o 270° | +0.5 | −1.5 |
I livelli positivi e negativi disuguali al 25% e al 75% sono previsti: in questa configurazione ciascuna forma d’onda ha valore medio zero. Ho verificato numericamente questi tre casi su 1.000 fasi equidistanti. Invertendo l’ordine della sottrazione si inverte la polarità dell’uscita, quindi la direzione di fase mostrata da un dispositivo può corrispondere al ciclo di lavoro positivo complementare.
Con sfasamento relativo nullo, le onde identiche e di polarità opposta si annullano completamente. Questo estremo è utile per la calibrazione, ma non produce un tono impulsivo continuo.
Come si configura un impulso stabile prima di aggiungere la modulazione?
Segui questa procedura se il tuo strumento offre uscite a dente di sega corrispondenti con fase relativa regolabile. Il manuale di New Systems Instruments documenta lo stesso instradamento di base: un contributo positivo al mixer, uno negativo e la regolazione della fase per impostare la larghezza dell’impulso. Triphase Oscillator — Manuale dell’utente, revisione 1.01
- Scegli due segnali a dente di sega corrispondenti. Usa un nucleo di oscillatore condiviso o una struttura software per oscillatori che mantenga la relazione tra le loro frequenze.
- Disattiva temporaneamente la modulazione. Disabilita la randomizzazione della fase e le voci aggiuntive, così potrai valutare una sola coppia di forme d’onda.
- Instrada entrambi i segnali a un mixer sommatore. Mantieni lineari i loro percorsi mentre configuri l’annullamento.
- Inverti un contributo. Usa un guadagno negativo sul mixer o un invertitore dedicato. Mantieni positivo l’altro contributo.
- Pareggia le ampiezze con sfasamento nullo. Regola i livelli finché l’uscita sommata è quasi silenziosa.
- Porta la fase relativa a mezzo ciclo. Il risultato ideale è un’onda quadra con durate uguali per i livelli alto e basso.
- Riduci la separazione fino a un quarto di ciclo. Verifica che una porzione si accorci mentre l’altra si allunga.
Se disponibile, osserva la somma su un oscilloscopio. Con uno sfasamento fisso, cerca due tratti approssimativamente orizzontali separati da transizioni. In questo modo avrai un riscontro concreto prima di valutare il suono attraverso filtri o effetti.
Posizioni uguali delle manopole non corrispondono necessariamente ad ampiezze uguali dei segnali. Il test di annullamento a sfasamento nullo verifica i percorsi completi, compresi i livelli di uscita degli oscillatori e i guadagni del mixer. Una volta superato il test, lascia fissi quei guadagni e regola la larghezza con la fase.
Come si trasforma un impulso fisso in una PWM controllata?
Applica un LFO al controllo della fase relativa. Come punto di partenza illustrativo, centra la relazione a mezzo ciclo e usa una frequenza di modulazione lenta, per esempio 0,3 Hz. Aumenta gradualmente la profondità finché l’impulso passa da largo a stretto senza arrivare all’annullamento completo. Sono impostazioni iniziali da regolare a orecchio, non specifiche di un prodotto.
Per definire l’intervallo di modulazione, la convenzione precedente si può scrivere come D(t) = 0.5 + 0.2 × sin(2π × 0.3 × t), con il tempo t espresso in secondi. Così il ciclo di lavoro positivo oscilla tra il 30% e il 70%, completando un ciclo di modulazione in circa 3,33 secondi. Adatta questo intervallo alle unità di fase del tuo strumento; non dare per scontato che tutti gli ingressi di fase usino la stessa scala di tensione.
Spostare solo la fase di uno dei denti di sega sposta un fronte dell’impulso rispetto all’altro. Se ciò provoca più variazioni di altezza di quante ne desideri, prova a spostare entrambe le fasi in misura uguale e in direzioni opposte. Il manuale del Triphase consiglia esplicitamente di applicare lo stesso segnale di controllo a entrambi gli ingressi di fase, con impostazioni opposte dell’attenuatore-invertitore, per ridurre la variazione dell’altezza della fondamentale. Triphase Oscillator — Manuale dell’utente
Imposta l’intervallo della larghezza prima di aggiungere altre elaborazioni del suono. Così sarà più facile capire se un suono che sfuma è dovuto all’avvicinarsi dell’annullamento o a uno stadio successivo della patch.
Oscillatori leggermente stonati possono produrre lo stesso movimento?
Sì. Due denti di sega di polarità opposta e frequenze leggermente diverse cambiano continuamente fase relativa. L’esempio di PWM di Puckette usa proprio questo approccio. È utile quando un sintetizzatore offre il controllo dell’accordatura degli oscillatori e l’inversione di polarità, ma non un controllo continuo della fase. Combinare onde a dente di sega
La relazione di fase avanza di un ciclo completo per ogni ciclo di differenza di frequenza. Per esempio, le frequenze illustrative di 100 Hz e 100,2 Hz differiscono di 0,2 Hz, quindi la loro fase relativa si ripete ogni 1 ÷ 0.2 = 5 secondi. Una differenza di frequenza fissa fornisce quindi un periodo di scansione prevedibile.
Esiste una piccola distinzione matematica rispetto alla configurazione a frequenza uguale. Per i denti di sega normalizzati, le pendenze sono proporzionali alla frequenza. Sottrarre denti di sega a frequenze diverse lascia una pendenza residua tra le transizioni; il risultato si avvicina a un impulso con livelli piatti man mano che la differenza si riduce. Questo deriva direttamente dalla derivazione dei tratti di rampa della formula del dente di sega.
La stonatura passa inoltre attraverso l’intero ciclo della fase relativa, avvicinandosi anche all’annullamento. La modulazione diretta della fase permette di scegliere un centro e limitare l’escursione. Scegli la stonatura per una relazione rotante continua; scegli il controllo di fase quando ti serve un intervallo di larghezza ripetibile.
Cosa fare se l’oscillatore non ha un’uscita di fase regolabile?
Verifica se il tuo sistema può ricavare un dente di sega sfasato a partire da uno esistente. Doepfer documenta un metodo algebrico: confronta il dente di sega in ingresso con una tensione di controllo, poi somma il segnale rettangolare risultante al livello corretto per ottenere un dente di sega sfasato. La tensione di controllo determina lo sfasamento effettivo. A-137-2 Wave Multiplier II
Se un processore adatto fornisce separatamente quel dente di sega sfasato, puoi combinarlo con l’originale di polarità opposta usando il metodo descritto sopra. Verifica prima quali uscite sono disponibili. La descrizione dell’A-137-2 di Doepfer distingue l’uscita sommata dai singoli segnali disponibili internamente; non bisogna dare per scontato che la somma del pannello frontale sia un dente di sega sfasato accessibile separatamente. A-137-2 Wave Multiplier II
La scelta pratica dell’attrezzatura è quindi questa: usa uscite di fase indipendenti quando sono disponibili, stona due oscillatori quando è accettabile una scansione completa oppure usa un processore per lo sfasamento del dente di sega documentato, con accesso ai singoli segnali. La funzione necessaria è una relazione controllabile tra rampe corrispondenti.
Come si individua la causa di un risultato inatteso?
Procedi a ritroso partendo dalla patch statica più semplice. I controlli seguenti derivano dal modello di annullamento e aiutano a distinguere gli errori di instradamento dalla modulazione intenzionale.
| Cosa osservi | Cosa controllare | Prossima azione |
|---|---|---|
| A sfasamento nullo rimane un forte dente di sega | Polarità e corrispondenza delle ampiezze | Verifica che un contributo sia negativo, poi regola i livelli per ottenere l’annullamento |
| Tratti inclinati con larghezza fissa | Corrispondenza di frequenza, guadagno e forma d’onda | Elimina la stonatura e confronta i due segnali sorgente |
| La larghezza cambia solo all’inizio della nota | Comportamento della fase iniziale | Cerca una modulazione continua della fase oppure usa una lieve stonatura |
| Il suono quasi scompare a intervalli regolari | La modulazione raggiunge fasi allineate | Riduci la profondità o sposta il centro di fase |
| Aggiungere il secondo dente di sega aumenta l’altezza percepita | Entrambi i contributi del mixer potrebbero avere la stessa polarità | Ricontrolla l’inversione prima di regolare la fase |
Nelle implementazioni digitali, distingui anche la costruzione della forma d’onda dalla qualità del rendering audio. Un dente di sega calcolato matematicamente contiene discontinuità. SciPy afferma esplicitamente che la sua funzione sawtooth non è limitata in banda e che le sue armoniche producono aliasing; campionare due rampe di questo tipo e sottrarle non fornisce un metodo di anti-aliasing. Documentazione SciPy per l’onda a dente di sega
Per un’implementazione software a frequenza audio, usa un metodo appropriato per generare oscillatori limitati in banda o una struttura sovracampionata con filtraggio prima della riduzione della frequenza di campionamento. Puckette documenta sia il sovracampionamento sia i metodi basati su finestre di transizione per generare denti di sega. Verifica il risultato nell’intera gamma di note e modulazioni prevista, anziché affidarti solo all’ispezione della forma d’onda sulle note basse. Strategie per limitare in banda le onde a dente di sega
Crea il suono in tre fasi: verifica l’annullamento a sfasamento nullo, ottieni un’onda quadra con una separazione di mezzo ciclo e poi anima la fase relativa. Questa sequenza offre un riferimento affidabile a ogni passaggio e rende più facile controllare la patch PWM finale.
Fonti
- Triphase Oscillator — New Systems Instruments
- Triphase Oscillator — Manuale dell’utente, revisione 1.01
- Onde a dente di sega e simmetria — Miller Puckette
- Modulazione della larghezza d’impulso — Musicdsp.org, Steffan Diedrichsen
- Combinare onde a dente di sega — Miller Puckette
- A-137-2 Wave Multiplier II — Doepfer
- dente di sega — Documentazione SciPy
- Strategie per limitare in banda le onde a dente di sega — Miller Puckette
