Conversion d'une fonction discrète en une fonction continue. Description de la boîte à outils de traitement d'image

transformées de Fourier

Il est pratique d’analyser de nombreux signaux en les décomposant en sinusoïdes (harmoniques). Il y a plusieurs raisons à cela. Par exemple, l’oreille humaine fonctionne de la même manière. Il décompose le son en vibrations individuelles de différentes fréquences. De plus, on peut montrer que les sinusoïdes sont " propres fonctions» les systèmes linéaires (puisqu'ils traversent systèmes linéaires, sans changer la forme, mais peut seulement changer la phase et l'amplitude). Une autre raison est que le théorème de Kotelnikov est formulé en termes de spectre de signal.

Transformée de Fourier ) est la décomposition des fonctions en sinusoïdes (ci-après nous appellerons également les fonctions cosinus sinusoïdes, car elles ne diffèrent des sinusoïdes « réelles » que par la phase). Il existe plusieurs types de transformée de Fourier.

1. Non périodique signal continu peut être développé en une intégrale de Fourier.

2. Un signal continu périodique peut être étendu en une série de Fourier infinie.

3. Un signal discret non périodique peut être développé en une intégrale de Fourier.

4. Un signal discret périodique peut être développé en une série de Fourier finie.

Un ordinateur ne peut fonctionner qu’avec une quantité limitée de données. Il ne peut donc calculer que le dernier type de transformée de Fourier. Regardons-le de plus près.

Signal réel DFT

