Matlab d'analyse d'ondelettes. Divers exemples de fonctions d'analyse d'ondelettes dans MATLAB

Thème 5 : Fonctions des transformées en ondelettes BMATLAB

Lorsqu’on étudie les sciences, les exemples ne sont pas moins instructifs que les règles.

Isaac Newton (1643-1727). Scientifique anglais, seigneur, XVII-XVII siècles.

Il existe une règle dans la théorie des ondelettes qui est plus instructive que la théorie elle-même : essayez, regardez et tirez des conclusions.

Evgueni Prokopchuk. Géophysicien d'Irkoutsk de l'école de l'Oural, cosaque, 20e siècle.

Contenu: Introduction. 5.1. Transformation en ondelettes unidimensionnelle continue. Fonctions de base. Interface graphique. 5.2. Transformation en ondelettes unidimensionnelle discrète. Décomposition en ondelettes multiniveaux. Transformation en ondelettes multiniveaux inverse. Restauration inversée du signal à un seul niveau. Fonctions des coefficients d'approximation. Définition des conditions aux limites de la transformée en ondelettes. Fonctions des coefficients de détail de la transformée en ondelettes. Transformation en ondelettes d'un niveau. Transformation en ondelettes inverse d'un niveau. Reconstruction directe du signal à partir des coefficients. Interface graphique. 5.3. Transformation en ondelettes bidimensionnelle discrète. Fonctions de transformation en ondelettes. Interface graphique. 5.4. Transformée en ondelettes stationnaire discrète. Transformation en ondelettes unidimensionnelle. Transformation en ondelettes unidimensionnelle inverse. Interface graphique. Transformation en ondelettes stationnaires bidimensionnelles. Transformée en ondelettes stationnaires bidimensionnelle inverse. Interface graphique. Littérature.

Introduction

Le package d'extension Wavelet Toolbox du système Matlab vous permet d'utiliser l'analyse par ondelettes et la transformation de données dans une grande variété de domaines scientifiques et technologiques.

Le logiciel du package permet d'effectuer des transformations en ondelettes aussi bien en mode commande (et préparer des programmes spécialisés) qu'en mode dialogue via l'interface GUI (activée par la commande "wavemenu" ou depuis la fenêtre de l'éditeur, Wavelet Toolbox ® Main Menu).

Le package contient des exemples de démonstration de transformations en ondelettes, dont la fenêtre est activée par la commande "wavedemo". Le premier bouton de la fenêtre (Mode ligne de commande) active un menu assez complet d'exemples de travail en mode commande avec des ondelettes unidimensionnelles et bidimensionnelles de tous types en versions régulières et batch (transformations en ondelettes continues et discrètes avec décomposition et reconstruction des signaux, compression du signal, suppression du bruit, etc.). Les exemples de diapositives sont accompagnés de listes correspondantes de fragments de programme qui peuvent être transférés vers le tampon (en appuyant sur les touches Maj + Suppr) puis utilisés dans la ligne de commande Matlab.

De même, les deuxième et troisième boutons permettent d'accéder à des exemples de démonstration dans l'interface GUI.

5.1. Transformation unidimensionnelle continue /3/.

Fonctions de base. La transformée en ondelettes unidimensionnelle continue (CWT-1D), seule, sans reconstruction du signal, est utilisée pour analyser la forme des signaux et identifier leurs caractéristiques locales. La conversion est effectuée par la fonction cwt dans les formats suivants :

●C= cwt(S, SCALES, "wname") – renvoie les coefficients "c" du CTP direct d'un signal réel ou complexe S par l'ondelette "wname" dans l'échelle SCALES. Travail standard ÉCHELLES = début : étape : fin (basé sur les valeurs du facteur d'échelle "a").

●C= cwt(S, SCALES, "wname", "plot") - la même chose, plus construit un graphique de coefficients.

●C= cwt(S, SCALES, "wname", plotmode) – identique, avec les paramètres de couleur plotmode suivants spécifiés pour tracer les coefficients :

- "lvl" – coloration étape par étape,

- "glb" – coloration prenant en compte tous les coefficients,

- "abslvl" ou "lvlabs" – coloration pas à pas à partir de valeurs de coefficients absolus,

- "absglb" ou "glbabs" - coloration avec mise à l'échelle et utilisation de valeurs de coefficients absolus.

●C= cwt(S, SCALES,"wname", plotmode, xlim) – le même, avec un paramètre de couleur supplémentaire xlim = , où les valeurs entre crochets définissent le nombre de points des vecteurs de coefficients C (valeurs de décalage bmin et bmax), à partir de l'intervalle duquel les valeurs Cmin et Cmax de l'intervalle de changement de couleur.

§ Un exemple de transformée en ondelettes continue d'une sinusoïde avec deux types d'ondelettes et avec deux types de coloration des résultats (Fig. 5.1.1).

t=espacelin(-3,3,2048); s = péché (t). ^ 17 ; sous-intrigue (331); tracé(t, s);

sous-intrigue (334);

= mexihat(-4,4,100); tracé(X, psi);

sous-intrigue (337);

= wavefun("bior1.5",8); tracé(X, psi);

subplot(338);c1=cwt(s,1:32, "mexh","abslvl",);

subplot(339);c2=cwt(s,1:32, "bior1.5","abslvl",);

sous-intrigue (332); tracé(t, c1(10, :)); sous-intrigue (333); tracé(t, c2(10, :));

Comme on peut le voir sur la figure, la symétrie ou l'asymétrie (bizarre) de la fonction d'ondelette affecte de manière significative la forme du spectre d'ondelette, ainsi que le type d'ombrage, ce qui permet d'identifier spécifiquement les caractéristiques des signaux locaux, par exemple. exemple, les points d'inflexion des fonctions de signal, qui sont marqués par des bandes verticales avec l'ondelette "mtxh" " avec plotmode=abslvl.

§ Exemple de CWP d'une courbe de diagraphie gamma (Fig. 5.1.2).

A=dlmread("c:\MATLAB6p1\work\Zag3f. prn"," ",120);

xn=1 ; xk=2000 ; xd=xk-xn; GK=A(,5); da = 1 ; nsp = 32 ;

sous-intrigue (311); terrain(GK); grille; axe();

sous-intrigue (312); c1=cwt(GK,1:da:dk, "mexh", "abslvl",);

sous-intrigue (313); c1=cwt(GK,1:da:dk, "sym4","abslvl",);

Sur la fig. 5.1.2 montre les spectres d'ondelettes de la courbe d'enregistrement des rayons gamma. En raison de la nature du rayonnement nucléaire, les diagrammes GC sont toujours très compliqués par des fluctuations statistiques, dans le contexte desquelles il est assez difficile de distinguer les limites des couches rocheuses ayant une activité gamma différente. Sur les spectres d'ondelettes avec plotmode=abslvl, ces frontières sont fixées le long des inflexions des fonctions GC par des bandes verticales de minima (bandes de couleur foncée), ce qui permet de détailler la fonction signal en blocs locaux à l'aide de sections d'échelle du milieu et du haut. niveaux.

Interface Interface graphique pratique pour analyser les données en ligne. Sur la fig. 5.1.3 montre une fenêtre qui peut être activée à partir du « Menu principal de Wavelet Toolbox » à l'aide du bouton « Continuous Wavelet 1-D ». Les signaux de démonstration sont chargés dans la fenêtre à partir du menu Fichier ® Exemple d'analyse, le type d'ondelette et les paramètres d'analyse sont définis et le bouton "Analyser" est enfoncé, après quoi le signal et les résultats de sa décomposition en trois représentations (complète, croisée) section par niveau moyen de décomposition et ligne) apparaissent dans la partie graphique de la fenêtre des maxima locaux). La représentation graphique peut être modifiée à l'aide des boutons et commutateurs situés en dessous, ainsi qu'à l'aide des options de menu de fenêtre standard. Les coefficients de décomposition peuvent être écrits sur le disque sous forme de fichier mat (Fichier ® Enregistrer les coefficients), puis lus dans l'espace de travail Matlab pour une étude détaillée.

Lorsque vous effectuez une décomposition continue avec des ondelettes complexes dans le menu principal de la boîte à outils Wavelet, utilisez le bouton "Ondelettes continues complexes 1-D".

