DHT vs DIT - P2prod/Filter-Modeling-Simulation GitHub Wiki

Introduction

Il existe des amplificateurs possédant un taux de distorsion harmonique totale (DHT) très faible (disons 0.001%) et qui pourtant sonnent moins bien que ceux présentant des valeurs beaucoup plus élevées (1%).

Paradoxal direz-vous! Et vous aurez raison.

Explications

Qu'est-ce que la DHT?

La DHT (distorsion harmonique totale) traduit la capacité qu'a un ampli à respecter scrupuleusement les signaux d'entrée lors de l'amplification. Il ne doit ni en rajouter ni en enlever. En d'autres termes, et pour faire simple, si l'entrée est constituée d'un signal de fréquence f, la sortie doit être constituée d'un signal de fréquence f mais amplifié. Si la sortie présente des traces de fréquences 2f, 3f, etc..., alors on dit qu'il y a distorsion harmonique car 2f, 3f,... sont des harmoniques de f. Dans ce cas, l'amplificateur a généré en plus du signal de fréquence f, des signaux indésirables de fréquence double (harmonique 2), triple (harmonique 3), etc... La distorsion harmonique total est le rapport en % de la somme quadratique des amplitudes de tous ces signaux à l'amplitude du fondamental. Typiquement, le spectre de la réponse d'un ampli a l'allure suivante :

spectre Les raies verticales représentent les harmoniques. En abscisse, on trouve la fréquence, et en ordonnée l'amplitude des signaux.

Comment un ampli peut-il générer des harmoniques?

Les constructeurs décidèrent donc de faire la chasse aux harmoniques.

Le moyen parfaitement adapté à cette quête était la CONTRE-REACTION.

Cet outil très connu des électroniciens est un asservissement de l'entrée de l'amplificateur sur la sortie. Il s'agit d'un système bouclé qui agit comme une régulation. On prélève une fraction du signal de sortie que l'on réinjecte en opposition de phase sur l'entrée de façon à minimiser les harmoniques indésirables.

La contre-réaction, comment ça marche?

L'amplificateur peut se représenter de la façon suivante :

la_rub1

Ve : tension d'entrée

Vs : tension de sortie

A : gain en tension de l'ampli

$\beta$ : facteur de contre-réaction

Le triangle représente l'amplificateur et le carré la contre-réaction.

On voit que : $Vs = A \cdot (Ve – \beta \cdot Vs)$ d'où :

$\displaystyle \frac{Vs}{Ve} = \frac{A}{(1+A \cdot \beta)}$

Le nouveau gain est donc $\frac{A}{(1+A \cdot \beta)}$. Le gain d'origine de l'ampli (celui sans contre-réaction – on dit aussi en boucle ouverte) est donc divisé par le terme $1+A \cdot \beta$. En général $A \cdot \beta$ est assez élevé en tout cas par rapport à 1 et on peut donc approximer la formule précédente par $\frac{Vs}{Ve} = \frac{1}{\beta}$ où $1 \over \beta$ est une valeur constante et donc linéaire. On démontre, mais je ne le ferai pas ici et je renvoie à l’excellent livre de Michel Girard « Amplificateurs de puissance » §5.2.2.2 page 267, que le taux de distorsion harmonique est divisé par $1+A \cdot \beta$ pour un ampli contre-réactionné. En général A=100000 et $\beta = 0.1$, donc $1+ A \cdot \beta = 10001$. Ce qui signifie que la distorsion harmonique totale est divisée par 10000, d’où les chiffres « fabuleux » de l’époque (DHT < 0.0001%).

Seulement voilà, ces « super-amplis » ne sonnaient pas terribles et en tout cas moins bien que certaines réalisations plus artisanales présentant des DHT de l’ordre du %.

Quelle en était la cause ?

La raison est assez simple en fin de compte. Mais il aura fallu beaucoup de persévérance et d'écoute à un certain Matti Otala pour percer ce mystère. C'est lui qui le premier mit en avant l'idée que la musique ne peut pas être modélisée par de simple sinusoïdes, mais que comportant des transitoires (les fortissimo en musique classique par exemple), il était nécessaire de les modéliser aussi. C'est ainsi que l'on arriva à la conclusion que trop de contre-réaction était nuisible pour la bonne sonorité d'un ampli. Voici pourquoi.