Soit un signal discret x avoir une période de N points. Dans ce cas, il peut être représenté comme une série finie (c'est-à-dire une combinaison linéaire) de sinusoïdes discrètes :

2πk (n + ϕk)

x = ∑ C k cos

(série de Fourier)

k = 0

Notation équivalente (on décompose chaque cosinus en sinus et cosinus, mais maintenant sans phase) :

2 πkn

2 πkn

x = ∑A k cos

+ ∑ B k péché

(série de Fourier)

k = 0

k = 0

Riz. 6. Fonctions de base de la série de Fourier pour le 8 points signal discret. À gauche se trouvent les cosinus, à droite les sinus. Les fréquences augmentent de haut en bas.

Les sinusoïdes basiques ont plusieurs fréquences. Le premier terme de la série (k =0) est une constante appelée composante constante(décalage CC). La toute première sinusoïde (k = 1) a une fréquence telle que sa période coïncide avec la période du signal d'origine lui-même. La composante de fréquence la plus élevée (k = N /2) a une fréquence telle que sa période est égale à deux comptes. CoefficientsA k et

B k est appelé spectre du signal (spectre). Ils montrent les amplitudes des si-

nusoïdes qui composent le signal. Le pas de fréquence entre deux sinusoïdes adjacentes du développement de Fourier est appelé résolution de fréquence spectre

Sur la fig. La figure 6 montre les sinusoïdes utilisées pour décomposer un signal discret à partir de 8 points. Chacune des sinusoïdes est constituée de 8 points, c'est-à-dire qu'il s'agit d'un signal discret régulier. Des sinusoïdes continues sont représentées sur la figure pour plus de clarté.

convertir le signal original en calculant la somme des séries de Fourier en chaque point. Décomposer un signal en sinusoïdes (c'est-à-dire obtenir des coefficients) s'appelle transformée de Fourier directe. Le processus inverse - synthèse du signal à l'aide de sinusoïdes - est appelé transformée de Fourier inverse(transformée de Fourier inverse).

L'algorithme de transformée de Fourier inverse est évident (il est contenu dans la formule de la série de Fourier ; pour réaliser la synthèse, il suffit d'y substituer les coefficients). Considérons l'algorithme conversion directe Fourier, c'est-à-dire trouver les coefficients A k et B k .

2 πkn

2 πkn

de l'argument n est l'or-

Système de fonction

K = 0,...,

base togonale dans l'espace des signaux discrets périodiques de période N. Cela signifie que pour y étendre n'importe quel élément d'espace (signal), vous devez calculer produits scalaires cet élément avec toutes les fonctions du système, et les coefficients résultants sont normalisés. Ensuite, la formule d'expansion de base avec les coefficients A k et B k sera valable pour le signal d'origine.

Ainsi, les coefficients A k et B k sont calculés sous forme de produits scalaires (en non-

dans le cas discontinu – intégrales du produit de fonctions, dans le cas discret

– sommes du produit de signaux discrets) :

N−1

2 π ki , pour k = 1,...,

Unk=

∑xcos

−1

N je = 0

N−1

Unk=

∑ x cos2 π ki , pour k = 0,

N je = 0

N−1

2πki

NB 0 et B N 2 sont toujours égaux à zéro (puisque le « de base » correspondant

les signaux sont identiques à zéro en des points discrets), et ils peuvent être ignorés lors du calcul des transformées de Fourier inverse et directe.

Ainsi, nous avons constaté que la représentation spectrale du signal est tout à fait équivalente au signal lui-même. Vous pouvez vous déplacer entre eux à l’aide des transformations de Fourier avant et inverse. L'algorithme de calcul de ces transformations est contenu dans les formules données.

Le calcul des transformées de Fourier nécessite très grand nombre multiplications (environ N 2) et calculs de sinus. Il existe un moyen d'effectuer ces conversions beaucoup plus rapidement : en environ N log2 N multiplications.

Cette méthode est appelée transformée de Fourier rapide (FFT, transformée de Fourier rapide ). Il est basé sur le fait que parmi les facteurs (sinus), il existe de nombreuses valeurs répétitives (en raison de la périodicité du sinus). L'algorithme FFT regroupe les termes avec les mêmes facteurs, réduisant considérablement le nombre de multiplications. En conséquence, les performances de la FFT peuvent être des centaines de fois plus rapides que celles de l'algorithme standard (en fonction de N ). Il convient de souligner que l'algorithme FFT est précis. Il est encore plus précis que le standard, car en réduisant le nombre d'opérations, il en résulte moins d'erreurs d'arrondi.

Cependant, la plupart des algorithmes FFT ont une particularité : ils ne peuvent fonctionner que lorsque la longueur du signal analysé N est une puissance de deux. Habituellement, cela ne représente pas gros problème, puisque le signal analysé peut toujours être complété par des zéros jusqu'à la taille requise. Nombre

N est appelé la taille ou la longueur de la FFT.

DFT complexe

Jusqu'à présent, nous avons considéré les DFT à partir de signaux réels. Généralisons maintenant la DFT au cas de signaux complexes. Soit x, n =0,…,N -1 – le signal complexe original constitué de N nombres complexes. Notons X, k =0,…N -1 – son spectre complexe, également constitué de N nombres complexes. Alors juste formules suivantes conversion directe et inverse

vaniy Fourier (ici j = − 1) :

N−1

X [ k] = ∑ x[ n] e− jnk (2 π N )

n= 0

N−1

∑ X [ k ] e jnk(2 π N)

Nk = 0

Si nous décomposons un signal réel en un spectre à l'aide de ces formules, alors les premiers coefficients complexes N/2+1 du spectre coïncideront avec le spectre de la DFT réelle « habituelle », présentée sous forme « complexe », et les coefficients restants sera leur reflet symétrique par rapport à

Notons par

un champ bidimensionnel (signal bidimensionnel) décrivant une image discrète de la taille des lignes et des colonnes. En dehors des limites spécifiées, ce signal n'est pas défini. Effectuons une continuation périodique de ce signal fini en introduisant un signal périodique bidimensionnel

. (3.21)

Si le signal n'existe qu'à l'intérieur d'un rectangle avec les côtés des éléments (Fig. 3.4.a), alors le signal est défini sur tout le plan et y est périodique rectangulaire (Fig. 3.4.b).

Riz. 3.4. Images réelles (a) et périodiquement continuées (b)

Tout signal périodique peut être représenté comme une série de Fourier, mais contrairement aux signaux unidimensionnels, les signaux bidimensionnels sont décrits par une série de Fourier bidimensionnelle, qui a la forme :

Les fonctions de base de cette représentation bidimensionnelle sont des exponentielles complexes bidimensionnelles (parfois appelées sinusoïdes complexes)

(3.23)

ayant, comme le signal, une périodicité rectangulaire de même période. Ici (,) est le nombre bidimensionnel de la fonction de base, et les quantités ont la signification de fréquences spatiales. Parfois, des quantités entières sont appelées fréquences spatiales.

Les coefficients de Fourier de la série (3.22) forment un spectre de fréquence signal et sont déterminés par la formule de la transformée de Fourier directe :

(3.24)

L'expression (3.22), qui restitue le signal à partir de son spectre, est la transformée de Fourier inverse. La validité des transformations (3.22) et (3.24), appelées TFD bidimensionnelle, peut être vérifiée en substituant (3.24) dans (3.22) et en ramenant côté droit l'égalité résultante à la valeur de gauche, c'est-à-dire À .

Notez que pour une représentation précise d'un signal discret avec une période d'éléments bidimensionnelle selon les formules FFT, un nombre fini de fonctions de base (3.23) est suffisant - la série (3.22) est finie. Ceci est compréhensible, puisque le signal représenté lui-même contient dans une période numéro final points, c'est-à-dire possède un nombre fini de degrés de liberté. Il est clair que le nombre de degrés de liberté dans le spectre ne peut pas différer du nombre de degrés de liberté dans le signal lui-même.

Arrêtons-nous sur les propriétés les plus essentielles du spectre de Fourier discret bidimensionnel. Calculons les coefficients spectraux (3.24) aux points de fréquence :

Puisque pour toute valeur entière et le dernier facteur de l'expression résultante égal à un, alors on a l'égalité :

,

désignant la périodicité rectangulaire de la DFT bidimensionnelle. Par conséquent, l’image d’une DFT bidimensionnelle est similaire à l’image d’un signal bidimensionnel périodiquement continu, représentée qualitativement sur la Fig. 3.4.b (si les coordonnées spatiales qui y figurent sont remplacées par des coordonnées fréquentielles). Cependant, il faut garder à l'esprit que les coefficients spectraux, comme il ressort de (3.24), sont des nombres complexes, y compris pour un signal réel. Mais alors la question se pose. Le nombre total de composantes spectrales s’avère être . Un nombre complexe équivaut à une paire de nombres réels : les parties réelle et imaginaire en notation algébrique ou le module et la phase en notation exponentielle. Par conséquent, le spectre complet est décrit nombres réels, ce qui correspond à deux fois la dimension du signal lui-même. À première vue, cela contient une contradiction. Il trouve sa clarification avec une étude plus approfondie des propriétés de la DFT bidimensionnelle.

Transformons la relation (3.25) comme suit. Tout d’abord, substituons les fréquences aux fréquences. Deuxièmement, nous effectuerons une conjugaison complexe des deux parties, qui ne violera pas l'égalité. De ce fait, il est facile d’obtenir l’expression :

,

qui établit une connexion sans ambiguïté entre les coefficients spectraux en deux points différents du rectangle spectral. La relation qui en résulte supprime la contradiction, puisque le nombre de coefficients spectraux indépendants est réduit de moitié du fait de cette symétrie spectrale. Selon la propriété établie, les coefficients spectraux appartenant aux coins supérieur gauche et inférieur droit du rectangle sont reliés par une dépendance spectrale conjuguée. De même, les coefficients de Fourier des sections supérieure droite et inférieure gauche du rectangle spectral sont également liés les uns aux autres.

A la fin de ce paragraphe, nous soulignons que lorsque application pratique DFT bidimensionnelle - à la fois directe et inverse, il n'est pas nécessaire d'opérer avec des signaux et des spectres périodiques, comme semblent le supposer les transformations (3.22) et (3.24). Les relations (3.22) et (3.24) elles-mêmes éliminent ce besoin. En fait, la transformée de Fourier directe (3.24) ne contient sur le côté droit les valeurs du signal périodiquement continué que dans un rectangle « principal ». Mais dans ces limites, les signaux originaux et périodiquement continués coïncident complètement, ce qui permet d'utiliser le signal original dans la formule (3.24). Des explications similaires peuvent être faites concernant la transformation inverse (3.22), d'où il résulte que pratiquement dans le processus de calcul, il faut opérer avec la partie « principale » du spectre liée à région spectrale.

Des explications données, qui n'ont qu'une signification purement informatique, il ne faut pas tirer de conclusion sur le caractère artificiel et l'inutilité de l'objet considéré. modèles mathématiques champs périodiques. Lors du traitement des images, de nombreux problèmes se posent, dont l'interprétation et la solution correctes ne sont possibles que sur la base de ces interprétations mathématiques. L'un d'eux tâches les plus importantes est un filtrage numérique bidimensionnel dans le domaine spectral dont la mise en œuvre est associée à la mise en œuvre de la convolution dite cyclique.

La technologie de communication moderne ne peut être imaginée sans analyse spectrale. Représentation des signaux dans domaine fréquentiel nécessaires à la fois pour l'analyse de leurs caractéristiques et pour l'analyse des blocs et unités d'émetteurs-récepteurs des systèmes de communication radio. Pour convertir les signaux dans le domaine fréquentiel, une transformée de Fourier directe est utilisée. La formule généralisée de la transformée de Fourier directe s'écrit comme suit :

Comme le montre cette formule d'analyse de fréquence, le calcul est effectué dépendance de corrélation entre un signal représenté dans le domaine temporel et une exponentielle complexe à une fréquence donnée. Dans ce cas, selon la formule d’Euler, l’exponentielle complexe est décomposée en une partie réelle et une partie imaginaire :

(2)

Un signal représenté dans le domaine fréquentiel peut être reconverti dans un domaine temporel à l'aide d'une transformée de Fourier inverse. La formule généralisée de la transformée de Fourier inverse s'écrit comme suit :

(3)

La formule de transformée de Fourier directe utilise l'intégration temporelle de moins l'infini à l'infini. Naturellement, il s’agit d’une abstraction mathématique. DANS conditions réelles nous pouvons intégrer à partir de en ce moment temps, que nous pouvons noter 0, avant le temps T. La formule de la transformée de Fourier directe sera transformée sous la forme suivante :

(4)

Par conséquent les propriétés de la transformée de Fourier changent considérablement. Spectre de signal à la place fonction continue devient une série discrète de valeurs. Maintenant, la fréquence minimale et en même temps le pas des valeurs de fréquence du spectre du signal devient :

, (5)

Seulement fonctions péché et cos avec les fréquences k/T seront mutuellement orthogonaux, et c'est une condition indispensable pour la transformée de Fourier. L'ensemble des premières fonctions du développement en série de Fourier est représenté sur la figure 1. Dans ce cas, la durée des fonctions coïncide avec la durée de l'analyse. T.


Figure 1. Fonctions d'expansion de la série de Fourier

Le spectre du signal ressemblera désormais à celui illustré à la figure 2.



Figure 2. Spectre de fonction x(t) lorsqu'il est analysé sur un intervalle de temps limité

DANS dans ce cas la formule de calcul de la transformée de Fourier directe (4) se transforme sous la forme suivante :

(6)

La formule de la transformée de Fourier inverse dans le cas de la détermination du spectre sur une période de temps limitée ressemblera à ceci :

(7)

De la même manière, vous pouvez déterminer la formule de la transformée de Fourier directe pour les échantillons de signaux numériques. Considérant qu'au lieu d'un signal continu, ses échantillons numériques sont utilisés, dans l'expression (6) l'intégrale est remplacée par une somme. Dans ce cas, la durée du signal analysé est déterminée par le nombre d'échantillons numériques N. La transformée de Fourier pour les échantillons de signaux numériques est appelée transformée de Fourier discrète. et s'écrit ainsi :

(8)

Voyons maintenant comment les propriétés de la transformée de Fourier discrète (TFD) ont changé par rapport à la transformée de Fourier directe sur un intervalle de temps limité. Lorsque nous avons examiné l'échantillonnage du signal analogique, nous avons appris que le spectre du signal d'entrée doit être limité en fréquence. Cette exigence limite le nombre de composantes discrètes du spectre du signal. Au départ, il peut sembler que l'on puisse limiter le spectre du signal à la fréquence f d/2, qui correspond au nombre de composantes fréquentielles K=N/2. Cependant, ce n’est pas vrai. Bien que le spectre du signal pour les échantillons de signal réels pour les fréquences positives et les fréquences négatives soit symétrique par rapport à 0, des fréquences négatives peuvent être nécessaires pour certains algorithmes de spectre, tels que . La différence est encore plus grande lors de l'exécution d'une transformée de Fourier discrète sur des échantillons complexes du signal d'entrée. En conséquence pour description complète spectre de signal numérique requis Néchantillons de fréquence ( k = 0, ...,N/2).

Je crois que tout est aperçu général connaître l'existence d'un outil mathématique aussi merveilleux que la transformée de Fourier. Cependant, pour une raison quelconque, elle est si mal enseignée dans les universités que relativement peu de gens comprennent comment cette transformation fonctionne et comment elle doit être utilisée correctement. Pendant ce temps, les mathématiques de cette transformation sont étonnamment belles, simples et élégantes. J'invite tout le monde à en apprendre un peu plus sur la transformée de Fourier et sur le sujet connexe, à savoir comment signaux analogiques peuvent être efficacement convertis en fichiers numériques pour le traitement informatique.

Ne sert à rien formules complexes et Matlab, je vais essayer de répondre aux questions suivantes :

  • FT, DTF, DTFT - quelles sont les différences et comment des formules apparemment complètement différentes donnent-elles des résultats conceptuellement similaires ?
  • Comment interpréter correctement les résultats conversion rapide Fourier (FFT)
  • Que faire si vous recevez un signal de 179 échantillons et que la FFT nécessite une séquence d'entrée de longueur également deux
  • Pourquoi, lorsqu'on essaie d'obtenir le spectre d'une sinusoïde à l'aide de Fourier, au lieu du « bâton » unique attendu, un étrange gribouillis apparaît sur le graphique et que peut-on y faire ?
  • Pourquoi les filtres analogiques sont-ils placés avant l'ADC et après le DAC ?
  • Est-il possible de numériser un signal ADC avec une fréquence supérieure à la moitié de la fréquence d'échantillonnage (la réponse de l'école est incorrecte, la bonne réponse est possible)
  • Comment restaurer le signal original à l'aide d'une séquence numérique