Lors du traitement de données enregistrées dans d'autres formats (non-mat), vous devez d'abord convertir les données au format mat, ce qui peut être fait depuis la fenêtre principale de Matlab (Fichier ® Importer des données) ou depuis la fenêtre de commande. Lors du traitement de signaux unidimensionnels, la seconde est préférable, car elle permet en même temps de préparer des tableaux vectoriels unilignes pour l'interface graphique. Vous trouverez ci-dessous un exemple de lecture de données géophysiques d'enregistrement à partir d'un fichier au format las, précédemment renommé au format prn pour utiliser la fonction dlmread, et de conversion des colonnes 1 et 5 du tableau de lecture (grille de profondeur et diagramme GC) en vecteurs de chaînes avec les écrire dans des fichiers au format mat.

fprn="c:\MATLAB6p1\work\MainData\Zag3\Zag3f. prn";

fn = 72 ; A=dlmread(fprn," ",fn); lignes=taille(A,1); cols=taille(A,2);

xn=1 ; xk=lignes ; Zag3f_9_2473=A(xn:xk,1:5);

DEPT=A(xn:xk,1); GK=A(xn:xk,5);

enregistrez "c:\MATLAB6p1\work\MainData\Zar3\gk3f. mat" GK ;

enregistrez "c:\MATLAB6p1\work\MainData\Zar3\dept3f. mat" DEPT ;

L'écriture de fichiers au format mat peut également se faire directement depuis la fenêtre de l'espace de travail (clic droit sur le tableau sélectionné pour l'enregistrement ® "enregistrer la sélection sous...").

5.2. Transformation discrète unidimensionnelle /3/.

Le principal avantage de la transformée en ondelettes discrète (DWT) est la possibilité d'une transformation rapide (FWT) avec un algorithme de calcul pyramidal, qui permet l'analyse de grands échantillons de données. Cependant, les capacités du BVP ne sont pas réalisées pour tous les types d’ondelettes. Cependant, lors du traitement des données, BVP est utilisé de manière très intensive et est représenté dans la Wavelet Toolbox avec un grand nombre de fonctions spéciales.

Décomposition en ondelettes multiniveaux (décomposition) des signaux est effectuée par la fonction wavedec, qui est utilisée sous deux formes :

● = vaguedec(S, N, "wname").

● = vaguedec(S, N, LD, HD).

La fonction renvoie les vecteurs de décomposition d'un signal S au niveau N à l'aide de l'ondelette "wname" ou de ses filtres de décomposition passe-bas (LD) et passe-haut (HD). N doit être un entier et détermine la longueur du vecteur L (longueur(L)=N+2). La valeur de N aux K points du signal ne doit pas être supérieure à K/2 > 2N ≤ K. La composition des vecteurs C et L est illustrée par l'exemple suivant.

§ Un exemple de calcul des coefficients de décomposition du signal (Fig. 5.2.1).

dwtmode("sauvegarder", "par");

charger la somme ; S = somme sin (1: 200); =wavedec(S,3,"db4");

sous-intrigue (131); parcelle(S); grille; titre("signal S");

sous-intrigue (132); tracé(C); grille; titre("signal C");

sous-intrigue (133); tracé(L); grille; titre("signal L");

La première ligne de l'exemple ci-dessus sert à activer la méthode de spécification des conditions aux limites de convolution. Dans ce cas, la méthode "per" est activée - périodisation de la continuation du signal. Les méthodes possibles pour définir les conditions aux limites seront discutées ci-dessous.

Comme on peut le voir sur la Fig. 5.2.1, avec N=3 et K=200 points de signal, le vecteur C est un tableau de valeurs de coefficients de décomposition approximatifs du niveau N=3 (échantillons 1 à 25), et des tableaux de coefficients de décomposition détaillés des niveaux N= 3 (échantillons 26 à 50), (N-1) = 2 (échantillons 51 à 100) et (N-2) = 1 (échantillons 101 à 200). Le nombre de joints de coefficients est fixé par le vecteur L, en L(N+2) – le nombre d'échantillons de signal. Selon le même principe, les coefficients de tout niveau de décomposition sont calculés, jusqu'à la valeur maximale N, à laquelle la valeur 2N ne dépasse pas le nombre de points de signal.

Transformation inverse à plusieurs niveaux (reconstruction du signal S par structure) est réalisée par la fonction waverec :

● S = vaguerec(C, L, "wnom").

● S = vaguerec(C, L, LD, HD).

§ Exemple de décomposition et de reconstruction du signal (Fig. 5.2.2).

charger la somme ; S = somme sin (1: 200); =wavedec(S,6,"db4");

s=waverec(C, L,"db4"); err=norme(S-s)

sous-intrigue (131); parcelle(s) ; grille; titre("signaux");

C(L(7)+1:L(8))=0; s1=waverec(C, L,"db4");

sous-intrigue (132); parcelle(s1); grille; titre("signal s1");

C(L(3)+1:L(8))=0; s2=waverec(C,L,"db4");

sous-intrigue (133); intrigue(s2); grille; titre("signal s2"));

Sur la fig. 5.2.2 trois reconstructions du signal sont présentées : le signal s de la reconstruction complète, le signal s1 – reconstruction avec remise à zéro des coefficients de détail du 1er niveau, et le signal s2 – avec remise à zéro de tous les coefficients de détail. La métrique de reconstruction complète calculée est de l’ordre de la puissance -12, c’est-à-dire qu’elle représente essentiellement la précision des calculs de la machine.

Récupération d'une seule branche les coefficients de la structure peuvent être exécutés par la fonction wrcoef :

● X = wrcoef("type",C, L,"wname",N) – renvoie un vecteur de coefficients reconstruits de niveau N, réduits aux coordonnées originales du signal. Le niveau N peut être n'importe lequel, mais pas plus que le niveau Nmax = longueur (L) -2 de la structure. Le paramètre « type » précise le type de coefficients : « a » – approximation, « d » – détail.

● X = wrcoef("type",C, L,LR, HR, N) – le même, en utilisant des filtres de reconstruction d'une ondelette donnée.

Sans préciser le paramètre N, la restauration s'effectue à partir du niveau maximum.

§ Un exemple de reconstruction d'une seule branche de coefficients d'approximation à l'aide de deux types d'ondelettes (Fig. 5.2.3).

charger la somme ; S = somme sin; sous-intrigue (311); parcelle(S); grille; axe();

Wavedec(S,5,"cheveux"); =wavedec(S,5,"db10");

sous-intrigue (323); tracé(C1); grille; axe();

sous-intrigue (324); tracé(C2); grille; axe();

a5h=wrcoef("a",C1,L1,"haar",5); a5d=wrcoef("a",C2,L2,"db10",5);

sous-intrigue (325); terrain(a5h); grille; axe();

sous-intrigue (326); terrain(a5d); grille; axe();

Sur la fig. 5.2.3 il est bien clair que les coefficients de détail C2 sont absents aux niveaux 2 et 5. La restauration des coefficients de détail aux niveaux 1, 3, 4 et la somme des coefficients aux niveaux 3 et 4 permet d'isoler la haute fréquence composantes du signal représenté sur la Fig. 5.2.4.

§ Un exemple de reconstruction de branches simples de coefficients de détail d'ondelettes "db10" (suite de l'exemple précédent). Pour plus de clarté, les résultats de la Fig. 5.2.4 ne sont donnés que pour une partie limitée de l'intervalle de récupération.

d1=wrcoef("d",C2,L2,"db10",1); d3=wrcoef("d",C2,L2,"db10",3);

d4=wrcoef("d",C2,L2,"db10",4); une=d3+d4; sous-intrigue (141); tracé(d1); grille;

sous-intrigue (142); tracé(d3); grille; sous-intrigue (143); tracé(d4); grille; sous-intrigue (144); terrain(a); grille;

Récupération inversée à un seul niveau (niveau n à partir du niveau n+1) est réalisé par la fonction upwlew sous la forme :

● = upwlev(C, L, "wname"), où C, L est la structure de décomposition du signal au niveau longueur(L)-2 = n+1, сА est le vecteur des coefficients d'approximation du niveau n+1.