Qu'est-ce que la DIT?

En examinant à nouveau le schéma de l'ampli contre-réactionné ci-dessous, on remarque qu'un signal d'entrée qui n'est plus une sinusoïde bien sage mais un transitoire rapide, va saturer l'étage d'entrée de l'ampli.

ampli en Boucle fermee

En effet, la contre-réaction a une certaine inertie pour assurer sa fonction, et le temps qu'elle entre en jeu tout se passe comme si l'ampli était en boucle ouverte comme l'illustre le schéma ci-après,

ampli boucle ouverte

Le transitoire a alors déjà traversé le premier étage (en boucle ouverte, puisque justement la CR n'est pas encore opérationnelle!) Avec un gain de l'ordre de $10^5$ la saturation est franche et totale, et génère une nouvelle sorte de distorsion : la DIT (Distorsion d'Intermodulation Transitoire). Bien sûr, le transitoire est bref, et l'impression désagréable qui est perçue est passagère.

Voici représenté le phénomène de saturation de l'ampli sur un transitoire rapide :

saturation transitoire

On voit que le signal d'entré Ve , qui est un échelon, sature l'ampli avant que la CR n'ait eu le temps d'intervenir. La saturation est assez brève, cependant, ce qui a permis aux constructeurs de l'époque de commercialiser ce genre d'ampli, l'impression désagréable étant assez brève elle aussi.

Ceci dit, l'oreille est beaucoup plus sensible à la DIT qu'à la DHT, et une nouvelle race d'amplificateur devait voir le jour.

La DIT est liée intrinsèquement à la conception de l'ampli

En examinant la modélisation d'un ampli de puissance ci dessous,

modelisation ampli

on remarque la présence d'un filtrage RC entre l'étage d'entrée et le module de puissance. Ce filtre modélise la limitation de la bande passante d'un amplificateur nécessaire à sa stabilité. Sans cette limitation, l'amplificateur deviendrait un superbe oscillateur. Et c'est justement ce filtre qui va limiter la dynamique d'entrée et qui va conditionner le niveau admissible avant saturation, donc le taux de DIT. Voyons comment.

Remarque : l'étage d'entrée se comporte comme un filtre passe bas d'ordre 1 et de gain A. Sa fonction de transfert est donc de la forme $\frac{A}{1+\tau_1 \cdot s}$ avec $\tau_1 = \frac{1}{2 \cdot \pi \cdot f_1}$ où $f_1$ = fréquence de coupure de l'étage d'entrée.

Par ailleurs, le filtre RC (ordre 1) a également le même type de fonction de transfert avec une constante de temps $\tau_2= \frac{1}{2 \cdot \pi \cdot f_2}$ et un gain de 1. $f_2$ = fréquence de coupure du filtre RC.

Mis en série, ces deux filtres constituent un filtre passe bas d'ordre 2 de gain A avec 2 fréquences de coupure $f_1$ et $f_2$ :

$\frac{A}{1+\tau_1 \cdot s} \cdot \frac{1}{1+\tau_2 \cdot s}$ = $\frac{A}{1+(\tau_1+\tau_2) \cdot s + \tau_1 \cdot \tau_2 \cdot s^2}$

DIT et Slew rate

En fait, un transitoire de type échelon par exemple (a), est en pratique un signal de type rampe (b) caractérisé par une variation d'amplitude $\Delta V$ et un temps de montée $\Delta t$ (dynamique = $\frac{\Delta V}{\Delta t}$) :

echelon

L'amplificateur lui-même est caractérisé par sa capacité à réagir plus ou moins rapidement à un transitoire comme on l'a vu plus haut. Cette caractéristique est appelée Slew Rate (ou vitesse) de l'amplificateur et est directement conditionnée par le filtrage passe-bas RC décrit un peu plus haut. Le slew rate (SR) est exprimé en V/µs. Pour bien comprendre pourquoi, examinons la structure classique d'un amplificateur réel du commerce :

structure ampli

l'étage d'entrée est constitué d'une paire de transistors bipolaires T1, T2, qui transforme le $\Delta V$ qui n’est autre que $(Ve - \beta \cdot Vs)$, en $\Delta i$. Ce $\Delta i$ est ensuite envoyé à l’étage suivant via T3. La paire T1, T2 est polarisée par un courant Ip, généré par le générateur de courant G. Au passage on remarque la présence des résistances de contre-réaction R1 et R2 qui définissent $\beta$ ($\beta = 1+ \frac{R1}{R2}$ ).

Le transistor T3 associé au condensateur C va permettre de filtrer et donc de stabiliser l'amplificateur. Cette opération est essentielle dans la conception d’un amplificateur. C agit de la façon suivante : aux basses fréquences, le condensateur est vu comme un circuit ouvert, et le signal $\Delta i$ passe tout entier dans la base de T3 pour y être amplifié (j’appelle $\Delta i$, i dans la suite). Au contraire, aux fréquences élevées, le condensateur est vu comme un court-circuit et le transistor est shunté : les fréquences élevées ne sont pas amplifiées, la stabilité est assurée. Mis en équation cela donne aux bornes du condensateur C :

$v = \frac{1}{C} \cdot \int i \cdot dt$ (le condensateur est un intégrateur).

Or le slew rate est par définition la variation dans le temps de la tension de sortie lorsque la puissance fournie à la charge est maximum : $SR = ( \frac{dV}{dt})_{MAX}$.

Vs est la tension qui va attaquer l'étage de puissance qui travaille lui en courant, il s'agit donc de la tension de sortie de T3.

Au maximum, la paire différentielle fournit Ip au condensateur C, donc on a en dérivant l'équation de l'intégrateur:

$SR = \frac{Ip}{C}$ . En général, Ip est de l'ordre du milliampère et C de l'ordre de 30pF, on a donc un slew rate de l'ordre de 33 V/µs.

On comprend alors que tout signal d'entrée ayant une dynamique supérieure au slew rate de l'ampli sera déformé et produira une saturation désagréable pour l'oreille. On vient donc de voir comment la DIT est liée au slew rate.

Compensation en fréquence de l'ampli

La stabilité d'un ampli est liée à la phase qu'il présente aux gains voisins de l'unité.

En effet, un système asservi quel qu'il soit (ampli, régulation, filtre, etc…) devient instable et peut se mettre à osciller si la phase approche de 180°. A 180° tout juste, la compensation s'ajoute au signal d'entrée et le tout oscille. Ce qui signifie dans le cas qui nous intéresse, qu’une rotation de phase de 180° ne doive pas apparaître avant le gain unitaire (Au delà on s’en moque puisque le système n’amplifie plus). Les courbes de Bode ci-dessous vont permettre de concrétiser les choses :

bode non compense

Afin d'éviter tout risque, on va "compenser l'amplificateur en fréquence", c'est-à-dire que l'on va modifier ses courbes de bode de façon à obtenir un gain unitaire dans la partie « premier ordre » du filtre donc avec une phase très loin des 180° fatidiques. La différence entre la phase à 0dB et 180° s'appelle la marge de phase. Pour avoir un ampli stable il faut donc avoir une marge de phase suffisante, et en pratique on ne descend pas en dessous de 45°. Les constructeurs en fait vont beaucoup plus loin et doublent la mise. Le schéma ci-dessous illustre graphiquement l'opération :

bode compense

Une méthode ultra-simple pour réaliser cette compensation est justement de disposer le condensateur C entre base et collecteur de T3. La conséquence est que la bande passante de l’amplificateur en boucle ouverte diminue (f’1 se décale vers la gauche) et donc que plus le gain en boucle ouverte est élevé et plus la valeur de C devra être grande pour assurer la stabilité (la translation représentée sur la figure précédente devra être plus forte). Il y a donc un dilemme entre d'une part la stabilité et d'autre part la rapidité d'un ampli, ce qui revient à faire un compromis entre la DHT et la DIT.

Pour résumer :

  • DHT faible = A élevé donc C élevé pour une bonne stabilité donc SR faible d’où apparition de DIT
  • DIT faible = SR élevé donc C faible donc A faible d’où apparition de DHT

Le bon compromis

Lors de la conception d'un ampli, l'art consiste à trouver le bon équilibre entre DHT et DIT, par des solutions technologiques adaptées .Ces aspects de réalisations pratiques seront développés dans un deuxième volet qui présentera des schémas concrets, des solutions éprouvées, et une comparaison des technologies mises en œuvre.

Exemple théorique

A = 1000 : gain de l'étage d'entrée de l'ampli

$\beta = 0.1$ : contre-réaction

$1+A \cdot \beta = 101 = 40dB$ : taux de contre-réaction

f1 = 1000 Hz f2 = 100000 Hz

f'1 = 100 Hz f'2 = 1000000 Hz

Courbes de Bode de l'ampli non compensé et de l'ampli après compensation (en boucle ouverte et en boucle fermée) :

DHT vs DIT courbes de Bodes

La marge de phase de l'ampli non compensé est très faible : 18.2°. C'est l'oscillation assurée.

La marge de phase de l'ampli compensé est : 84.4°. Stabilité parfaite.

Code MATLAB pour obtenir les courbes de Bode

% Transfer function Bode plot
% Etude ampli audio optimisation DHT vs DIT (compensation)
% https://fr.mathworks.com/help/control/ref/dynamicsystem.bode.html
% https://fr.mathworks.com/help/control/ref/dynamicsystem.margin.html
% https://fr.mathworks.com/help/control/ug/compare-multiple-responses.html

clc;
clear all;
close all;

s = tf('s');

% L'amplificateur est modélisé par :
% un amplificateur d'entrée A1 de gain A qui se comporte comme un filtre passe bas d'ordre 1 de fréquence f1, 
% suivi d'un étage de puissance A2 de gain 1 qui se comporte également comme un filtre passe bas d'ordre 1 de fréquence f2,
% le tout bouclé par une contre-réaction beta.
% On modifie f1 et f2 de façon à augmenter la marge de phase (compensation) :
% on diminue donc f1 qui devient f'1
% et on augmente f2 qui devient f'2

f1 = 1000 %Hz
f2 = 100000 %Hz
w1 = 2*pi*f1 % pulsation en rd/s
w2=2*pi*f2   % pulsation en rd/s
Tau1 = 1/w1  % constante de temps en s
Tau2 = 1/w2  % constante de temps en s

fprime1 = 100 %Hz
fprime2 = 1000000 %Hz
Tauprime1 = 1/(2*pi*fprime1)  % constante de temps en s
Tauprime2 = 1/(2*pi*fprime2)  % constante de temps en s

A = 1000 % gain de l'étage d'entrée de l'ampli
beta = 0.1 % contre-réaction

A1 = A/(Tau1*s+1); % étage différentiel d'entrée de gain A
A2 = 1/(Tau2*s+1); % compensation en fréquence (circuit RC de gain unitaire)

Aprime1 = A/(Tauprime1*s+1); % étage différentiel d'entrée de gain A
Aprime2 = 1/(Tauprime2*s+1); % compensation en fréquence (circuit RC de gain unitaire)

% to change between Hertz (Hz) and radians per second (rad/s) on the bode plot, use the following commands:
options = bodeoptions;
options.FreqUnits = 'Hz'; % or 'rad/second', 'rpm', etc.

%figure(1)

%bode(A1*A2,options),grid; % bode en boucle ouverte de A1*A2
%bode(A1*A2/(1 + A1*A2*beta),options), grid; % bode en boucle fermée de A1*A2 par beta
bode(A1*A2,'b--', A1*A2/(1 + A1*A2*beta),'r--', Aprime1*Aprime2, Aprime1*Aprime2/(1 + Aprime1*Aprime2*beta),options), grid
legend('Ampli non compensé en boucle ouverte','Ampli non compensé en boucle fermée','Ampli compensé en b.o.', 'Ampli compensé en b.f.',Location="southwest")



amp1 = A1*A2,A1*A2/(1 + A1*A2*beta)
[Gm,Pm,Wcg,Wcp] = margin(amp1)
fcg = Wcg/2*pi
fcp = Wcp/2*pi
disp(fcp)

amp1compens = Aprime1*Aprime2,Aprime1*Aprime2/(1 + Aprime1*Aprime2*beta)
[Gmcomp,Pmcomp,Wcgcomp,Wcpcomp] = margin(amp1compens)
fcgcomp = Wcg/2*pi
fcpcomp = Wcp/2*pi
disp(fcpcomp)

% nichols(amp1), grid

% linearSystemAnalyzer(A1*A2), grid