Je partirai de l'hypothèse que le lecteur comprend ce qu'est une intégrale, un nombre complexe (ainsi que son module et son argument), une convolution de fonctions, plus au moins une idée « pratique » de ce qu'est la fonction delta de Dirac. est. Si vous ne le savez pas, pas de problème, lisez les liens ci-dessus. Sous « produit de fonctions » dans ce texte Je comprendrai la « multiplication ponctuelle » partout

Nous devrions probablement commencer par le fait que conversion normale Fourier est une sorte de chose qui, comme son nom l'indique, transforme certaines fonctions en d'autres, c'est-à-dire qu'elle associe chaque fonction d'une variable réelle x(t) à son spectre ou image de Fourier y(w) :

Si nous donnons des analogies, alors un exemple de transformation de sens similaire peut être, par exemple, la différenciation, transformant une fonction en sa dérivée. Autrement dit, la transformée de Fourier est essentiellement la même opération que la dérivée, et elle est souvent notée de la même manière, en dessinant un « capuchon » triangulaire sur la fonction. Contrairement à la différenciation, qui peut également être définie pour les nombres réels, la transformée de Fourier « fonctionne » toujours avec des nombres complexes plus généraux. Pour cette raison, l'affichage des résultats de cette conversion pose toujours des problèmes, car nombres complexes sont déterminés non pas par une, mais par deux coordonnées sur le plan de fonctionnement nombres réels graphique. En règle générale, il est plus pratique de représenter les nombres complexes sous la forme d'un module et d'un argument et de les dessiner séparément sous forme de deux graphiques distincts :