● = upwlev(C, L, LR, HR) – la même chose, en utilisant des filtres basse fréquence (LR) et haute fréquence (HR) pour la reconstruction d'une ondelette donnée.

§ Un exemple de décomposition et de récupération inversée à un seul niveau (Fig. 5.2.5).

charger la somme ; S = somme sin (1: 200); S=dwtmode("per", "nodisp");

Wavedec(S,4,"db4");

= upwlev(C, L, "db4");

sous-intrigue (221); parcelle(S); grille; sous-intrigue (222); tracé(C); grille;

sous-intrigue (223); tracé(cA); grille; sous-intrigue (224); tracé(nC); grille;

A partir de la structure de la décomposition en ondelettes, les fonctions appcoef et detcoef extraient respectivement les coefficients d'approximation et de détail. :

Fonctions des coefficients d'approximation ● A = appcoef

Fonctions des coefficients d'approximation ● A =(C, L, "wname", N) – renvoie les coefficients d'approximation d'ondelettes "wname" au niveau N sans changer l'échelle de leur représentation.

(C, L, "wname") – renvoie les coefficients d'approximation du signal au dernier niveau Nmax = length(L)-2.

Fonctions des coefficients d'approximation ● A = Au lieu du nom de l'ondelette, des filtres de reconstruction peuvent être spécifiés directement, c'est-à-dire :

(C, L, LR, HR, N), où LR et HR sont les vecteurs des filtres passe-bas et passe-haut de cette ondelette.

§ Exemple de sélection de signal d'approximation (Fig. 5.2.6).

charger la somme ; S = somme sin (1: 800); =wavedec(S,4,"sym8"); A=appcoef(C, L,"sym8",4);

Sur la fig. 5.2.6 montre un exemple d'utilisation de la fonction appcoef. Essentiellement, cette fonction extrait les coefficients d'approximation de niveau appropriés du tableau combiné de tous les coefficients de décomposition du signal. Dans cet exemple, au 4ème niveau de décomposition, la composante basse fréquence quasi pure du signal est isolée (sans tenir compte de la partie initiale de la distorsion due aux conditions aux limites).

Définition des conditions aux limites. Les distorsions dans la partie initiale des fonctions de coefficient (voir Fig. 5.2.6A) sont déterminées par les conditions aux limites qui sont définies pour un signal d'entrée donné (extension du signal à gauche et à droite des limites de la tâche pour effectuer l'opération de convolution) par la fonction spéciale dwtmode :

● S = mode dwt("mode", "nodisp"), où le paramètre mode (méthode) peut être le suivant :

"sym" – complément symétrique (par défaut),

"zpd" – remplissage avec des zéros,

"sp0" ou "sp1" – complément lisse de zéro ou du premier ordre,

"ppd" – ajout périodique,

"par" – méthode de périodisation.

Le paramètre "nodisp" est facultatif ; s'il est absent, des informations sur le changement de type de mode pour ce signal sont affichées. La méthode par défaut est chargée depuis le mode dwt. def (ou, en son absence, depuis dwtmode. cfg).

Modifications des coefficients A illustrées à la Fig. 5.2.6, en fonction des conditions initiales, on peut voir sur la Fig. 5.2.7.

La méthode d'extension par défaut peut être modifiée avec la commande :

mode dwt("enregistrer", "mode").

Les informations sur la méthode par défaut actuelle sont affichées par la commande >> dwtmode, sur la méthode installée pour un signal donné S : >> S=dwtmode.

Fonctions des coefficients de détail :

●D= détcoef(C, L, N) – renvoie les coefficients de détail au niveau N de la structure de décomposition. La valeur de N peut être n'importe quoi dans l'intervalle 1≤ N ≤ longueur (L) -2.

●D= détcoef(C, L) – le même, au dernier niveau Nmax = longueur (L) -2.

§ Un exemple de sélection d'un signal de détail de 1er niveau (Fig. 5.2.8).

charger la somme ; S = somme sin; =wavedec(S,3,"db3"); D1=coef(C, L,1);

sous-intrigue (131); parcelle(S); grille; sous-intrigue (132); tracé(C); grille; sous-intrigue (133); tracé (D1); grille;

Des coefficients détaillés peuvent être écrits dans un tableau de tableaux de coefficients distincts à l'aide des fonctions :

● DJ = détcoef(C, L, N, "cellules"), où N est un vecteur d'entiers de l'intervalle 1≤ N(j) ≤ Nmax, tandis que DJ forme un tableau de cellules DJ(j), dont chacune contient des coefficients détaillés de le niveau N correspondant. Lorsque les coefficients de tous les niveaux sont enregistrés.

● DJ = détcoef(C, L,) – ​​​​le même, avec indication directe du vecteur de nombres N par énumération dans , ou énumération séquentielle de type .

● DJ = détcoef(C, L, "cellules") est équivalent à la fonction détcoef(C, L,).

● = détcoef(C, L,) – ​​​​​​écrit les coefficients détaillés dans des tableaux séparés.

Transformation en ondelettes d'un niveau L'ondelette "wname" du vecteur (signal) S est réalisée par la fonction dwt :

● = tpl(S, "wname") – renvoie les vecteurs des coefficients d'approximation сА et les coefficients de détail cD.

● = tpl(S, LD, HD) – la même chose, en utilisant des filtres de décomposition LD basse fréquence et HD haute fréquence.

● = tpl(..., "mode", MODE) – pareil, en spécifiant la méthode d'extension.

La longueur des vecteurs cA et cD avec la méthode d'expansion "per" est égale à la moitié du vecteur d'entrée S, avec les autres méthodes d'expansion elle est égale à la moitié de la somme des vecteurs du signal d'entrée et du filtre de décomposition.

Conversion inverse à un seul niveau l'ondelette "wname" (ou filtres de reconstruction) est réalisée par la fonction idwt :

● S = je ne sais pas(cA, cD, "wname").

● S = je ne sais pas(cA, cD, LR, HR).

● S = je ne sais pas(……, L) – renvoie le bloc central du vecteur S, indépendamment des conditions d'expansion.

● S = je ne sais pas(……,"mode", MODE) – renvoie le vecteur S spécifiant la méthode d'extension.

● Sa = je ne sais pas(cA, ,…..) – renvoie le vecteur S approché.

● Éd = je ne sais pas(, cD,…..) – renvoie la fonction de détail du vecteur S.

§ Un exemple de décomposition et de reconstruction du signal au 1er niveau (Fig. 5.2.9).

randn("seed",123456789) % Définir randn

s=2+kron(ones(1,10),)+((1:20).^2)/32+0,5*randn(1,20);

Dwt(s,"db4");

sous-intrigue (221); tracé(cA1); grille;

sous-intrigue (222); tracé(cD1); grille;

ss=idwt(cA1,cD1,"db4");

err=norme(s-ss); t=kron(1:20,1);

sous-intrigue (212); tracé(t, s,t, ss); grille; xlabel(["err=",num2str(err)])

Reconstruction directe du signal à partir de coefficients le niveau N est spécifié par la fonction upcoef au format suivant :

● O = coef supérieur(O, X, "wname", N), où O = "a" pour les coefficients d'approximation, ou "d" pour les coefficients de détail. Au lieu du nom de l'ondelette, vous pouvez spécifier des filtres de reconstruction LR et HR. Si la valeur N n'est pas précisée, alors les coefficients du premier niveau sont restitués.

● O = coef supérieur(O, X, "wname", N, L) – pareil, avec la sélection du bloc central du résultat de taille L.

§ Un exemple de reconstruction de signal à partir de coefficients d'approximation de l'expansion des impulsions de Kronecker à partir de différents niveaux sur la même échelle (Fig. 5.2.10).

S = 1 ; N = 4 ; es=10 ;

reg=upcoef("a", S, "db8",i);

ax=sous-intrigue(N,1,i); h=plot(reg(1:es)); grille;

set(hache, "xlim", ); es=es*2;

Interface Interface graphique dans la transformation discrète, il est utilisé de la même manière que dans la transformation continue.

