Tài liệu tham khảo đồ án tốt nghiệp chuyên ngành viễn thông SonNumerique
Trang 1TABLE DES MATIÈRES
Trang 3PARTIE I
1: Présentation
2: Résumé du mémoire
Trang 41 Présentation
Dans le contexte ó la révolution de la science et de la technologie se développe très rapidement, l'application numérique au service de la vie humaine est devenue la question pressante à résoudre
Actuellement, l'on est en train de chercher à utiliser numériquement avec la façon synchronisée et efficace dans le profit des activités des humanités, surtout dans les domaines tels que communication, télévision, radio, etc Le traitement des sons joue un rơle important de ces domaines, car le son est une façon de communication C'est pourquoi, il faut mettre le temps à rechercher plus profondément ce domaine
Pour le son numérique, à l'aide du stockage en forme d'une série de chiffres, on obtient plusieurs avantages, par exemple, la vitesse de transfert et la somme de donnée stockée Donc, le son analogique est remplacé de temps en temps par le son numérique
De plus, on veut toujours percevoir naturellement le son, mais encore créer ou synthétiser des sons désirables C'est pourquoi, il faut examiner trois problèmes:
• Ce sont les formes de stockage du son Ces formes sont exprimées en fichier Chaque forme obtient quelques paramètres appropriés Donc, il faut comprendre bien la structure de chaque forme pour obtenir le meilleur résultat.
• On manipule visuellement des fichiers en prenant les opérations de copie, de filtrage, de mixage du son ou on peut convertir une forme de stockage et aussi la méthode de stockage de donnée en une autre désirable
• On analyse le signal du son en transformant en forme correspondante pour extraire les plus informations désirables ou les paramètres caractéristiques Ici, on prend les traitements du signal numérique
Et, ce sont trois problèmes à résoudre de mon mémoire de fin d'études avec le sujet "Création d'un programme pour traiter des sons numériques"
2 Résumé du mémoire
Dans mon mémoire, je n'ai pas l'intention de créer un grand programme
Trang 5complet Il ne possède que les modules fondamentaux en utilisant Delphi comme le langage de programme Mais, on peut comprendre plus le son et aussi les traitements du signal numérique grâce à ces modules Ici, mon mémoire se compose des 5 parties suivantes:
PARTIE I: INTRODUCTION
La présentation générale des problèmes principaux du son et le sujet du mémoire.
PARTIE II: NOTIONS FONDAMENTALES
Chapitre 1: La présentation des techniques principales des traitements du signal numérique.
Chapitre 2: La présentation des définitions des paramètres et des caractéristiques du son.
PARTIE III: ANALYSE
Chapitre 3: L'examen des structures du fichier de son
Chapitre 4: Le prétraitement: le filtrage et la fonction fenêtre Ce sont les traitements nécessaires pour les traitements suivants.
Chapitre 5: L'analyse homomorphique: la TFR et le calcul Cepstre.
PARTIE IV: CONCEPTION ET MISE EN ŒUVRE
Chapitre 6: La détermination de l'algorithme général du programme.
Chapitre 7: Les manipulations visuelles des données du fichier Ce sont des opérations d'élaboration pour créer de nouveaux fichiers.
Chapitre 8: L'analyse du signal du son.
Chapitre 9: L'utilisation du programme C'est une aide pour les usagers.
PARTIE V: CONCLUSIONS
Les estimations du programme et les développements du futur.
Trang 6PARTIE II
Notions fondamentales
Chapitre 1: Traitement du signal numérique Chapitre 2: Son numérique
Trang 7Donc, le signal numérique est un signal discret, et son amplitude est aussi discrète (l'amplitude est quantifiée).
La représentation graphique d'un signal numérique est illustrée sur la figure 2.1.
Fig 1.1: Signal numérique
En général, les signaux doivent être traités pour en extraire de l'information, et pour les rendre porteurs d'information Ces traitements sont effectués à l'aide des systèmes que l'on appelle systèmes de traitement de signaux Ces systèmes transforment le signal sous une forme plus appropriée
Trang 82 Traitement du signal numérique
(DSP - Digital Signal Processing - mot anglais)
Le traitement du signal numérique est pris dans plusieurs domaines différents Les traitements principaux sont TFR (FFT - en anglais), le filtrage, l'interpolation, la convolution, etc.
L'utilisation de la représentation du signal et du système dans le domaine fréquentiel rend l'analyse et la création du système linéaire plus simple Et surtout, la transformée de Fourier et en z sont très importantes pour la représentation du signal et du système qui sont discrets dans le domaine temporel.
2.1 Transformation en Z
Sur les plans théorique et expérimental, la transformation de Fourier est un outil précis en traitement des signaux, numérique et analogique Toutefois, les limites de la capacité de la transformation de Fourier sont vite atteintes Donc, la transformation en z a été créée, mais on y aborde principalement sur le plan théorique.
La transformée en z X(z) d'un signal x(k) est définie par :
La transformation en z inverse
L'inversion de la transformée en z peut être établie en appliquant la théorie de Cauchy sur l'intégration le long d'un contour dans le plan complexe On peut déduire de ce théorème que l'intégration définie par:
ó Γ est un contour fermé qui entoure l'origine du plan des z, est donnée par:
Trang 9I =
0 lpour 0
0 lpour 1
En multipliant les deux membres de la relation (1.1) par zl-1/2πj, et en intégrant le long d'un contour entourant l'origine et contenu dans la région de convergence, et puis en intervertissant l'intégration et la sommation, on obtient:
C'est l'expression de la transformation en z inverse, qui est valable pour toutes les valeurs de l Le contour d'intégration Γ doit se situer dans la région de convergence, il doit être fermé et il doit entourer l'origine du plan des z dans le sens positif.
Relation avec la transformation de Fourier
A partir de la relation (1.1), on représente la variable z à l'aide des coordonnées polaires dans le plan complexe z = r.exp (jθ), et avec θ = 2πf, on obtient :
En comparant cette relation à la définition de la transformation de Fourier, on peut interpréter la transformée en z d'un signal x(k) comme la transformée de Fourier du produit de ce signal par un signal exponentiel Dans le cas particulier, pour r = 1 (ou encore, pour z = 1), la transformée en z et la transformée de Fourier s'identifient :
Relation avec la transformée de Laplace
La transformée de Laplace bilatérale Xa(s) d'un signal analogique xa(t) est suivante:
xa(t).e-stdt
Si le signal xa(t) est périodiquement échantillonné avec la période Ts et δ(t) est l'impulsion de Dirac, la transformée de Laplace du signal échantillonné est donc donnée par :
∞− n
Trang 10Xe(s) = ∑∞
En comparant ce résultat avec la transformée en z d'un signal numérique
échantillonné est la transformée en z du signal numérique correspondant évalué
pour z = exp(s.Ts) Donc, on a: X(z) = Xe(s) pour z = es.Ts.
2.2 Transformation de Fourier discrète (TFD)
La transformation de Fourier discrète est un traitement des signaux périodiques et des signaux réels Elle est utilisée dans l'évaluation des fonctions de corrélation et des produits de convolution C'est un algorithme de calcul rapide et efficace
Avec le signal initial x(n) qui n'est pas supposé périodique, on peut créer le signal xp(n) périodique de période N grâce à la répétition périodique de période N du signal x(n):
Si la durée du signal périodique x(n) est limitée à N, chaque période du signal xp(n) sera une réplique exacte de x(n) Si cette durée est supérieure à N, un recouvrement aura lieu Par conséquent, dans ce cas, on ne peut pas extraire exactement x(n) à partir d'une période de xp(n) Il est évident que les signaux de durée M inférieure à N peuvent être considérés comme des signaux de durée N en prolongeant le signal par N-M échantillons nuls.
Et on écrit: xp(n) = x((n))N.
Les expressions de la transformée de Fourier sont:
X(k) =
x(n) =
ailleurs
).(1 1
ó X(k) est une période de Xp(k), et Xp(k) est l'ensemble d'échantillons de la transformée en z (avec |z| = 1 ou r = 1) d'une période de xp(n), ou la transformée de Fourier X(f) d'une période de xp(n).
2.3 Filtrage
Le filtre est un système sélectif, c'est-à-dire, il ne transmet que certaines
Trang 11bandes de fréquence Le filtre numérique est utilisé pour modifier la distribution fréquentielle des composants d'un signal selon des spécifications données, en utilisant des opérations arithmétiques de précision limitée Et, l'opération de traitement qui consiste à modifier cette distribution à l'aide d'un système
numérique s'appelle filtrage numérique
Les filtres sont utilisés pour changer les fréquences du son C'est un traitement fondamental pour les étapes suivantes Parce que le signal d'entrée est généralement la somme d'un signal utile et d'un signal indésirable occupant des bandes de fréquences différentes, on peut donc prendre le filtrage pour éliminer les bruits, c'est-à-dire, pour isoler le signal utile en atténuant complètement la bande de fréquence du signal indésirable ou pour séparer entre les sons en retenant seulement les fréquences certaines.
Maintenant, le filtre analogique est remplacé de temps en temps par le filtre numérique Et, la création les filtres numériques réels consistent à la théorie des filtres numériques idéals
Il en existe quatre types principaux:• Le filtre passe-bas
• Le filtre passe-haut• Le filtre passe-bande• Le filtre coupe-bande
C'est-à-dire, le filtre correspondant ne transmet que les signaux dont les fréquences sont situées, au-dessous, au-dessus d'une certaine valeur, entre ou dehors deux valeurs
2.4 Fonction fenêtre
Dans la partie précédante, on sait que la transformation de Fourier effectue des signaux à durée limitée, donc il faut limiter la durée du signal à durée illimitée pour analyser son spectre Pour le fait, on prend souvent la fenêtre, c'est-à-dire, on multiplie le signal x(n) avec la fenêtre w(n-n0) pour couper une section xN(n) dans l'intervalle [n0 n0+N-1] à analyser.
ailleurspartout
(nn0 nn0 Nx
Au produit (1.10) dans le domaine temporel correspond à un produit de convolution périodique dans le domaine fréquentiel On a:
Trang 12ó XN(f), X(f), et W(f) sont les transformées de Fourier des signaux xN(n), x(n), et w(n).
Le signal obtenu dépend du type de la fenêtre, du nombre d'échantillons analysés N, et aussi de la position de la fenêtre (n0 correspondant) Il faut choisir la portion la plus importante du signal Donc, avec les signaux qui n'ont pas toutes les informations nécessaires, on ne peut pas déterminer N et n0
raisonnablement Dans ce cas, il faut l'examiner dans le domaine fréquentiel
2.5 Cepstrum
La transformation du signal en forme Cepstrum correspondant est une transformation homomorphique Dans ce système, la transformée de Fourier du logarithme du spectre de puissance du signal d'entrée est proposée comme un moyen pour détecter des échos On a appelé cette fonction cepstrum en paraphrasant le mot anglais spectrum.
Fig 1.2: Système homomorphique
L'avantage de ce système est la division de l'algorithme en des algorithmes consécutifs Exactement, le bloc A-1 est le bloc inverse de A, et le bloc F est un système linéaire, invariable ou un filtre simple linéaire.
Trang 131.2 Hauteur du son
La hauteur du son est une caractéristique physiologique du son, et elle dépend de la fréquence Les sons qui ont les fréquences différentes sont différents: le son qui a la grande fréquence est appelé son aigu; et le son qui a la fréquence petite est appelé son grave La hauteur (l'intensité) d'un son caractérise le niveau de force du son.
1.3 Volume du son
Pour créer le sens d'un son, l'intensité du son doit être supérieure à un seuil certain Et le volume du son dépend de la hauteur (l'intensité) et de la fréquence aussi.
1.4 Timbre du son
Le timbre du son est une caractéristique physiologique du son Il est la qualité subjective caractéristique d'un son musical, et il permet de reconnaître la nature de l'instrument qui l'émet Chaque source vocale (ou instrument) a les caractéristiques particulières Quand une source crée un son qui a la fréquence f1, elle crée aussi les sons qui ont les fréquences correspondantes f2 = 2*f1, f3 = 3*f1
Le son qui a la fréquence f est appelé son fondamental ou premier motif
Trang 14motif Donc, le son d'une source est la somme du son fondamental et des
2 Son numérique2.1 Principe
En général, le son numérique et le son analogique sont différents, donc on perd souvent les informations en convertissant entre les deux types Avec les sons numériques, les ondes sont représentées comme une série de chiffres (les échantillons), qui représentent la pression atmosphérique ou le signal électrique dans les moments consécutifs
Quand on échantillonne un signal analogique, il faut toujours résoudre deux problèmes: les échantillons sont déterminés dans les intervalles certaines, et les valeurs de ces échantillons sont discrètes
Signal analogiqueSignal numérique
Fig 1.3: Échantillonnage d'un signal analogique
Comme la figure au-dessus, on trouve que les blocs et la sinusọde ne cọncident pas Ce sont deux fautes fondamentales en convertissant un signal analogique en signal numérique Il est possible de réduire le nombre d'erreurs mais on ne peut pas les éliminer complètement Toutefois, chaque forme de représentation peut diminuer cette faute Donc, on doit parfois accepter une telle faute pour obtenir quelques paramètres appropriés, par exemple, la taille de donnée ou la vitesse de traitement, etc.
2.2 Fréquence du son
La fréquence de l'onde sinusọdale est l'intervalle du temps d'une période complète Elle est exprimée en Hertz (Hz), et c'est le nombre de vibrations par seconde d'un signal périodique En pratique, la fréquence d'un son audible comprise entre 20 Hz et 20 KHz Ces oscillations sont les oscillations sonores ou les sons.
Trang 15La période est l'inverse de la fréquence (c'est l'intervalle entre deux échantillons successifs) ou c'est le temps ó le signal répète exactement Malgré beaucoup de fonctions mathématiques sont utilisées pour traiter le son à l'aide des signaux périodiques idéals, surtout la transformée de Fourier, mais en pratique, il y a peu de sons réels qui sont vraiment périodiques De plus, la fréquence est significative pour les ondes sinusọdales.
Toutefois, tous les sons peuvent être cassés en une série d'ondes sinusọdales Donc, on peut créer de nouveaux sons en ajoutant les ondes sinusọdales appropriées ou on peut diviser les sons complexes en les ondes sinusọdales simples distinctes
• Quantification: On traite les échantillons selon la précision certaine et arrondit ces échantillons
3.1 PAM (Pulse Amplitude Modulation) (mot anglais)
Pratiquement, les transducteurs DAC et ADC prennent souvent le type PAM comme le type intermédiaire ou le son est pris comme une série de pulsations, et l'amplitude d'une pulsation (ou encore, la hauteur) représente la force du son du point correspondant.
Signal analogiquePulsation PAM
Fig 1.4: PAM
Trang 163.2 PWM (Pulse Width Modulation) (mot anglais)
Comme la représentation PAM, chaque échantillon de PWM est représenté comme une pulsation, mais PWM prend la largeur ou la durée de la pulsation (à la place de l'amplitude) pour représenter la force du son.
Fig 1.5: PWM
3.3 PCM (Pulse Code Modulation) (mot anglais)
(MIC - Modulation par Impulsions Codées)
Chaque échantillon de PCM est représenté comme une série de pulsations, et ces pulsations représentent les codes binaires Pour cette représentation, il est difficile de déterminer le point initial ou le point terminal d'un code Toutefois, ce problème peut être résolu par la structuration des codes spécifiques en ajoutant un signe certain au point initial de chaque code En général, PCM représente les données du son en forme de 8 ou 16 bits (1 ou 2 octets) par échantillon.
Signal analogiquePulsation PCM
Fig 1.6: PCM
Trang 173.4 Fréquence d'échantillonnage
En général, les systèmes qui échantillonnent les sons sont caractérisés par la fréquence d'échantillonnage (le nombre d'échantillons par seconde ou Hz) On prend ces échantillons pour représenter un second du son Et Harry Nyquist (1889-1976) a prouvé que: le signal échantillonné d'un son peut recréer exactement tous les sons qui ont la fréquence étant inférieure à la moitié de la fréquence d'échantillonnage Donc, on se reporte à la moitié de la fréquence d'échantillonnage comme une limite de Nyquist
De plus, il est mieux de prendre les fichiers du son dont les données ne sont pas comprimées Parce que, avec les données comprimées, on doit prendre un peu de temps pour les décomprimer avant de les utiliser, et surtout, la qualité du son diminue certainement malgré le meilleur algorithme de décompression
Trang 18PARTIE III
Chapitre 3: Forme du fichier général Chapitre 4: Fonction fenêtre et filtrage Chapitre 5: TFR et analyse homomorphique
Trang 19Chapitre 3
FORME DU FICHIER GÉNÉRAL
1 Forme de fichier1.1 Au/ Snd
La forme du fichier Au est assez simple, et maintenant elle est publiquement prise dans l'internet, et est intégrée dans les applications de Java et Apples C'est une forme standard que l'on utilise dans les computers Sun et NeXT, et surtout, elle a plusieurs types de donnée Toutefois, son en-tête identifie sa forme et indique son type de donnée
Un grand avantage de cette forme est simple Son en-tête détermine tous les paramètres importants, et les données sont stockées comme une portion simple Donc, il est très facile de créer le code pour lire le fichier Au Mais, son en-tête contient la longueur totale de donnée, et on ne la sait pas avant Toutefois, c'est un seul désavantage
Pour résoudre ce problème, on peut établir une grande valeur initiale, en ajoutant une variable contrôlée pour signaler la fin du fichier ou la fin de la longueur Et en général, la valeur initiale est supérieure à 0
Voilà, la forme de l'en-tête Au:
Trang 20La plupart des fichiers ont l'en-tête comme au-dessus Et, les quatre octets premiers sont souvent ".snd" Il y a plusieurs vieux fichiers qui sont identifiés comme le type Au (ils prennent l'extension ".au"), mais ils n'ont pas cet en-tête
Soit quelques types de donnée utilisés pour les fichiers Au:
1 8-bit µ-Law G.7112 8-bit linéaires3 16-bit linéaires4 24-bit linéaires5 32-bit linéaires
6 Échantillonné virgule flottante
7 Échantillonné flottant précision double8 Donnée échantillonnée fragmentée
11 Échantillons de virgule fixe de 8 bits12 Échantillons de virgule fixe de 16 bits13 Échantillons de virgule fixe de 24 bits14 Échantillons de virgule fixe de 32 bits18 16-bit linéaire avec emphases
19 16-bit linéaires comprimés
20 16-bit linéaires avec emphases et compression21 Commands TSN (DSP) d'outil musique
En général, le type Au est simple, c'est pourquoi, on convertit souvent les
Trang 21autres types en Au, et puis, on utilise ce type comme un type fondamental pour les traitements suivants.
1.2 Voc
C'est le type de Sound Blaster et Sound Blaster Pro Il supporte seulement les sons 8-bit; le type "mono" pour 44.1 kHz; et le type "stereo" pour 22 kHz Ces fichiers peuvent contenir les informations répétées et silencieux
La structure du fichier voc se compose d'un en-tête et des blocs de donnée consécutifs Quelques blocs contiennent les données; les autres contiennent les paramètres formés ou les informations de l'aide
Identification de voc
Tous les fichiers voc sont débutés par une chaîne de 20 octets de longueur, composant des mots "Creative Voice File" et un caractère "Control-Z" Ce caractère est un signe de fin du fichier pour MS-DOS Son présent signale que ce fichier n'est pas occasionnellement rédigé dans ce système
En-tête de voc
Son en-tête se compose d'une valeur signalée et d'une version du fichier Surtout, la valeur 26 (hex 1A) est un signe de fin du fichier dans les systèmes MS-DOS En général, le code de version du fichier est 266 (version 1.10) ou 267 (version 1.20).
Voilà, la forme de l'en-tête voc:
19 Chaîne identifiée: Creative Voice File
1 Valeur 26 (signe de fin du fichier pour MS-DOS)2 Taille totale de l'en-tête, 26 souvent
2 Code de version du fichier: majorité*256+minorité2 Valeur contrôlée: 4,659 - version du fichier
L'en-tête Au peut être élargi, donc pour l'installation, il faut laisser passer toutes les données qui suivent les informations standards
Structure du bloc général
Pour traiter un fichier voc, il faut lire et traiter les blocs selon son ordre archivé dans le fichier Quelquefois, les blocs différents peuvent indiquer les mêmes données.
Trang 22La forme générale d'un bloc de voc est suivante:
1 Type de bloc3 Taille de donnée: n
Les blocs les plus importants sont le bloc terminal (type 0), les blocs d'extension (type 8 et 9), et le bloc de donnée (type 1)
Bloc terminal (type 0)
Ce bloc a une structure spécifique Il se compose seulement d'un octet de valeur 0, pas accompagnant la longueur du bloc Ce bloc est pris pour signaler la fin du fichier voc.
Bloc de donnée (type 1)
Les deux premiers octets du bloc de donnée indiquent la fréquence d'échantillonnage et la méthode comprimée Ensuite, ce sont des données du son Le code de la fréquence d'échantillonnage est calculé par l'expression: 256 - (1,000,000/fréquence d'échantillonnage).
Et, les méthodes de compression sont suivantes:
0 Donnée de type "PMC unsigned 8-bit"1 Comprimé, 4 bits/échantillon
2 Comprimé, 2.6 bits/échantillon3 Comprimé, 2 bits/échantillon
4 Donnée de type "PCM signed 16-bit"
7 CCITT µ-Law
512 "Creative Labs 16-bit to 4-bit ADPCM"
Toutefois, les valeurs qui sont supérieures à 3 sont seulement prises pour les blocs de type 9 Et surtout, un fichier voc peut contenir seulement un bloc de donnée Les données d'extension sont stockées dans un bloc continué de donnée Quand on lit des données, il faut déterminer le nombre d'octets des données dans le bloc actuel Et il faut être prudent d'établir les paramètres de
Trang 23forme, parce que quelques blocs d'extension peuvent indiquer les mêmes paramètres de forme.
Bloc continué de donnée (type 2)
Un fichier voc peut contenir seulement un bloc de donnée (type 1) Quelquefois, il faut casser les données en plusieurs portions, parce que l'on veut ajouter quelques blocs différents (comme un signe de répétition) à la donnée du son Ces portions sont stockées dans le bloc continué de donnée (type 2) Ce bloc contient seulement les données Il ne contient pas les paramètres de forme du bloc de type 1
Bloc silencieux (type 3)
On prend ce bloc pour diminuer la taille totale des données, donc, quelques portions peuvent être remplacées par les blocs silencieux Ce bloc contient un nombre de 2 octets qui détermine le nombre d'échantillons silencieux utilisés, et 1 octet qui détermine le code de la fréquence d'échantillonnage En général, cette fréquence d'échantillonnage est la même précédée.
Bloc de marquage (type 4)
Il se compose d'un nombre de deux octets Ce nombre est pris dans les applications "multimédia" pour synchroniser les événements
Bloc de texte (type 5)
Sa donnée est une chaîne infinie d'ASCII On prend ce bloc pour les informations d'extension
Bloc de répétition (type 6 et 7)
Ces blocs sont utilisés pour signaler la répétition avec le bloc de type 6 initial, et le bloc de type 7 terminal Le bloc initial contient un nombre de 2 octets indiquant le nombre de fois répétées (0 signifie une fois) Le bloc terminal ne contient pas de données
Bloc d'extension (type 8)
On ajoute ce bloc pour le son stereo Il est précédé du bloc de type 1, et il contient aussi les paramètres de forme de donnée
Trang 24La structure de ce bloc est comme suivante:
TailleDescription
2 Code de fréquence d'échantillonnage1 Code de compression
Mode: 0 - mono; 1 - stereo
Le code de fréquence d'échantillonnage dans ce bloc est plus précis que celui dans le bloc de type 1, et le code de compression est le même Ici, le code de fréquence d'échantillonnage est calculé comme suivant:
65,536- 256(1,000,000/fréquence d'échantillonnage)
Toutefois, pour le son stereo, il est mieux de doubler la fréquence d'échantillonnage.
Bloc d'extension (type 9)
Le bloc de type 9 détermine directement la méthode comprimée et les paramètres de forme Il précède toujours le bloc de type 1 et de type 8
La structure du bloc de type 9 est comme suivante:
TailleDescription
4 Fréquence d'échantillonnage
1 Nombre de bits utilisés par échantillon1 Nombre de canaux, 1- mono, 2 - stereo2 Code comprimé
Sa forme initiale est IFF (Interchange File Format - mot anglais) et
Electronic Arts a développé pour l'utilisation de Amiga Ensuite, Microsoft
Trang 25identifie une autre forme: RIFF (Resource Interchange File Format- mot
Le fichier RIFF se compose des portions qui sont intercalées Chaque portion contient un code de 4 lettres (par exemple, RIFF, fmt, ou LIST; les codes ayant la taille inférieure à 4 sont ajoutés des espaces) Ce code identifie la forme de cette portion Les 4 octets suivants indiquent sa taille de donnée Le champ de la taille de donnée dans RIFF est égal à la taille totale moins de 8 octets (4 octets de la forme et 4 octets de la taille).
La forme générale d'un fichier wave est suivante:
R I F FTailleW A V EPortion fmt Portion dedonnées
Nombre d'octets de la tailleEn-tête de 44 octets
Fig 2.1: Forme générale d'un fichier wave
La plupart des fichiers wave ont la même structure, donc les programmes traitant les fichiers wave considèrent souvent ces fichiers ayant un en-tête fixe C'est pourquoi, il est facile de créer les fichiers wave.
La description de la forme générale d'un fichier wave est suivante:
En général, il faut laisser passer toutes les portions que l'on ne peut pas identifier
Trang 26Portion fmt
La portion fmt contient les informations de forme du son qui sont les
paramètres très importants pour traiter les données
La description de la portion fmt utilisée pour la donnée PCM est suivante:
2 Nombre de bits par échantillon
2 Nombre d'octets des informations annexesN Information de la compression annexe
Code de donnée
Il y a environ 100 codes comprimés inscrits sur Microsoft pour utiliser dans les fichiers wave Le fichier wave peut utiliser la méthode comprimée µ-Law ou A-Law Quelques-unes sont suivantes:
Trang 27Les 4 octets premiers sont les lettres "data" selon le code ASCII Les 4 octets consécutifs déterminent la longueur de donnée Et les octets restés contiennent des données
Portion de texte
On peut ajouter ces portions non seulement dans les fichiers wave, mais encore dans tous les fichiers Riff Son nom est commencé par une lettre "I" indiquant l'utilisation pour les informations annexes.
2 Manipulation des fichiers
Dans cette partie, on prend les opérations visuelles pour créer des nouveaux fichiers ou convertir entre les formes différentes
2.1 Enregistrement d'un son
Il existe deux types de traitement du son numérique sur Windows:
• Le premier type est appelé Wave Form Audio Le principe de ce type est
l'utilisation des ondes numériques Le son est stocké dans les fichiers *.wav dans les disques ou dans la mémoire La donnée est convertie en
son par le disque dur
• Pour le second type, le son est stocké sous la forme MIDI Ce type contient seulement les informations caractéristiques des instruments (on stocke les notes à la place de l'enregistrement complet) C'est pourquoi, la taille du fichier *mid est plus petite que celle du fichier *.wav
2.2 Élaboration
Comme tous les programmes d'élaboration, on peut couper, copier ou coller les ondes sélectionnées pour séparer les parties ou créer les nouveaux fichiers du son Ces opérations se permettent de choisir une sélection pour analyser ou éliminer les portions indésirables
2.3 Faire une émission
Le son peut être amplifié avant de faire une émission L'amplification peut être exécutée sur les fichiers wav (pour les autres formes, on peut les convertir en forme wav).
Ensuite, l'émission peut être faite selon les trois sélections:• Sélection d'un fichier wave selon la piste correspondante• Sélection d'une portion d'onde du son
Trang 28Pour déterminer le mode correspondant, il faut créer une variable contrôlée Toutefois, on peut convertir les deux derniers modes en premier mode C'est-à-dire, les portions sélectionnées sont stockées en forme d'un nouveau fichier wave, et ce fichier est utilisé selon le premier mode.
Trang 29C'est pourquoi, pour analyser le spectre des tels signaux, on les calcule approximativement pour couper une portion correspondante à traiter
1.1 Fonction fenêtre rectangulaire
C'est une fenêtre la plus simple Dans ce cas, le signal est multiplié par un signal rectangulaire, possédant N échantillons unités, pour obtenir une portion du signal x(n) Un tel signal est souvent appelé fonction fenêtre temporelle ou, plus simplement, fenêtre temporelle
On a xN(n) = x(n).RectN(n-n0) = x(n).wR(n-n0) (2.1)avec
ailleurs
(2.2)
est la fonction rectangulaire.
1.2 Fenêtre de Hamming et de Hanning
La forme originale de Hamming est Hanning Et, on peut obtenir les différents résultats grâce à l'aide des changements négligeables Quand on prend la fenêtre de Hanning, les points de la partie débutée et ceux de la partie terminale sont de 0 C'est-à-dire, on perd des fréquences dans les telles régions
Trang 30WH (n) = α0 +(1-α )*cos(2πn/N)partout|n|≤N /2ailleurs
C'est-à-dire, wH(n) est identiquement nul en dehors de l'intervalle [-N/2, N/2] Cette fonction fenêtre est connue sous le nom de Hanning, avec α = 0.5 La forme générale (2.3) est appelée fonction fenêtre de Hamming généralisée Si α = 0.54, la fenêtre obtenue s'appelle fenêtre de Hamming Et surtout, la valeur α = 1 correspond à la fonction fenêtre rectangulaire
1.3 Fenêtre triangulaire (Bartlett)
Dans le but de diminuer l'amplitude des lobes secondaires de la fonction WR(n), on peut choisir une autre fonction fenêtre qui est la forme triangulaire suivante:
ailleurs
La raison de ce choix réside dans le fait qu'on peut exprimer wT(n)
comme le produit de convolution d'une fenêtre rectangulaire de durée N/2 par elle-même Dans le domaine fréquentiel, ceci correspond à un produit simple de la transformée de Fourier de cette fenêtre rectangulaire par elle-même qui est en faite une élévation au carré La fonction fenêtre triangulaire est exprimée mathématiquement par:
)n( sin
sin
Dans les relations (2.5) et (2.6), N doit être un nombre pair, parce que N/2 représente un nombre d'échantillons sur la fonction rectangulaire WR(n), et ce nombre doit être entier Et, c'est un seul désavantage
1.4 Fenêtre de Blackman
En général, on peut généraliser la construction de fenêtre par la superposition en cherchant à recouvrir M répliques de la même transformée décalée par pas de 1/N avec des poids choisis Pour conserver la symétrie des répliques décalées par rapport à l'origine, M doit être un nombre impair
Dans le domaine temporel, la forme générale de la fenêtre correspondante à ces M superpositions est suivante:
Trang 31wB(n) =
ailleurs
partout
0
N/2 |k| pour N
1l =
)N/l (f sin
l/N)N(f sina l/N)-(f sin
)N/lf(N sina f sin
fN sina
(2.9)
La fonction fenêtre wB(n) est appelée fonction fenêtre de Blackman
généralisée Et, on peut déterminer les valeurs des coefficients al par l'optimisation selon un critère donné En principe, le critère est de minimiser
l'énergie du signal wB(n) en dehors d'un intervalle de fréquence donné Cet
intervalle correspond à la largeur de bas du pic central de wB(f)
Dans le cas L = 2, la fonction fenêtre obtenue est appelée fenêtre de
Blackman La forme correspondante est suivante:
wB(n)N =
ailleurs
La fonction de transfert est comme suivante:
C'est un filtre passe-haut Ses effets sont d'éliminer les basses fréquences, surtout les éléments continues Avec ce filtre, le signal de sortie ne dépend que celui d'entrée.
De plus, les bruits sont les hautes fréquences, il faut donc utiliser un autre filtre passe-bas pour les éliminer.
Trang 32Chapitre 5
TRANSFORMATION DE FOURIER RAPIDEET ANALYSE HOMOMORPHIQUE
1 Transformation de Fourier Rapide (TFR)
La transformation de Fourier rapide ou TFR (plus connue sous son nom
anglais Fast Fourier Transfomr ou FFT) est la plus importante des
transformations en traitement numérique des signaux, mais aussi pour des signaux analogiques ou pour des fonctions continues dans de nombreux domaines scientifiques Pratiquement, TFR n'est pas différente de la transformation de Fourier discrète ou TFD, mais TFR est un algorithme efficace, économique et élégant, pour calculer TFD
Le TFR existe sous deux formes principales dites partagée dans le temps et partagée dans les fréquences Dans la première, on partage l'ensemble de N
échantillons du signal en plusieurs ensembles chacun de Ni échantillons, alors que dans la seconde, la même opération est effectuée sur les coefficients de la TFD Le principe dans les deux cas est le même
En général, on examine les deux types calculés TFR: TFR directe et TFR inverse A partir de deux expressions TFR directe et TFR inverse:
La partie de droit est TFD de X*(k) et on peut la déterminer en prenant
Trang 33l'algorithme TFR Donc, x(n) peut être calculé comme suite:
x(n) =
En résumé, on calcule TFR inverse à partir de TFR directe comme suivant:• Calculer la conjugaison complexe de X(k) en changeant le signe de la
partie imaginaire de X(k)
• Calculer TFR de X(k) changé le signe
• Changer le signe de la partie imaginaire obtenue, et diviser de N
Avec une opération non linéaire (l'opération H), on obtient le signal xˆ
qui est appelé cepstre complexe associé à x On obtient:
Quelquefois, on ne prend qu'un filtrage temporel pour séparer uˆ et hˆ,
donc il est suffit d'utiliser l'opération inverse H-1 sur uˆ et hˆ pour obtenir les