Le graphique de l'argument de la valeur complexe est souvent appelé dans ce cas le « spectre de phase », et le graphique du module est souvent appelé « spectre d'amplitude ». Le spectre d’amplitude est généralement beaucoup plus intéressant et c’est pourquoi la partie « phase » du spectre est souvent ignorée. Dans cet article, nous nous concentrerons également sur les éléments « d’amplitude », mais il ne faut pas oublier l’existence de la partie phase manquante du graphique. De plus, au lieu du module de valeurs complexes habituel, il est souvent dessiné logarithme décimal multiplié par 10. Le résultat est un graphique logarithmique avec des valeurs affichées en décibels (dB).

Attention, pas grand-chose nombres négatifs le graphique logarithmique (-20 dB ou moins) correspond pratiquement zéro nombre sur le graphique « normal ». Par conséquent, les « queues » longues et larges de divers spectres sur de tels graphiques, lorsqu'elles sont affichées dans des coordonnées « ordinaires », disparaissent généralement pratiquement. La commodité d'une représentation aussi étrange à première vue vient du fait que les images de Fourier diverses fonctions il faut souvent se multiplier entre eux. Avec une telle multiplication ponctuelle d'images de Fourier à valeurs complexes, leurs spectres de phase sont ajoutés et leurs spectres d'amplitude sont multipliés. Le premier est facile à réaliser, tandis que le second est relativement difficile. Cependant, les logarithmes de l'amplitude s'additionnent en multipliant les amplitudes, donc graphiques logarithmiques les amplitudes, comme les graphiques de phase, peuvent être simplement ajoutées point par point. De plus, dans problèmes pratiques Il est souvent plus pratique d'opérer non pas avec « l'amplitude » du signal, mais avec sa « puissance » (le carré de l'amplitude). Sur échelle logarithmique les deux graphiques (amplitude et puissance) semblent identiques et ne diffèrent que par le coefficient - toutes les valeurs sur le graphique de puissance sont exactement deux fois plus grandes que sur l'échelle d'amplitude. En conséquence, pour tracer la répartition de la puissance par fréquence (en décibels), vous ne pouvez rien mettre au carré, mais calculer le logarithme décimal et le multiplier par 20.

Vous vous ennuyez ? Attendez encore un peu, nous en aurons bientôt fini avec la partie ennuyeuse de l'article expliquant comment interpréter les graphiques :). Mais avant cela, vous devez comprendre une chose extrêmement chose importante: Bien que tous les tracés spectraux ci-dessus aient été tracés pour certaines plages de valeurs limitées (nombres positifs en particulier), tous ces tracés continuent en réalité vers plus et moins l'infini. Les graphiques représentent simplement une partie « la plus significative » du graphique, qui est généralement reflétée pour valeurs négatives paramètre et est souvent répété périodiquement avec un certain pas lorsqu’il est considéré à plus grande échelle.

Après avoir décidé ce qui est dessiné sur les graphiques, revenons à la transformée de Fourier elle-même et à ses propriétés. Il y en a plusieurs différentes manières comment déterminer cette transformation, différant dans de petits détails (différentes normalisations). Par exemple, dans nos universités, pour une raison quelconque, ils utilisent souvent la normalisation de la transformée de Fourier, qui définit le spectre en termes de fréquence angulaire (radians par seconde). J'utiliserai une formulation occidentale plus pratique qui définit le spectre en termes de fréquence ordinaire (hertz). Direct et conversion inverse Fourier dans ce cas est déterminé par les formules de gauche, et certaines propriétés de cette transformation dont nous aurons besoin sont déterminées par une liste de sept points à droite :

La première de ces propriétés est la linéarité. Si nous prenons une combinaison linéaire de fonctions, alors la transformée de Fourier de cette combinaison sera la même combinaison linéaire des images de Fourier de ces fonctions. Cette propriété permet de réduire fonctions complexes et leurs transformations de Fourier en plus simples. Par exemple, la transformée de Fourier d'une fonction sinusoïdale de fréquence f et d'amplitude a est une combinaison de deux fonctions delta situées aux points f et -f et de coefficient a/2 :

Si nous prenons une fonction constituée de la somme d'un ensemble de sinusoïdes de fréquences différentes, alors, selon la propriété de linéarité, la transformée de Fourier de cette fonction sera constituée d'un ensemble correspondant de fonctions delta. Cela permet de donner une interprétation naïve mais visuelle du spectre selon le principe « si dans le spectre d'une fonction la fréquence f correspond à l'amplitude a, alors la fonction originale peut être représentée comme une somme de sinusoïdes dont l'une sera une sinusoïde de fréquence f et d’amplitude 2a. À proprement parler, cette interprétation est incorrecte, puisque la fonction delta et le point sur le graphique sont des choses complètement différentes, mais comme nous le verrons plus tard, pour les transformées de Fourier discrètes, ce ne sera pas si loin de la vérité.

La deuxième propriété de la transformée de Fourier est l'indépendance du spectre d'amplitude par rapport au décalage temporel du signal. Si nous déplaçons une fonction vers la gauche ou la droite le long de l’axe des x, alors seul son spectre de phase changera.

La troisième propriété est que l'étirement (compression) de la fonction d'origine le long de l'axe du temps (x) compresse (étire) proportionnellement son image de Fourier le long de l'échelle de fréquence (w). En particulier, le spectre d'un signal de durée finie est toujours infiniment large et, à l'inverse, le spectre de largeur finie correspond toujours à un signal de durée illimitée.

Les quatrième et cinquième propriétés sont peut-être les plus utiles de toutes. Ils permettent de réduire la convolution des fonctions à une multiplication ponctuelle de leurs images de Fourier, et vice versa - la multiplication ponctuelle des fonctions à la convolution de leurs images de Fourier. Un peu plus loin, je montrerai à quel point c'est pratique.

La sixième propriété parle de la symétrie des images de Fourier. En particulier, de cette propriété, il s'ensuit que dans la transformée de Fourier d'une fonction à valeur réelle (c'est-à-dire tout signal « réel ») spectre d'amplitude est toujours même fonction, et le spectre de phase (s'il est amené à la plage -pi...pi) est impair. C’est pour cette raison que les spectres ne sont presque jamais représentés sur des graphiques. partie négative spectre - pour les signaux à valeur réelle, il ne fournit aucun nouvelles informations(mais, je le répète, ce n'est pas nul non plus).

Enfin, la dernière, septième propriété, dit que la transformée de Fourier préserve « l'énergie » du signal. Cela n'a de sens que pour les signaux de durée finie, dont l'énergie est finie, et suggère que le spectre de ces signaux à l'infini se rapproche rapidement de zéro. C'est précisément à cause de cette propriété que les graphiques de spectre ne représentent généralement que la partie « principale » du signal, qui transporte la part du lion de l'énergie - le reste du graphique tend simplement vers zéro (mais, encore une fois, n'est pas nul).

Forts de ces 7 propriétés, intéressons-nous aux mathématiques de la « numérisation » du signal, qui nous permettent de convertir un signal continu en une séquence de nombres. Pour ce faire, nous devons prendre une fonction connue sous le nom de « peigne de Dirac » :

Un peigne de Dirac est simplement une séquence périodique de fonctions delta avec un coefficient unité, commençant à zéro et procédant à l'étape T. Pour numériser les signaux, T est choisi un nombre aussi petit que possible, T<<1. Фурье-образ этой функции - тоже гребенка Дирака, только с гораздо большим шагом 1/T и несколько меньшим коэффициентом (1/T). С математической точки зрения, дискретизация сигнала по времени - это просто поточечное умножение исходного сигнала на гребенку Дирака. Значение 1/T при этом называют частотой дискретизации:

Au lieu d'une fonction continue, après une telle multiplication, on obtient une séquence d'impulsions delta d'une certaine hauteur. De plus, selon la propriété 5 de la transformée de Fourier, le spectre du signal discret résultant est une convolution du spectre original avec le peigne de Dirac correspondant. Il est facile de comprendre que, sur la base des propriétés de convolution, le spectre du signal original est pour ainsi dire « copié » un nombre infini de fois le long de l'axe des fréquences avec un pas de 1/T, puis additionné.

Notez que si le spectre original avait une largeur finie et que nous utilisions une fréquence d'échantillonnage suffisamment élevée, alors les copies du spectre original ne se chevaucheraient pas et ne s'additionneraient donc pas. Il est facile de comprendre qu'à partir d'un spectre aussi « effondré », il sera facile de restaurer celui d'origine - il suffira simplement de prendre la composante spectrale dans la région de zéro, en « coupant » les copies supplémentaires allant à l'infini. La manière la plus simple de procéder est de multiplier le spectre par une fonction rectangulaire égale à T dans la plage -1/2T...1/2T et zéro en dehors de cette plage. Une telle transformée de Fourier correspond à la fonction sinc(Tx) et selon la propriété 4, une telle multiplication équivaut à la convolution de la séquence originale de fonctions delta avec la fonction sinc(Tx)



Autrement dit, en utilisant la transformée de Fourier, nous disposons d'un moyen de reconstruire facilement le signal original à partir d'un signal échantillonné dans le temps, à condition d'utiliser une fréquence d'échantillonnage au moins double (en raison de la présence de fréquences négatives dans le spectre). supérieure à la fréquence maximale présente dans le signal d’origine. Ce résultat est largement connu et est appelé « théorème de Kotelnikov/Shannon-Nyquist ». Cependant, comme il est facile de le constater maintenant (en comprenant la preuve), ce résultat, contrairement à une idée fausse largement répandue, détermine suffisant, mais pas nécessaire condition de restauration du signal original. Il suffit de s'assurer que la partie du spectre qui nous intéresse après échantillonnage du signal ne se chevauche pas, et si le signal est à bande suffisamment étroite (a une petite « largeur » de la partie non nulle du spectre), alors ce résultat peut souvent être obtenu à une fréquence d'échantillonnage bien inférieure au double de la fréquence maximale du signal. Cette technique est appelée « sous-échantillonnage » (sous-échantillonnage, échantillonnage passe-bande) et est assez largement utilisée dans le traitement de toutes sortes de signaux radio. Par exemple, si nous prenons une radio FM fonctionnant dans la bande de fréquences de 88 à 108 MHz, alors pour la numériser, nous pouvons utiliser un CAN avec une fréquence de seulement 43,5 MHz au lieu des 216 MHz supposés par le théorème de Kotelnikov. Dans ce cas, cependant, vous aurez besoin d’un ADC de haute qualité et d’un bon filtre.

Permettez-moi de noter que la « duplication » des hautes fréquences avec des fréquences d'ordres inférieurs (aliasing) est une propriété immédiate de l'échantillonnage du signal qui « gâche » de manière irréversible le résultat. Par conséquent, si le signal peut, en principe, contenir des fréquences d'ordre élevé (c'est-à-dire presque toujours), un filtre analogique est placé devant l'ADC, « coupant » tout ce qui est inutile directement dans le signal d'origine (puisqu'après l'avoir échantillonné il sera trop tard pour le faire). Les caractéristiques de ces filtres, en tant que dispositifs analogiques, ne sont pas idéales, de sorte que certains « dommages » au signal se produisent toujours, et en pratique, il s'ensuit que les fréquences les plus élevées du spectre sont, en règle générale, peu fiables. Pour réduire ce problème, le signal est souvent suréchantillonné, en réglant le filtre analogique d'entrée sur une bande passante inférieure et en utilisant uniquement la partie inférieure de la plage de fréquences théoriquement disponible du CAN.

Soit dit en passant, une autre idée fausse courante est que le signal à la sortie du DAC est tracé par « étapes ». Les « étapes » correspondent à la convolution d'une séquence de signal échantillonnée avec une fonction rectangulaire de largeur T et de hauteur 1 :

Le spectre du signal avec cette transformation est multiplié par l'image de Fourier de cette fonction rectangulaire, et pour une fonction rectangulaire similaire il est à nouveau sinc(w), « étiré » d'autant plus que la largeur du rectangle correspondant est petite. Le spectre du signal échantillonné avec un tel « DAC » est multiplié point par point par ce spectre. Dans ce cas, les hautes fréquences inutiles avec des « copies supplémentaires » du spectre ne sont pas complètement coupées, mais la partie supérieure de la partie « utile » du spectre, au contraire, est atténuée.

Dans la pratique, bien entendu, personne ne fait cela. Il existe de nombreuses approches différentes pour construire un DAC, mais même dans le sens le plus proche d'un DAC de type pondération, les impulsions rectangulaires du DAC, au contraire, sont choisies pour être aussi courtes que possible (se rapprochant de la séquence réelle de delta fonctions) afin d’éviter une suppression excessive de la partie utile du spectre. Les fréquences « supplémentaires » dans le signal à large bande résultant sont presque toujours annulées en faisant passer le signal à travers un filtre passe-bas analogique, de sorte qu'il n'y ait pas d'« étapes numériques » ni « à l'intérieur » du convertisseur, ni, surtout, à sa sortie.

Cependant, revenons à la transformée de Fourier. La transformée de Fourier décrite ci-dessus appliquée à une séquence de signal pré-échantillonnée est appelée transformée de Fourier en temps discret (DTFT). Le spectre obtenu par une telle transformation est toujours 1/T-périodique, donc le spectre DTFT est entièrement déterminé par ses valeurs sur l'intervalle ) ), $$

et la transformation inverse

$$ x_(mn) =\sum\limits_(u=1)^(N-1) (\sum\limits_(w=1)^(M-1) (G_(uw) ) ) e^( (2 \pi j\left[ (\frac(mu)(M)+\frac(nw)(N)) \right]) ). $$

Dans le cas du traitement d'images, les composantes de la transformée de Fourier bidimensionnelle sont appelées $\textit(fréquences spatiales)$.

Une propriété importante de la transformée de Fourier bidimensionnelle est la possibilité de la calculer à l'aide de la procédure FFT unidimensionnelle :

$$ G_(uw) =\frac(1)(N)\sum\limits_(n=1)^(N-1) ( \left[ (\frac(1)(M)\sum\limits_(m= 0)^(M-1) (x_(mn) e^(\frac(-2\pi jmw)(M))) ) \right] ) e^(\frac(-2\pi jnu)(N) ), $$

Ici, l'expression entre crochets est une transformation unidimensionnelle d'une ligne de la matrice de données, qui peut être effectuée avec une FFT unidimensionnelle. Ainsi, pour obtenir une transformée de Fourier bidimensionnelle, il faut d'abord calculer des transformations de lignes unidimensionnelles, écrire les résultats dans la matrice d'origine et calculer des transformations unidimensionnelles pour les colonnes de la matrice résultante. Lors du calcul de la transformée de Fourier bidimensionnelle, les basses fréquences seront concentrées dans les coins de la matrice, ce qui n'est pas très pratique pour un traitement ultérieur des informations reçues. Pour traduire afin d'obtenir une représentation de transformée de Fourier 2D dans laquelle les basses fréquences sont concentrées au centre de la matrice, une procédure simple qui peut être effectuée consiste à multiplier les données d'origine par $-1^(m+n)$.

Sur la fig. La figure 16 montre l'image originale et sa transformée de Fourier.

Image en demi-teinte et sa transformée de Fourier (images obtenues dans LabVIEW)

Convolution par transformée de Fourier.

La convolution des fonctions $s(t)$ et $r(t)$ est définie comme

$$ s\ast r\cong r\ast s\cong \int\limits_(-\infty )^(+\infty ) (s(\tau)) r(t-\tau)d\tau . $$

En pratique, nous devons faire face à une convolution discrète, dans laquelle les fonctions continues sont remplacées par des ensembles de valeurs aux nœuds d'une grille uniforme (généralement une grille entière est prise) :

$$ (r\ast s)_j \cong \sum\limits_(k=-N)^P (s_(j-k) r_k ). $$

Ici $-N$ et $P$ définissent la plage au-delà de laquelle $r(t) = 0$.

Lors du calcul de convolution à l'aide de la transformée de Fourier, la propriété de la transformée de Fourier est utilisée, selon laquelle le produit des images de fonctions dans le domaine fréquentiel est équivalent à la convolution de ces fonctions dans le domaine temporel.

Pour calculer la réconciliation, il est nécessaire de transformer les données originales dans le domaine fréquentiel, c'est-à-dire de calculer sa transformée de Fourier, de multiplier les résultats de la transformation et d'effectuer la transformée de Fourier inverse, en restaurant la représentation originale.

La seule subtilité dans le fonctionnement de l'algorithme est due au fait que dans le cas d'une transformée de Fourier discrète (par opposition à une transformée continue), deux fonctions périodiques sont alambiquées, c'est-à-dire que nos ensembles de valeurs précisent exactement la périodes de ces fonctions, et pas seulement les valeurs sur une section distincte de l'axe. Autrement dit, l'algorithme estime que le point $x_(N )$ n'est pas suivi de zéro, mais du point $x_(0)$, et ainsi de suite dans un cercle. Par conséquent, pour que la convolution soit calculée correctement, il est nécessaire d'attribuer une séquence de zéros suffisamment longue au signal.

Filtrage des images dans le domaine fréquentiel.

Les méthodes de filtrage linéaire font partie des méthodes bien structurées pour lesquelles des schémas de calcul efficaces basés sur des algorithmes de convolution rapide et une analyse spectrale ont été développés. En général, les algorithmes de filtrage linéaire effectuent une transformation de la forme

$$ f"(x,y) = \int\int f(\zeta -x, \eta -y)K (\zeta , \eta) d \zeta d \eta , $$

où $K(\zeta ,\eta)$ est le noyau de la transformation linéaire.

Avec une représentation discrète du signal, l'intégrale de cette formule dégénère en une somme pondérée d'échantillons de l'image originale dans une certaine ouverture. Dans ce cas, le choix du noyau $K(\zeta ,\eta)$ selon l'un ou l'autre critère d'optimalité peut conduire à un certain nombre de propriétés utiles (lissage gaussien lors de la régularisation du problème de différenciation numérique d'une image, etc.) .

Les méthodes de traitement linéaire sont mises en œuvre le plus efficacement dans le domaine fréquentiel.

L'utilisation de la transformée de Fourier d'une image pour effectuer des opérations de filtrage est principalement due aux performances plus élevées de ces opérations. En règle générale, l'exécution de transformations de Fourier 2D avant et inverse et la multiplication par les coefficients de l'image de Fourier d'un filtre prennent moins de temps que l'exécution d'une convolution 2D sur l'image d'origine.

Les algorithmes de filtrage du domaine fréquentiel sont basés sur le théorème de convolution. Dans le cas 2D, la transformation par convolution ressemble à ceci :

$$ G\left((u,v) \right)=H\left((u,v) \right)F\left((u,v) \right), $$

où $G$ est la transformée de Fourier du résultat de convolution, $H$ est la transformée de Fourier du filtre et $F$ est la transformée de Fourier de l'image originale. Autrement dit, dans le domaine fréquentiel, la convolution bidimensionnelle est remplacée par une multiplication élément par élément des images de l'image originale et du filtre correspondant.

Pour effectuer une convolution, vous devez procéder comme suit :

  1. Multipliez les éléments de l'image originale par $-1^(m+n)$ pour centrer l'image de Fourier.
  2. Calculez l'image de Fourier de $F(u,v)$ en utilisant FFT.
  3. Multipliez l'image de Fourier $F(u,v)$ par la fonction de filtre de fréquence $H(u,v)$.
  4. Calculez la transformée de Fourier inverse.
  5. Multipliez la partie réelle de la transformation inverse par $-1^(m+n)$.

La relation entre la fonction de filtre dans le domaine fréquentiel et le domaine spatial peut être déterminée à l'aide du théorème de convolution

$$ \Phi \left[ (f\left((x,y) \right)\ast h(x,y)) \right]=F\left((u,v) \right)H\left(( u,v) \right), $$

$$ \Phi \left[ (f\left((x,y) \right)h(x,y)) \right]=F\left((u,v) \right)\ast H\left(( u,v)\droite). $$

La convolution d'une fonction avec une fonction impulsionnelle peut être représentée comme suit :

$$ \sum\limits_(x=0)^M (\sum\limits_(y=0)^N (s\left((x,y) \right)) ) \delta \left((x-x_0 , y-y_0 )\right)=s(x_0 ,y_0). $$

Transformée de Fourier de la fonction d'impulsion

$$ F\left((u,v) \right)=\frac(1)(MN)\sum\limits_(x=0)^M (\sum\limits_(y=0)^N (\delta \ gauche((x,y) \right) ) ) e^( (-2\pi j\left((\frac(ux)(M)+\frac(vy)(N)) \right)) ) =\ frac(1)(MN). $$

Soit $f(x,y) = \delta (x,y)$, puis convolution

$$ f\left((x,y) \right)\ast h(x,y)=\frac(1)(MN)h\left((x,y) \right), $$

$$ \Phi \left[ (\delta \left((x,y) \right)\ast h(x,y)) \right]=\Phi \left[ (\delta \left((x,y) \right)) \right]H\left((u,v) \right)=\frac(1)(MN)H\left((u,v) \right). $$

À partir de ces expressions, il est clair que les fonctions de filtre dans les domaines fréquentiel et spatial sont interdépendantes via la transformée de Fourier. Pour une fonction de filtre donnée dans le domaine fréquentiel, il est toujours possible de trouver un filtre correspondant dans le domaine spatial en appliquant la transformée de Fourier inverse. Il en va de même pour le cas inverse. En utilisant cette relation, une procédure de synthèse de filtres linéaires spatiaux peut être définie.

  1. Nous déterminons les caractéristiques (forme) requises du filtre dans le domaine fréquentiel.
  2. Nous effectuons la transformée de Fourier inverse.
  3. Le filtre résultant peut être utilisé comme masque pour la convolution spatiale, et la taille du masque peut être réduite par rapport à la taille du filtre d'origine.

($\textit(Filtre passe-bas idéal)$) $H(u,v)$ a la forme $$H(u,v) = 1, \quad \mbox(if )D(u,v)< D_0 ,$$ $$H(u,v) = 0, \quad \mbox{если }D(u,v) \ge D_0 ,$$ где $D\left({u,v} \right)=\sqrt {\left({u-\frac{M}{2}} \right)^2+\left({v-\frac{N}{2}} \right)^2}$ - расстояние от центра частотной плоскости.

($\textit(Filtre passe-haut idéal)$) est obtenu en inversant le filtre passe-bas idéal :

$$ H"(u,v) = 1-H(u,v). $$

Ici, les composantes basses fréquences sont complètement supprimées tandis que les composantes hautes fréquences sont préservées. Cependant, comme dans le cas d'un filtre passe-bas idéal, son utilisation se heurte à l'apparition d'une distorsion importante.

Diverses approches sont utilisées pour synthétiser des filtres avec une distorsion minimale. L’un d’eux est la synthèse de filtres exponentiels. De tels filtres introduisent une distorsion minimale dans l’image résultante et conviennent à la synthèse dans le domaine fréquentiel.

Une famille de filtres basés sur la fonction gaussienne réelle est largement utilisée en traitement d'images.

$\textit(Filtre gaussien passe-bas)$ a la forme

$$ h\left(x \right)=\sqrt (2\pi ) \sigma Ae^(-2\left((\pi \sigma x) \right)^2) \mbox( et ) H\left( u \right)=Ae^(-\frac(u^2)(2\sigma ^2)) $$

Plus le profil du filtre dans le domaine fréquentiel est étroit (plus $\sigma $ est grand), plus il est large dans le domaine spatial.

($\textit(Filtre gaussien passe-haut)$) a la forme

$$ h\left(x \right)=\sqrt (2\pi ) \sigma _A Ae^(-2\left((\pi \sigma _A x) \right)^2)-\sqrt (2\pi ) \sigma _B Be^(-2\left((\pi \sigma _B x) \right)^2 ), $$

$$ H\left(u \right)=Ae^(-\frac(u^2)(2\sigma _A^2 ))-Be^(-\frac(u^2)(2\sigma _B^2 )). $$

Dans le cas bidimensionnel ($\it(passe-bas)$), le filtre gaussien ressemble à ceci :

$$ H\left((u,v) \right)=e^(-\frac(D^2\left((u,v) \right))(2D_0^2 )). $$

($\it(High Pass)$) Le filtre gaussien a la forme

$$ H\left((u,v) \right)=1-e^(-\frac(D^2\left((u,v) \right))(2D_0^2 )). $$

Considérons un exemple de filtrage d'image (Fig. 1) dans le domaine fréquentiel (Fig. 17 - 22). Notez que le filtrage fréquentiel d'une image peut avoir le sens à la fois de lissage ($\textit(filtrage passe-bas)$) et de mise en évidence des contours et des objets de petite taille ($\textit(filtrage passe-haut)$).

Comme on peut le voir sur la Fig. 17, 19, à mesure que la « puissance » de filtrage augmente dans la composante basse fréquence de l’image, l’effet de « défocalisation apparente » ou $\it(flou)$ de l’image devient de plus en plus prononcé. Dans le même temps, la majeure partie du contenu informatif de l'image passe progressivement dans la composante haute fréquence, où au début seuls les contours des objets sont observés (Fig. 18, 20 - 22).

Considérons maintenant le comportement des filtres passe-haut et passe-bas (Fig. 23 - 28) en présence de bruit gaussien additif dans l'image (Fig. 7).

Comme on peut le voir sur la Fig. 23, 25, les propriétés des filtres basse fréquence pour supprimer le bruit aléatoire additif sont similaires aux propriétés des filtres linéaires précédemment considérés - avec une puissance de filtrage suffisante, le bruit est supprimé, mais le prix en est un fort flou des contours et une « défocalisation » » de l’image entière. La composante haute fréquence d'une image bruitée cesse d'être informative, car en plus des informations sur les contours et les objets, la composante bruit est désormais également pleinement présente (Fig. 27, 28).

L'utilisation de méthodes fréquentielles est la plus appropriée dans le cas où le modèle statistique du processus de bruit et/ou la fonction de transfert optique du canal de transmission d'images sont connus. Il est commode de prendre en compte de telles données a priori en choisissant comme filtre de reconstruction un filtre contrôlé généralisé (par paramètres $\sigma$ et $\mu$) de la forme suivante :

$$ F(w_1,w_2)= \left[ ( \frac (1) (P(w_1,w_2)) )\right] \cdot \left[ (\frac ((\vert P(w_1,w_2) \vert )^2) (\vert P(w_1,w_2) \vert ^2 + \alpha \vert Q(w_1,w_2) \vert ^2) )\right]. $$

où 0 $< \sigma < 1$, $0 < \mu < 1$ - назначаемые параметры фильтра, $P(w_{1}$, $w_{2})$ - передаточная функция системы, $Q(w_{1}$, $w_{2})$ - стабилизатор фильтра, согласованный с энергетическим спектром фона. Выбор параметров $\sigma = 1$, $\mu = 0$ приводит к чисто инверсной фильтрации, $\sigma =\mu = 1$ к \it{винеровской фильтрации}, что позволяет получить изображение, близкое к истинному в смысле минимума СКО при условии, что спектры плотности мощности изображения и его шумовой компоненты априорно известны. Для дальнейшего улучшения эффекта сглаживания в алгоритм линейной (винеровской) фильтрации вводят адаптацию, основанную на оценке локальных статистик: математического ожидания $M(P)$ и дисперсии $\sigma (P)$. Этот алгоритм эффективно фильтрует засоренные однородные поверхности (области) фона. Однако при попадании в скользящее окно обработки неоднородных участков фона импульсная характеристика фильтра сужается ввиду резкого изменения локальных статистик, и эти неоднородности (контуры, пятна) передаются практически без расфокусировки, свойственной неадаптивным методам линейной фильтрации.

Les avantages des méthodes de filtrage linéaire incluent leur signification physique claire et leur facilité d'analyse des résultats. Cependant, avec une forte détérioration du rapport signal sur bruit, avec d'éventuelles variantes de bruit de zone et la présence de bruit impulsionnel de haute amplitude, les méthodes de prétraitement linéaire peuvent s'avérer insuffisantes. Dans cette situation, les méthodes non linéaires sont beaucoup plus puissantes.



Avez-vous aimé l'article? Partagez avec vos amis !