La fenêtre de transformation est activée à partir du "Menu principal de Wavelet Toolbox" par le bouton "Wavelet 1-D" et a des fonctionnalités légèrement supérieures. Un exemple de fenêtre est présenté sur la Fig. 5.2.11 en mode d'affichage graphique de tous les coefficients de dilatation (mode séparé). À l'aide du commutateur « Mode d'affichage », les modes de sortie peuvent être modifiés ; les détails de sortie peuvent être définis dans une sous-fenêtre séparée (le bouton « Plus d'options d'affichage »).

Sous le bouton "Analyser", la fenêtre dispose de 4 boutons permettant d'activer des fenêtres permettant d'effectuer des opérations spéciales sur les résultats de la décomposition du signal.

Les fenêtres « Statistiques » et « Histogrammes » sont destinées à l'analyse et à la visualisation graphique des caractéristiques statistiques du signal et de tous ses coefficients de décomposition. Dans les fenêtres « Compresser » et « De-noise », les modes de compression (compression) des signaux et d'élimination du bruit sont définis et ces opérations sont effectuées. Leur utilisation sera discutée plus loin.

Les coefficients de décomposition dans la structure de décomposition, ainsi que le signal synthétisé, peuvent être écrits sur le disque dans des fichiers mat via le menu de la fenêtre Fichier. De la même manière, le signal et ses coefficients d'expansion peuvent être chargés dans la fenêtre.

5.3. Transformation bidimensionnelle discrète.

Les fonctions de transformation en ondelettes bidimensionnelles ont un objectif similaire aux fonctions de transformation unidimensionnelles décrites ci-dessus et sont identifiées par le chiffre 2 à la fin des fonctions de transformation unidimensionnelles du même nom, c'est-à-dire : wavedec2, wavereg2, wrcoef2, upwlev2, appcoef2, detcoef2, upcoef2, dwt2, idwt2.

§ Un exemple de décomposition et de reconstruction par approximation d'un signal bidimensionnel (Fig. 5.3.1).

randn("graine",12345);

S(1:100,1:100)=0 ; S(60:70,60:70)=10 ;

S=S+5*randn(100 100) ;

Wavedec2(S,4,"db2");

a3=wrcoef2("a",C, L,"db2",3);

a4=wrcoef2("a",C, L,"db2",4);

figure(1); sous-intrigue (132); contour(a3); sous-intrigue (131); contour(S); sous-intrigue (133); contour(a4);

figure(2); sous-intrigue (131); maille(S); sous-intrigue (132); maille (a3); sous-intrigue (133); maille (a4);

Sur la fig. 5.3.1 montre un exemple de traitement d'un signal bidimensionnel dont la partie informationnelle est proportionnelle à la puissance du bruit. Les résultats du traitement sont présentés sous forme de cartes de contours et de cartes de surfaces. Dans le traitement bidimensionnel, le signal d'entrée S est une matrice bidimensionnelle, la structure de décomposition est constituée d'un vecteur de coefficients d'approximation et de détail C et d'une matrice de la structure d'enregistrement de coefficients L. Le vecteur C est constitué de séquences de coefficients d'approximation et de détail de lignes horizontales, verticales et diagonales de décomposition du signal.

D'autres fonctions de transformation 2D fonctionnent de la même manière.

Interface Interface graphique La transformation bidimensionnelle du "Menu principal de Wavelet Toolbox" est activée par le bouton "Wavelet 2-D". La fenêtre de conversion est illustrée à la Fig. 5.2.2 et est utilisée un peu comme la fenêtre de transformation unidimensionnelle.

