Générateur de tonalité CTCSS à synthèse numérique par F5RCT






Le système CTCSS (Continued Tone Coded Squelch System) permet d'ouvrir le squelch du récepteur du correspondant (ou d'un relais) sous l'effet d'une tonalité très basse-fréquence transmise en continu pendant l'émission. Ce système emploie des tonalités à des fréquences bien particulières entre 67 Hz et 250,3 Hz. On les appelle aussi tonalités sub-audibles car leur faible niveau de modulation et leur élimination par un filtre passe-haut en réception les rendent inaudibles à l'utilisateur. Ces tonalités sont employées en modulation FM pour ouvrir des transpondeurs satellites et des relais UHF entre autres quand ceux-ci partagent les mêmes fréquences en zone frontalière.


Il existe des circuits prévus pour générer le CTCSS notamment chez le fabricant CML ou chez des fournisseurs asiatiques. Le montage que nous vous proposons fait appel à un microcontrôleur PIC et un double amplificateur opérationnel. Les tonalités CTCSS doivent être obligatoirement sinusoïdales pour ne pas générer d'harmonique audible dans la bande audio. Les fréquences, au nombre de 40, doivent avoir une précision inférieure à 0,5 %. Le tableau ci-dessous donne les tonalités du système CTCSS en 2e colonne.


Numéro
Tonalité
Fréquence
Tonalité
(en Hz)
N division P timer R cycles Fréquence
réelle
(en Hz)
Ecart réel
(en %)
16774621824167,010,01%
269.372151953769,300,00%
371.969541833871,900,00%
474.467201684074,400,01%
57764931514377,010,01%
679,762731534179,710,01%
782,560602023082,510,01%
885,458541364385,500,12%
988,556492262588,500,00%
1091,554641763191,640,16%
1194,852742112594,79-0,01%
1297,451331772997,410,01%
13100500025020100,000,00%
14103,5483016130103,520,02%
15107,2466421222107,200,00%
16110,9450816128110,910,01%
17114,843556765114,810,01%
18118,842089843118,65-0,12%
19123406525416123,030,03%
20127,3392718721127,320,02%
21131,8379316523131,75-0,04%
22136,5366311133136,500,00%
23141,3353812229141,320,02%
24146,234196751146,330,09%
25151,4330212726151,420,02%
26156,7319011029156,740,03%
27162,2308213423162,230,02%
28167,9297722913167,950,03%
29173,8287612024173,61-0,11%
30179,927797537180,180,16%
31186,2268517915186,220,01%
32192,825937037193,050,13%
33203,524579127203,500,00%
34206,524219326206,780,14%
35210,7237311321210,70,00%
36218,1229219112218,150,02%
37225,7221512318225,840,06%
38233,6214021410233,640,02%
39241,820675339241,90,04%
40250,319975735250,630,13%
4130016669817300,120,04%
428006251255800,000,00%
43100050010051000,000,00%
4417502855751754,390,25%


Le montage proposé génère les tonalités au moyen d'un microcontrôleur PIC et d'un filtre passe-bas à double amplificateur opérationnel. Les tonalités se sélectionnent par des micro-contacts ou une liaison directe au transceiver sur 6 bits. La tonalité est délivrée uniquement si le signal de commande d'émission "PTT" est mis à la masse.
Il n'a pas été facile de trouver le vrai facteur de division à partir de la fréquence du quartz qui gère le microcontrôleur PIC. En partant d'un quartz de 16 MHz, l'horloge réelle du timer est pré-divisée par 4 (horloge d'instruction). Puis pour le filtre numérique, la fréquence d'échantillonnage huit fois plus supérieure conditionne un facteur 8 sur la fréquence de la tonalité à générer. En partant ainsi d'une horloge de 500 kHz (16 MHz / (4x8)), on divise celle-ci par un entier N le plus approchant pour obtenir la fréquence de la tonalité. On cherche ensuite à décomposer N en un produit de deux entiers tels que N = P x R. Ces deux entiers seront affectés l'un au timer du microcontrôleur et l'autre à un compteur logiciel interne. On s'aperçoit que beaucoup des ces facteurs de division sont des nombres premiers [1], car ils sont souvent impossibles à décomposer en produits de 2, 3, 5, etc...
Les deux dernières colonnes du tableau donnent la fréquence réelle et l'écart relatif par rapport à la fréquence spécifiée. A titre de comparaison le circuit FX315 ne fait pas mieux que 0,35% de tolérance.
Le tableau a été complété par quelques tonalités usuelles qui n'ont rien à voir avec le CTCSS. Pour l'usage de 300 Hz à 1750 Hz, il conviendra de modifier le filtre en divisant par 7 les valeurs des capacités du filtre analogique (C11=68nF, C12= 33nF, C5= 1.5nF).
Le signal une fois correctement divisé est converti sous forme sinusoïdale par un filtre numérique (figure 1).




Figure 1 : Synoptique du générateur CTCSS à filtre numérique.