La construction d'une image de la décomposition d'un signal bidimensionnel (graphique en bas à droite) en mode « Mode Visualisation : Carré » est la suivante. Les coefficients de détail diagonaux du premier niveau de décomposition se trouvent dans le coin inférieur droit du graphique, les coefficients horizontaux au-dessus se trouvent dans le coin supérieur droit et les coefficients verticaux se trouvent à gauche, dans le coin inférieur gauche. Le quart supérieur gauche du graphique montre les coefficients des niveaux suivants, en l'occurrence le deuxième et le troisième, qui sont disposés selon un principe similaire. Le carré supérieur gauche du graphique représente les coefficients d'approximation du dernier niveau de décomposition. Dans le graphique en haut à droite de la fenêtre, vous pouvez observer les coefficients de décomposition marqués (y compris les boutons Opérations sur l'image sélectionnée) dans l'échelle originale du signal d'entrée (Visualiser), sous une forme agrandie (Pleine taille) et en mode reconstruction. . À l'aide des boutons 1, 2, 3 et 4 Pleine taille, vous pouvez permettre à l'un des quatre graphiques de fenêtre d'être visualisé à une échelle agrandie.

La partie graphique de la fenêtre en mode Affichage : Arbre est représentée sur la Fig. 5.3.3 et ne nécessite pas de commentaires.

5.4. Transformée en ondelettes stationnaires discrètes /34/.

La transformation discrète dwt est basée sur le principe de non-stationnarité du signal. Dans la transformée en ondelettes stationnaires discrètes (SWT - Stationary Wavelet Transform), le signal est considéré comme stationnaire. L'utilisation de cette transformation est préférable lors de la compression des signaux et de la suppression du bruit.

Transformation en ondelettes unidimensionnelle remplir les fonctions suivantes :

● S = swt(X, N, "wname") – renvoie la décomposition du signal X au niveau N par l'ondelette "wname". N n'est qu'un nombre positif, la taille de X doit être un multiple de 2N. La matrice de sortie S est constituée de vecteurs de ligne et contient des coefficients détaillés S(n, :) des niveaux dans n lignes 1≤n≤ N, et des coefficients approximatifs du niveau N dans la ligne S(N+1, :). L'échelle de temps (coordonnée) des coefficients correspond à l'échelle du signal d'entrée, ce qui est très pratique pour l'analyse.

● S = swt(X, N, LD, HD) – la même chose, en utilisant des filtres passe-bas LD et passe-haut HD.

● = swt(...) – les matrices des coefficients d'approximation cA et des coefficients de détail cD sont renvoyées pour tous les n niveaux. Les coefficients de niveau sont disposés ligne par ligne, numérotés de 1 à N.

§ Exemple de décomposition du signal (Fig. 5.4.1).

charger le bloc de bruit ; s=noisbloc(640:879);

sous-intrigue (311); parcelle(s) ; axe();

sc=swt(s,3,"db1"); =swt(s,3,"db1");

sous-intrigue (312); plot(ca"); axis();

subplot(313);plot(cd(1,:)"); axis();

Transformation en ondelettes unidimensionnelle inverse matrices S et est implémenté avec une précision quasi absolue par les fonctions suivantes :

●X= est(S, "nom"),

●X= est(cA, cD, "wname"),

●X= est(cA(fin,:), cD, "wname"),

●X= est(S, LR, RH),

●X= est(cA, cD, LR, HR),

●X= est(cA(fin, :), cD, LR, HR).

§ Un exemple de vérification de l'exactitude de la reconstruction du signal.

charger le bloc de bruit ; s=blocage du bruit ; sc=swt(s,3,"db1"); =swt(s,3,"db1");

s1=iswt(sc,"db1"); s2=iswt(ca, cd, "db1"); err1=norme(s-s1); err2=norme(s-s2);

err1m=max(max(abs(s-s1))); err2m=max(max(abs(s-s2)));

Les calculs pour cet exemple donnent :

err1 = err2 = 9,6566e-014, err1m = err2m = 1,0658e-014.

Transformation en ondelettes stationnaires bidimensionnelles le signal X au niveau N est réalisé par les fonctions :

● S = swt2(X, N, "wname"), ● = swt2(X, N, "wnom").

● S = swt2(X, N, LD, HD), ● = swt2(X, N, LD, HD).

Dans ces fonctions, N n'est qu'un nombre positif ; les dimensions X sur les deux axes (size(X,1) et size(X,2)) doivent être des multiples de 2N. Matrice de sortie S – les tableaux contiennent des coefficients d'approximation au niveau n dans la matrice A(:,:,n) et des coefficients détaillés au niveau n dans les matrices H(:,:,n) – horizontal, V(:,:,n) – vertical et D(:,:,n) – diagonal.

§ Exemple de décomposition de signal bidimensionnel.

charger les facettes ; m = 256 ; N=3 ;

codX=wcodemat(X, m);

sous-intrigue (221); image(codX);

Swt2(X, N,"sym4");

coda=wcodemat(ca(:,:,k),m);

codhd=wcodemat(chd(:,:,k),4*m);

codvd=wcodemat(cvd(:,:,k),4*m);

coddd=wcodemat(cdd(:,:,k),4*m);

décl=;

sous-intrigue(2,2,k+1); image(décl);

L'utilitaire wcodemat dans l'exemple ci-dessus renvoie des versions codées des matrices d'entrée en gradations de valeurs entre les valeurs maximales et minimales. Le nombre de gradations permet de régler le contraste lumineux des affichages graphiques des matrices. Format utilitaire complet

● Y = wcodemat(X, M,OPT, ABS), où M est le nombre de premiers nombres d'encodage (gradations), ABS est le type d'encodage (ABS=0 – prise en compte des signes, ABS>0 – valeurs absolues), OPT – paramètre de chaîne = "row" ou "r" pour le codage de ligne, = "col" ou "c" pour le codage de colonne, "mat" ou "m" pour le codage global.

● Y = wcodemat(X, M,OPT) est équivalent à Y = wcodemat(X, M,OPT,1),

● Y = wcodemat(X, M) est équivalent à Y = wcodemat(X, M,"mat",1),

● Y = wcodemat(X) est équivalent à Y = wcodemat(X,16,"mat",1).

Transformée en ondelettes stationnaire bidimensionnelle inverse le signal X utilisant des matrices calculées par l'utilitaire swt2 est réalisé par les fonctions :

● X = je swt2(S,"wname"), ● X=i swt2(A, H, V, D, "…"), ● X=i swt2(A(:,:,fin),H, V,D, "…").

● X = je swt2(S, LR, HR), ● X=i swt2(A, H, V, D, LR, HR), ● X=i swt2(A(:,:,fin),H, V,D, LR, HR).

Le signal, comme pour la reconstruction unidimensionnelle, est également reconstruit avec une très grande précision, qu'il est recommandé de vérifier indépendamment.

Interface Interface graphique n'a pas de fenêtre SWT spéciale. Mais en utilisant SWT, les signaux sont compressés et supprimés du bruit dans la fenêtre « SWT De-noising 1-D » « Wavelet Toolbox Main Menu » et, par conséquent, dans cette fenêtre, si nécessaire, vous pouvez visualiser la décomposition en ondelettes du signal. .

littérature

3. Dyakonov V., Abramenkova I. MATLAB. Traitement du signal et de l'image. Ouvrage de référence spécial. – Saint-Pétersbourg : Peter, 2002, 608 p.

Pack d'extension système Matlab 7.0.1 Boîte à outils ondelettes 2 - l'un des outils puissants pour étudier et appliquer la transformée en ondelettes (WT). Ce package offre des fonctionnalités étendues et uniques pour travailler avec des ondelettes dans deux modes : fenêtre de commande Et interface utilisateur graphique.

Ondelettes dans un paquet Matlab Il est d'usage de classer selon le nom du scientifique qui a le premier proposé tel ou tel type d'ondelette, ou selon ses traits distinctifs. Ce paquet contient 15 types d'ondelettes de base, en particulier Haar - 'haar', Morlet - 'shogG', Daubechies - 'db', Mexican hat - 'mexh', etc. Pour obtenir de l'aide sur le type d'ondelette, tapez waveinfo (« type ») dans la fenêtre de commande, en indiquant le type d'ondelette. Par exemple, pour une ondelette sombrero on a :

>> waveinfo(1 mexh 1)

MEXHINFO Informations sur l'ondelette Mexican Hat.

Chapeau Mexicain Havelet

Définition : dérivée seconde de la fonction de densité de probabilité gaussienne

mexh(x) = c * exp(-x l 2/2) * (1-x l 2) où c = 2/(sqrt(3)*pi A (1/4))

Chapeau mexicain familial

Support compact non

Largeur de support infinie

Prise en charge efficace [-5 5]

Mode fenêtre de commande

En mode fenêtre de commande paquet système Boîte à outils d'ondelettes Matlab fournit :

  • outils d'analyse et de synthèse d'ondelettes ;
  • de nombreuses ondelettes intégrées ;
  • la possibilité de construire une ondelette avec des propriétés spécifiées ;
  • installations de traitement du signal et de l'image ;
  • outils pour l'analyse d'ondelettes continue et discrète ;
  • des moyens de nettoyer le signal du bruit et d'autres possibilités. Une description assez détaillée des techniques et moyens d'ondelettes-

l'analyse est donnée dans .

Examinons quelques exemples d'utilisation d'ondelettes en mode fenêtre de commande.

Exemple 6.11. Calculez les valeurs d'ondelettes du sombrero dans la plage [-6; 6J.

Fonction =mexihat(lb,uto,n); tracé (x, psi)

nous obtenons le résultat final présenté sur la Fig. 6.31. Voici une fonction d'ondelette sombrero calculée dans la plage [-6; 6J.

Figure 6.31. Graphique d'une fonction d'ondelette sombrero Transformation en ondelettes continue

Ce type de transformation est à la base de l'application

ondelettes dans la technologie de traitement du signal. Le NIP est implémenté par la fonction cwt, dont la syntaxe a les formes suivantes :

COEFS = cwt(S, SCALES, 'wname') - renvoie les coefficients NPT d'un signal réel ou complexe S en SCALES réelles positives ; wname spécifie le nom de l'ondelette ;

  • COEFS = cwt(S, SCALES, 'wname', 'plot') - renvoie les coefficients et les trace ;
  • COEFS = cwt(S, SCALES, 'wname', PLOTMODE) renvoie les coefficients et les trace avec

en utilisant les paramètres de couleur PLOMODE.

Grâce à la PNT, nous obtenons un spectrogramme d'ondelettes (WS), qui représente les valeurs des coefficients d'ondelettes dans le plan échelle (numéro de coefficient) - temps. Dans la partie inférieure du BC se trouvent des coefficients avec de petits nombres qui donnent une image détaillée du signal, dans la partie supérieure - avec de grands nombres qui déterminent une image approximative du signal. De plus, leurs valeurs caractérisent la couleur d'une zone spécifique (généralement petite) de l'avion. Les signaux harmoniques sur l'avion correspondent à des bandes horizontales lumineuses ; caractéristiques locales (violations de la douceur) - bandes verticales s'étendant à partir du point où se trouve une caractéristique. Les pics de signal sont affichés en condensant les zones lumineuses du soleil ; dépressions - épaississement des zones sombres. ?

Exemple 6.12. Analyse en ondelettes continue d'une sinusoïde.

Les expressions suivantes sont écrites sur la ligne de commande : t=linspace(-6, b, 2048); s = péché (t); sous-intrigue (211), intrigue (t, s); title(1 function s(t)") subplot(212), c =cwt(s,1:1:16, "sym4", "abslvl", ); title (1 spectre d'ondelettes s(t)")|

L'entrée dans la troisième ligne - "abslvl" - indique

caractéristique de coloration : les valeurs absolues des coefficients sont utilisées ici. Le résultat du calcul est présenté sur la figure 6.32.


Figure 6.32. Graphique des signaux péché(t) et son spectrogramme d'ondelettes

Le spectrogramme d'ondelettes résultant représente la dépendance des coefficients de représentation en ondelettes (échelle) par rapport au temps. Pour une fonction simple comme péché(t), Il est utile d'estimer uniquement les coefficients les plus bas spécifiés par le complexe 1:1:16 (les coefficients de 1 à 16 sont affichés par pas de 1). Comme le montre la Fig. 6.32, il n'y a pas de traits distinctifs dans le spectrogramme d'une sinusoïde, à l'exception des zones où le signal passe par les points zéro et extrêmes : la périodicité de la sinusoïde est exprimée par une alternance de zones sombres et claires. Ce n’est que sur les bords que sont révélées des zones qui compliquent l’apparence générale du spectrogramme, en raison du domaine temporel limité de l’existence du signal. Rappelons que le spectre de Fourier habituel d'une telle fonction est une seule ligne verticale avec une abscisse égale à la fréquence de la sinusoïde et une ordonnée déterminée par son amplitude. ? bruit:

s(t) = péché(0,3t) + b(t),

b(t)- bruit blanc, uniformément réparti dans l'intervalle [-0,5 ; 0,5]. Exécutez NVP pour ce signal.

Sur la ligne de commande, nous écrivons :

bruit de charge ; vc=cwt(noissin, 1:48,1db4",1 plot1);

Le résultat de la transformée en ondelettes est présenté sur la figure 6.33.



Figure 6.33. Graphique des signaux (UN) et son spectrogramme d'ondelettes (b,c)

Les arguments dans l’expression écrite pour cwt déterminer l'ondelette utilisée (Daubechies du 4ème ordre) et l'échelle d'analyse. La figure 6.33.b montre les résultats VA pour 48 échelles et la figure 6.33.c pour 128 échelles. Essentiellement, l’argument renvoyé contient les coefficients des différentes échelles. Dans le premier cas (Fig. 6.33.b), le résultat du calcul est

une matrice de taille 48*1000, dans laquelle chaque ligne correspond à une échelle fixe, et le graphique donne les coefficients NVP.

Deuxième argument de ligne de commande pour cwt vous permet de contrôler le nombre d'échelles sur lesquelles le CVP est effectué. Lorsque vous modifiez ce paramètre, vous devez prendre en compte :

Toutes les échelles doivent être valides

nombres positifs;

L'incrément d'échelle doit être positif.

Répétons l'analyse en utilisant des échelles de 2 à 128 en tapant

la commande suivante :

c = cwt(noissin,2:2:128,"db4","plot");

Le graphique obtenu (Fig. 6.33.c) donne une image plus claire de ce qui se passe avec le signal, en mettant en évidence la périodicité. ?

DVP est effectué à l'aide de la commande tpl qui effectue une décomposition en ondelettes unidimensionnelle par rapport à une ondelette particulière (" nom^ ou des filtres de décomposition (. Lo_D Et Salut_D).

La syntaxe de la commande est la suivante :

Dwt(X,’wname") - calcule le vecteur des coefficients d'approximation SA et le vecteur des coefficients de détail CD, obtenu par décomposition en ondelettes du vecteur X. L'entrée dans la ligne "wname" spécifie le nom de l'ondelette.

Dwt(X,Lo_D,Hi_D) - calcule l'ondelette

décomposition, comme ci-dessus, mais en utilisant les filtres spécifiés ici comme entrées : Lo_D - filtre de décomposition passe-bas ; Hi_D - filtre de décomposition passe-haut.

Exemple 6.14. Le signal analysé affiche

électricité consommée par l'entreprise sur cinq semaines avec enregistrement minute par minute, ce qui constitue un échantillon égal à 50 400 observations. Une partie de cette série est représentée sur la Fig. 6.34.a. Effectuez un DWT pour cette série en utilisant l'ondelette de Daubechies.

Les expressions suivantes sont écrites sur la ligne de commande : load leleccum ;

s = léleccum(1:3920) ;| l_s = longueur(s) ;

Dwt(s, 1 dbl 1);

sous-intrigue (1,2,1); terrain(Al); titre (1 approximation Al 1) sous-intrigue (1,2 , 2); tracé(Dl); titre(1 Détail D1 1)

Le résultat est présenté sur la figure 6.34.

Figure 6.34.

(b) et des détails (V)

Comme le montre la figure 6.34, les coefficients d'approximation décrivent assez bien la série originale et les coefficients de détail montrent la structure fine de cette série. ?

Mode interface graphique

Passons de la fenêtre de commande au mode GUI (Interface graphique), pour lequel vous devez saisir dans le champ de la fenêtre de commande menu d'ondes.. En conséquence, une fenêtre apparaît avec une liste des principales applications des ondelettes (Fig. 6.35).

Figure 6.35.

Commençons par effectuer un CVP unidimensionnel en appuyant sur le bouton Ondelette continue 1-D. Dans la fenêtre qui apparaît (Fig. 6.36), il est nécessaire d'effectuer un certain nombre d'actions pour charger le signal étudié.

Considérez l'exemple suivant.

Exemple 6.15. Effectuons la NVP pour le signal sinusoïdal bruyant, qui a été utilisé précédemment dans l'exemple 6.13.

Chargeons le signal sélectionné en utilisant les opérations illustrées sur la Fig. 6.36. Pour l'analyse, nous utiliserons l'ondelette de Daubechies du 4ème ordre avec le nombre d'échelles de 1 à 48. En définissant les paramètres d'analyse requis sur le côté droit de la fenêtre, nous obtenons le résultat présenté sur la Fig. 6.37.


Figure 6.36.

Figure 6.37,

La figure 6.37 montre les graphiques suivants (de haut en bas) :

  • signal analysé ;
  • coefficients obtenus;
  • graphique des coefficients correspondant à l'échelle une = 24. Sélection d'une section du signal analysé à l'aide de la souris
  • (Fig. 6.38), vous pouvez effectuer une analyse par ondelettes de cette partie du signal (Fig. 6.39).

Figure 6.38.


Figure 6.39.

Des informations sur la structure du signal peuvent être obtenues non seulement dans les coordonnées : « Position (X) » et « Échelle (Mer) », mais également en termes de « Position (X) » et « Fréquence (Frq) en hertz. En maintenant le bouton droit de la souris sur le graphique des coefficients, on obtient des informations sur la position et l'échelle (en bas de la fenêtre, Fig. 6.40). Après avoir effectué la même opération, mais avec la position « Fréquence » marquée, nous avons des informations sur la position et la fréquence (Fig. 6.41).

Figure 6.40.Analyse par ondelettes en coordonnées : « Position » (X = 507) et « Échelle » (25)

Figure 6.41.Analyse par ondelettes en coordonnées : « Position » (X = 600) et « Fréquence » (0,027)

La question du rapport entre échelle et fréquence se pose souvent. La réponse à cette question ne peut être donnée que dans un sens large, il vaut donc mieux parler de pseudo-fréquence correspondant à l'échelle. Afin d'identifier une telle connexion, il est nécessaire de calculer la fréquence centrale de l'ondelette F c , égal à où UN -échelle; A - période d'échantillonnage ; F c- fréquence centrale de l'ondelette ; F une- pseudo-fréquence correspondant à l'échelle UN, en Hz.

L'essence d'une telle connexion est l'association avec une ondelette donnée d'un signal de fréquence périodique Fc. Dans le système Matlab il y a une fonction centfrq, qui peut être utilisé pour calculer la fréquence centrale et tracer

tracé d'ondelettes approximatif basé sur cette fréquence. A titre d'exemple, la figure 6.42 montre un graphique montrant un signal périodique et une ondelette de Daubechies du 7ème ordre. Comme le montre la figure 6.42, l'approximation basée sur la fréquence centrale couvre les oscillations fondamentales de l'ondelette.


Figure 6.42.Ondelette de Daubechies d'ordre 7 et signal périodique (période : 1,44 ; fréquence : 0,7)

Transformation en ondelettes discrète

Considérons l'utilisation d'une interface graphique pour effectuer un DVP en utilisant l'exemple suivant.

Exemple 6.16. Effectuons une analyse d'ondelettes pour le signal SériejG, qui est disponible dans de nombreux progiciels statistiques et est utilisée comme exemple classique de séries chronologiques saisonnières.

La figure 6.43 montre les résultats du DWP effectué

à travers l’ondelette de Haar. La décomposition au premier niveau est la somme des coefficients d'approximation et de détail, c'est-à-dire 5 = annonce + dlt ce qui définit la mode complet

décomposition. Avec DWT, la structure du signal peut être analysée plus en détail. Ainsi, la figure 6.44 montre les modes VA individuels (mode séparé) : approximation et détails avec

coefficients de dilatation.


Figure 6.43.

Figure 6.44. (UN - signal et son approximation ; b- coefficients, signal et ses

détail)

L'application de l'ondelette de Daubechies du 2ème ordre pour la même série donne les résultats suivants. La figure 6.45 montre la décomposition de la série SériejG pour la somme des coefficients d'approximation et de détail sous la forme


Figure 6.45.

ème commande)

La figure 6.46 montre les modes BA individuels (mode séparé) : approximation et détails ainsi que coefficients de décomposition. ?

Figure 6.46. Fenêtre des modes de transformation en ondelettes individuels (UN - signal et son approximation ; b- coefficients, signal et ses

1.2.2. Boîte à outils d'ondelettes MatLab

MatLab Wavelet Toolbox est un package d'extension MatLab ouvert et convivial qui vous permet de synthétiser toutes sortes d'algorithmes de traitement de l'information - données, signaux et images - à l'aide de fonctions d'ondelettes /6/. Dans son travail, le package utilise largement les capacités du système MatLab (algorithmes de calcul matriciel, graphiques à la fois élégants et puissants) pour résoudre des problèmes d'analyse (réduction du bruit, filtrage, compression et restauration) : cela permet aux novices comme aux utilisateurs professionnels disposant d'un ensemble complet de fonctions pour mettre en œuvre vos propres algorithmes de traitement de données, c'est-à-dire écrire votre propre m-code, ainsi que des outils d'interface graphique (GUI). On peut dire que le package Wavelet Toolbox s'avère être un excellent outil pour résoudre les problèmes de traitement d'informations à une et deux dimensions : en effet, l'éventail des problèmes résolus à l'aide du package est si large que la mention de problèmes tels que le traitement du son , images statiques et images vidéo, sans oublier le transfert de données, la recherche d'ensembles de données géophysiques, sismoacoustiques, de signaux et d'images biomédicales seront bien entendu loin d'être achevées.

MatLab Wavelet Toolbox comprend une vaste bibliothèque de fonctions d'ondelettes (ondelettes continues non orthogonales, y compris complexes ; familles de fonctions orthogonales, fonctions de Daubechies, de Koyfman, ainsi que simlets ; ondelettes biorthogonales) ; une large gamme de filtres à ondelettes /7/.

Principales caractéristiques :

1) toutes sortes de fonctions pour la mise en œuvre de l'analyse continue, de l'analyse discrète à un niveau et à plusieurs niveaux discrète ;

2) fonctions d'analyse et de synthèse de données à l'aide de packages d'ondelettes ;

3) fonctions pour résoudre des problèmes d'approximation de données, de distributions statistiques, etc. ;

4) fonctions permettant d'introduire ses propres fonctions d'ondelette dans le package et de travailler avec elles ;

5) un ensemble d'outils pour visualiser les résultats de l'analyse et de la synthèse ;

6) Outils d'interface graphique.

1.2.3. Conclusion de l'examen documentaire

La liste des produits logiciels peut bien sûr être élargie, mais elle inclut néanmoins les développements les plus typiques et les plus populaires.

Cependant, malgré de nombreux avantages, ils présentent les inconvénients suivants :

1) ne pas mettre en œuvre la méthode d'indexation structurelle des signaux sources ;

2) ont des exigences matérielles élevées ;

3) avoir un coût élevé ;

4) le concept d'ondelette y est strictement déterminé pour la mise en œuvre d'algorithmes déjà développés.

Le système MADS ne présente pas ces défauts. De plus, les restrictions imposées par les systèmes mentionnés ci-dessus sur la structure de l'ondelette sont supprimées dans ce travail : l'ondelette dans son essence n'est pas différente du signal. Cela ouvre un large champ d’expérimentation, notamment l’étude des propriétés fractales du signal.

Par conséquent, ce développement est très demandé dans l’industrie moderne du traitement du signal informatique.


1.3. Exigences de base pour le système 1.3.1. Les principaux objectifs de la création du système et les critères d'efficacité de son fonctionnement

La création d'un système d'analyse multi-échelle de signaux discrets offrira de nouvelles opportunités pour identifier les caractéristiques structurelles des signaux, supprimer le bruit et compresser les données.