La fonction de transfert du filtre numérique, en figure 2, a été synthétisée par un outil informatique [2]. La structure adoptée est un filtre à réponse impulsionnelle finie (FIR) de type fenêtre de Kaiser. Les paramètres de ce type de filtre sont ajustés pour produire une atténuation maximale de l'harmonique 3 qui est la première présente dans un signal carré. La fréquence d'échantillonnage 8x supérieure à la fréquence de travail contribue aussi à supprimer les harmoniques. La quantification est de 1 bit ce qui veut dire que le signal carré à filtrer passe dans un simple registre à décalage. Ce n'est pas le sinus qui est quantifié en n bits, mais le filtre numérique qui le fait lui-même !




Figure 2 : Fonction de transfert du filtre numérique.


En appelant Z-n la sortie retardé d'un instant n de la période d'échantillonnage, le filtre comporte 6 cellules de retard dont les sorties sont repérées par Z0,Z-1,Z-2,Z-3,Z-4,Z-5. Sur chaque sortie, on applique un coefficient puis on somme le tout pour obtenir le signal de la sortie. La fonction de transfert impulsionnelle est ainsi définie par un polynôme :

F(z)=0.219 Z0 + 0.125 Z-1 + 0.0315 Z-2 + 0.0315 Z-3 + 0.125 Z-4 + 0.219 Z-5.

On remarque une symétrie des coefficients qui est propre à ce type de filtre.




Figure 3 : Schéma du générateur.


Plus simplement, le principe de la génération d'un sinus à partir de cette technique utilise une conversion numérique / analogique par un réseau de résistances (coefficients du filtre numérique) dont les valeurs sont judicieusement déterminées pour obtenir un signal sinusoïdal en supprimant en premier l'harmonique 3. En sortie du sommateur on obtiendrait un sinus en "escalier" si la capacité C11 n'était pas montée. Il suffit alors d'arrondir le signal par un simple filtre passe-bas. Comme le témoigne la figure 4, le simple fait de filtrer le signal par la capacité C11 rend ce dernier quasiment sinusoïdal.




Figure 4 : Oscillogramme en sortie du générateur ou du sommateur.


Le signal est ensuite débarrassé de ses harmoniques par un filtre passe-bas analogique.
Afin de pouvoir couvrir une plage de fréquences de 67Hz à 250,3 Hz, nous avons adopté un filtre du 3e ordre de type Tchebyscheff coupant à 240 Hz avec une ondulation de 0,5 dB dans la bande passante (figure 5). La réponse de ce type de filtre est plus pentue au-delà de la fréquence de coupure, ce que ne ferait pas une cascade de trois réseaux RC passifs. Le réseau R8 et C11 forme la première cellule de ce filtre. Le 2e amplificateur opérationnel monté en filtre passe-bas de "Sallen-Key" coupe les fréquences avec un ordre 2 (cette cellule comporte 2 condensateurs). La sortie de ce filtre élimine ainsi tous les résidus et délivre un signal parfaitement sinusoïdal comme le témoigne l'oscillogramme de la figure 4.




Figure 5 : Fonction de transfert du filtre passe-bas analogique,
la flèche indique la fréquence de coupure de 240 Hz.


La broche 3 (+) de la cellule du sommateur IC2A est volontairement mise au +5V (celle-ci est une masse virtuelle). Comme le sommateur est inverseur et que les tensions générées par le PIC sont entre 0 et 5 V, la sortie de ce dernier sera supérieure à 5 V. L'alimentation des deux cellules d'amplificateurs opérationnels doit être supérieure à 8V pour une dynamique correcte de la tension de sortie sinusoïdale. La cellule IC2B se contente de suivre la composante continue de la première.
Le condensateur C9 bloque la composante continue. Le niveau s'ajuste au moyen du potentiomètre ajustable R1. Pour atténuer d'avantage le signal, on agira sur la valeur de la résistance R11.
Pour valider ce montage, la sortie a été connectée à l'entrée ligne d'un PC pour analyser le signal en FFT à l'aide du logiciel "Spectrumlab". Sur les figures 6 et 7, on distingue ainsi nettement les harmoniques du signal sur une dynamique de 100 dB. Certes, la présence d'harmoniques demeure toujours visible, mais les résidus sont d'autant plus faibles que l'on se rapproche de la fréquence de coupure du filtre analogique à 240 Hz. Le faible taux d'excursion du CTCSS contribue également à l'atténuation des harmoniques.




Figure 6 : Spectre du signal de sortie à 218,1 Hz : résidus inférieurs à -55dB.


Il est clair que 40 tonalités laissent le choix des possibilités de codage. L'expérience montre qu'il est préférable de choisir les fréquences les plus basses possible afin de mieux les séparer du domaine audio pour les rendre complètement inaudibles. Sur certains récepteurs, le filtrage peut être insuffisant et laisser entendre un ronflement.
On évitera les tonalités 100, 151.4, 203.5 et 250.3 Hz qui sont trop proches des harmoniques du 50 Hz.
Ces dernières fréquences peuvent déclencher le décodage et l'ouverture du squelch du récepteur en présence de résidus d'ondulation de l'alimentation ou de couplage avec le secteur.
Une optimisation possible consisterait à doubler les valeurs des capacités du filtre analogique (C11= 1µF, C12= 470 nF, C5= 22 nF) et de n'utiliser que les 20 premières tonalités. Ceci est bien souvent suffisant ; d'autant plus que certains postes ne produisent pas les 40 tonalités tant au codage qu'au décodage !




Figure 7 : Spectre du signal de sortie à 67 Hz : résidus inférieurs à -37dB.


Pour des raisons de miniaturisation, nous avons préféré faire un montage à base de composants CMS (figure 8). Le circuit imprimé est en simple face (figure 10) au détriment d'un seul strap à réaliser (figure 9). On commencera par souder les CMS puis on terminera par les composants traversants. Pour le quartz, il est possible de souder ce composant en CMS sur la face cuivre ou de préférence adopter un boîtier bas profil à fil qui aujourd'hui est très courant.
Ne pas manquer de mettre un strap qui relie le bit 25 du DIL-switch à la broche 12 du PIC.




Figure 8 : Placement des composants à souder en face supérieure.





Figure 9 : Placement des composants CMS face soudure.





Figure 10 : Circuit imprimé vu du coté cuivre
dimensions réelles extérieures 54.8 x 47.7 mm.


Pour tester le montage, alimenter ce dernier de 8 V à 12 V sous 10 mA. Configurer tous les DIL-switchs fermés à 0 V sauf le premier bit 21 ouvert à 5 V. Relier la commande d'émission PTT à la masse pour faire apparaître le signal de 67 Hz en sortie. Pour choisir une autre tonalité, il faut convertir son numéro en binaire : par exemple 114,8 Hz no17 = 010001 = 16 + 1 : les inters 0 et 5 ouverts à +5 V, les autres fermés.

L'implantation dans un transceiver est laissée au soin de chacun. Je vous invite à visiter le site radiomods.dk [3] pour retrouver le schéma de votre appareil. Le montage devra être alimenté par un +8 V à +12 V permanent. Certains transceivers sont équipés d'un connecteur interne pouvant recevoir un module CTCSS. En général, ce signal est injecté tout près du modulateur de fréquence, après le filtre passe-bas qui suit le limiteur d'excursion.
Le réglage du niveau de modulation du CTCSS se calibre à 10% de l'excursion nominale : on ne dépassera pas +/- 240 Hz pour une excursion nominale de 2.4kHz pour le pas de 12,5 kHz. Une manière simple pour le réglage consiste à prendre moins de 10% de l'amplitude du 1750Hz prise comme référence au niveau du modulateur.

Cette application peut être déviée de son usage prévu pour générer des fréquences sinusoïdales bien plus pures et stables qu'un générateur BF à oscillateur RC. Pour la vérification des émetteurs en bande latérale unique, il est possible de faire un excellent générateur deux tons.

Cette platine équipe déjà des transceivers de la région de Strasbourg, pour les accès aux relais F1ZUV et F5ZAV qui demandent une tonalité de 67 Hz pour leur ouverture en détection de porteuse. Aucun sifflement n'est perceptible sur la modulation des correspondants.

Des circuits imprimés et microcontrôleur PIC programmé sont disponibles en contactant l'auteur par les coordonnées de la nomenclature du REF-Union.



F5RCT Jean-Matthieu STRICKER




Références :


[1] : Nombres premiers : http://noe-education.org/D11102.php

[2] : PC FILTER 1994 édité par ARTECH HOUSE, INC. 685 Canton Street/Norwood, MA 02062

[3] : Informations sur les modifications de votre transceiver : http://www.mods.dk


Liste des composants :


ComposantQuantitéValeur
R2,R72220k CMS 0805
R3,R6256k CMS 0805
R4,R5233k CMS 0805
R9127k CMS 0805
R1016k8 CMS 1206
R1116k8 CMS 0805
suivant niveau
max. de sortie
R12,R13,R14,
R15,R16,R18
633k ou 6k8 à 56k CMS 0805
R114k7 ajustable miniature type T7Y
C1,C5,C6,C7410nF X7R CMS 0805
C2,C3233pF NPO CMS 0805
C8147µF 10V Tantale CMS C
C914.7µF à 10µF 16V Tantale CMS C
C10110µF 25V Aluminium CMS C
C111470nF X7R CMS 1206
C121220nF X7R CMS 1206
D211N4148 ou eq. silicium
IC11PIC16F84A-20/P DIL18 20MHz Microchip
IC21TL072D CMS SO08 ou TL062, TL082
IC3178L05 ou LM2936Z5
S11DIL switch x8
Q11Quartz 16MHz CL=18pF HC49U/HC18U





Le fichier du programme en hexadécimal est disponible ci-dessous :



Pour de plus amples informations, n'hésitez pas à me contacter.