Pour évaluer l'efficacité du système MADS, vous pouvez utiliser une estimation de la taille des données avant et après compression.

1.3.2. Objectif fonctionnel du système

L'automatisation du processus d'analyse multi-échelles des signaux discrets implique la mise en œuvre de certains outils et fonctions dans le système. Il convient de souligner un certain nombre de caractéristiques fonctionnelles que le système MADS devrait avoir :

1) mise en œuvre de la transformée en ondelettes des signaux sources ;

2) mise en œuvre d'une indexation structurelle des signaux sources ;

3) convertir les résultats de l'indexation structurelle pour obtenir le signal original ;

4) visualisation des données de transformation en ondelettes et d'indexation structurelle pour afficher visuellement leurs résultats.

1.3.3. Caractéristiques du système et ses conditions de fonctionnement

Le système MADS est conçu pour fonctionner avec des fichiers texte contenant des données sur divers signaux. Ainsi, le volume d'informations traitées par le système peut être assez important et atteindre des dizaines de mégaoctets. Ces fonctionnalités imposent des restrictions sur l’utilisation d’algorithmes improductifs et lents.

1.3.4. Exigences pour la structure fonctionnelle

La construction d'un système d'analyse multi-échelle de signaux discrets suppose une structure modulaire. Le shell doit fournir une interface commune et la possibilité d'accéder à tous les modules du système. Les modules suivants sont appelés depuis le shell MADS : sous-système d'analyse d'ondelettes, sous-système d'indexation structurelle, sous-système de conversion des données d'indexation structurelle en signal d'origine, sous-système de visualisation du signal d'origine et des résultats de transformation d'ondelettes et d'indexation structurelle. L'échange de données entre les sous-systèmes s'effectue via le projet au sein d'un shell commun.

Le sous-système d'analyse en ondelettes est utilisé pour la transformation en ondelettes du signal d'origine.

Le sous-système d'indexation structurelle est conçu pour mettre en œuvre des procédés d'indexation structurelle du signal source.

Le sous-système de conversion de données d'indexation structurelle est utilisé pour convertir le résultat de l'indexation structurelle, ainsi que pour en obtenir à nouveau le signal d'origine.

Le sous-système de visualisation est conçu pour afficher le signal source, les résultats des sous-systèmes d'analyse d'ondelettes, l'indexation structurelle et la conversion des données d'indexation structurelle sous la forme d'une image graphique.

1.3.5. Exigences techniques

La tâche de traitement des signaux discrets dans le système MADS est associée à l'analyse automatique de grandes quantités d'informations. Les transformations effectuées dans le système doivent être effectuées lors d'une interaction interactive avec l'utilisateur, les pauses de traitement ne doivent donc pas dépasser plusieurs minutes. Sur cette base, des exigences relatives aux caractéristiques techniques de l'ordinateur personnel sur lequel le système fonctionnera ont été formulées. Les exigences sont résumées dans le tableau. 1.1.

Tableau 1.1

Caractéristiques techniques d'un ordinateur personnel

Nom Signification
Fréquence du processeur, MHz à partir de 900
Volume de RAM, Mo à partir de 128
Résolution de l'écran du moniteur au moins 1024x768
1.3.6. Conditions requises pour le support d'information

Le principal type d'informations reçues dans le système MADS est l'information graphique sous forme de représentation raster. Ce type de données est perçu directement et de manière globale par les humains, il est donc nécessaire de prévoir des moyens de visualisation visuelle des images à différentes étapes du traitement.

1.3.7. Exigences logicielles

Il est conseillé de développer le système MADS pour qu'il fonctionne sous le système d'exploitation Windows, car les systèmes d'exploitation de cette classe sont les plus utilisés dans le monde moderne. La plateforme de développement choisie est l'environnement de développement d'applications Microsoft Visual Studio .NET. Cet environnement prend en charge le langage C# et a la capacité de développer et de concevoir rapidement des interfaces visuelles, ce qui est particulièrement important lorsque l'on travaille avec des informations graphiques.

1.4. Principales solutions techniques de la conception du système 1.4.1. Solution pour un ensemble de moyens techniques

Comme déjà noté dans les paragraphes. 1.3.5, pour obtenir un mode de fonctionnement convivial du système, la configuration minimale suivante d'un ordinateur personnel est requise : fréquence du processeur 900 MHz, capacité RAM 128 Mo, moniteur prenant en charge une résolution de 1024x768 pixels. Il est également souhaitable de disposer des équipements techniques périphériques suivants : une imprimante à jet d'encre couleur pour imprimer les résultats du traitement d'image.

1.4.2. Description du système logiciel

Pour la mise en œuvre et le fonctionnement du projet, un logiciel à l'échelle du système est requis : Windows XP, qui repose sur un noyau caractérisé par une architecture informatique de 32 bits et un modèle de mémoire entièrement protégé, qui fournit un environnement informatique fiable.

Le développement du système MADS et de ses sous-systèmes sera réalisé à l'aide de l'environnement de développement d'applications Microsoft Visual Studio .NET. L'environnement de développement comprend un compilateur 32 bits hautes performances, qui permet d'optimiser le code généré. Microsoft Visual Studio .NET comprend un ensemble complet d'outils qui améliorent la productivité des programmeurs et réduisent les temps de cycle de développement. Microsoft Visual Studio .NET est un environnement de développement intégré riche en fonctionnalités qui comprend un compilateur ANSI/ISO, un concepteur de formulaires intégré, des outils de composants riches, un gestionnaire de projet et un débogueur. La facilité de développement et l'efficacité des programmes créés dans cet environnement de développement font de Microsoft Visual Studio .NET le choix optimal pour créer un système de recherche, tel que le système MADS.


2. DEVELOPPEMENT D'UN SOUS-SYSTEME D'ANALYSE D'ONDELETTES 2.1. Description de la formulation du problème d'analyse en ondelettes 2.1.1. Caractéristiques de la tâche

Pour qu’une fonction soit appelée ondelette, deux conditions doivent être remplies /8/ :

1) sa valeur moyenne (c'est-à-dire l'intégrale sur toute la droite) est égale à zéro : ;

2) la fonction diminue rapidement lorsque .

Prenons maintenant un signal arbitraire - une certaine fonction (nous appellerons le temps variable) et effectuons-en une analyse par ondelettes à l'aide d'une ondelette.

Le résultat de l'analyse par ondelettes de ce signal sera une fonction qui dépend de deux variables : le temps et l'échelle. Pour chaque paire et la recette de calcul de la valeur est la suivante :

1) étirer l'ondelette plusieurs fois horizontalement et plusieurs fois verticalement ;

2) déplacez-le jusqu'au point, l'ondelette résultante sera notée ;

3) « faire la moyenne » des valeurs des signaux à proximité du point a en utilisant :

, (2.1)

– ondelette avec décalage et échelle /3/.


Mais tout cela n’est qu’en théorie. En pratique, nous avons affaire à un signal d'entrée discret et à une ondelette discrète (ou échantillonnée). En conséquence, le résultat de l'analyse par ondelettes discrètes devrait être une matrice dont chaque point peut être associé à une valeur spécifique du signal d'entrée et à une échelle d'ondelettes spécifique.

Ainsi, la tâche d'analyse des ondelettes peut être divisée en plusieurs sous-tâches :

1) le rééchantillonnage du signal, qui comprend la recherche et le développement d'un algorithme qui effectue la mise à l'échelle (compression et décompression) d'une ondelette spécifiée sous forme discrète (c'est-à-dire sous une forme similaire au signal d'entrée) ;

2) multiplication du signal et de l'ondelette, c'est-à-dire calcul d'une ligne de la matrice de résultats d'analyse d'ondelettes correspondant à une échelle d'ondelettes ;

3) l'analyse des ondelettes elle-même, qui effectue une mise à l'échelle séquentielle de l'ondelette et sa multiplication avec le signal et obtient l'intégralité de la matrice résultante.

Le résultat de l'analyse des ondelettes est facilement visualisé dans n'importe quelle échelle de couleurs et peut être utilisé pour identifier les composants de signal non stationnaires, ce qui est extrêmement utile lors de la sélection de méthodes de filtrage de signal utilisant l'indexation structurelle.

Grâce à la construction du sous-système d'analyse d'ondelettes, le système d'analyse multi-échelle des signaux discrets (MADS) complétera sa fonctionnalité par la capacité d'isoler ses composants les plus clairs du signal d'origine, qui doivent être pris en compte lors de sa suppression ultérieure du bruit. .


2.1.2. Informations de saisie

Les informations d'entrée sont des fichiers texte avec l'extension « .dat » (de l'anglais data - data) contenant les données du signal source.

Structure du fichier d'entrée ".dat" :

où est la quantité de données ;

, – valeur du signal, entier.

2.1.3. Informations de sortie

Les informations de sortie pour cette tâche sont des fichiers texte avec l'extension « .war » (du résultat anglais de l'analyse par ondelettes - le résultat de l'analyse par ondelettes), contenant les résultats de l'analyse par ondelettes.

Structure du fichier de sortie « .war » :

où est la largeur du raster ;

– hauteur de trame ;

, , est le résultat de l’analyse des ondelettes, un nombre réel.

2.1.4. Formulation mathématique du problème 2.1.4.1. Description mathématique du problème de rééchantillonnage du signal

Les signaux source et résultat sont des tableaux de nombres unidimensionnels.

Le but du rééchantillonnage du signal original par taille est d'obtenir une taille de signal selon la loi suivante :

– indice de l'élément du signal original participant au calcul du ème élément du signal résultant ;

, – signal original;

, – signal rééchantillonné;

– module (longueur) du vecteur ;

Accord sur l'utilisation des matériaux du site

Nous vous demandons d'utiliser les œuvres publiées sur le site exclusivement à des fins personnelles. La publication de documents sur d'autres sites est interdite.
Cet ouvrage (et tous les autres) est disponible en téléchargement entièrement gratuit. Vous pouvez remercier mentalement son auteur et l'équipe du site.

Soumettre votre bon travail à la base de connaissances est facile. Utilisez le formulaire ci-dessous

Les étudiants, étudiants diplômés, jeunes scientifiques qui utilisent la base de connaissances dans leurs études et leur travail vous seront très reconnaissants.

Documents similaires

    Plan fréquence-temps pour l'analyse et la comparaison des propriétés de localisation fréquence-temps de diverses bases. Le concept de fonctions de base. Transformée de Fourier directe et inverse. L'essence de la transformée en ondelettes discrète et des exemples de la fonction ondelette.

    travail de cours, ajouté le 21/11/2010

    L'idée et les capacités de la transformée en ondelettes. Propriétés des ondelettes : formation continue vers l’avant et vers l’arrière. Concept et évaluation des bénéfices, champ d'application de la transformée en ondelettes discrète. Recherchez des images par échantillon. Édition multi-échelle.

    travail de cours, ajouté le 27/04/2011

    Transformées de Fourier, représentation d'une fonction périodique comme somme de composantes harmoniques individuelles. Utilisation de transformations pour les fonctions à temps continu et discret. Programme et exemples de mise en œuvre d'algorithmes avec éclaircissement.

    résumé, ajouté le 25/05/2010

    Méthodes pour trouver diverses solutions aux problèmes de construction géométrique. Sélection et application de méthodes de transformation géométrique : translation parallèle, symétrie, rotation (rotation), similarité, inversion, en fonction de la forme et des propriétés de la figure de base.

    travail de cours, ajouté le 13/08/2011

    Les équations de Fredholm et leurs propriétés comme exemple classique d'équations intégrales avec des limites d'intégration constantes, leurs formes et degrés, l'ordre de formation et de solution. Quelques applications des équations intégrales. Schéma général de la méthode en quadrature.

    travail de cours, ajouté le 25/11/2011

    Définition, propriétés et exemples d'équations fonctionnelles. Méthodes de base pour les résoudre, preuve de quelques théorèmes. Le concept de groupe de fonctions, leur application dans la résolution d'équations fonctionnelles à plusieurs variables. Classe d'équations de type Cauchy.

    travail de cours, ajouté le 10/01/2011

    Méthodes parallèles pour résoudre des systèmes d'équations linéaires avec des matrices de bandes. La méthode du « contre-courant ». Implémentation de la méthode de réduction cyclique. Application de la méthode gaussienne aux systèmes à matrice pentadiagonale. Résultats d'une expérience numérique.

    travail de cours, ajouté le 21/10/2013

    Propriétés analytiques des transformations intégrales. Intégrale de Cauchy sur diverses courbes. Dépendance analytique au paramètre. Existence de dérivées de tous ordres pour une fonction analytique. Dérivation de la formule de Cauchy et formulation des conséquences de cette formule.

    travail de cours, ajouté le 10/04/2011



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :