Pourquoi la convolution circulaire est-elle utilisée dans DSP? Pourquoi pas la convolution linéaire?
On novembre 29, 2020 by admin-
Pourquoi utilisons-nous la convolution circulaire dans DSP?
-
Quelle est la principale raison solide de son utilisation dans le traitement numérique?
-
Pourquoi le concept de circulaire la convolution arrive plus souvent que la convolution linéaire?
Commentaires
- vous remarquerez que toutes vos réponses incluent une mention de la transformée de Fourier discrète qui est implémentée le plus efficacement avec la FFT. la DFT étend périodiquement par nature les séquences de longueur finie qui lui sont passées (qui est circulaire). la convolution circulaire est rarement le but . convolution généralement linéaire est le but. mais en multipliant les DFT ‘ s $ X [k] $ et $ H [k] $ ensemble, cela correspond à la convolution circulaire des deux séquences périodiquement étendues, $ x [n] $ et $ h [n] $ sont passées aux DFT. le problème est alors de transformer cela en convolution linéaire.
Réponse
Étant donné un système LTI à temps discret avec réponse impulsionnelle $ h [n] $ , on peut calculer sa réponse à nimporte quelle entrée $ x [n] $ par un convolution somme: $$ y [n] = x [n] \ star h [n] = \ sum_ {k = – \ infty} ^ {\ infty} {h [k] x [nk]} \ tag {1} $$
Sans rien de plus, la définition ci-dessus est pour la convolution linéaire (convolution apériodique) entre $ h [n] $ et $ x [n] $ , qui sont des séquences apériodiques en temps discret dune longueur éventuellement infinie, sauf indication contraire. Ceci est différent dune convolution circulaire qui se situe entre deux séquences périodiques de période $ N $ , et calculé sur une seule période.
Vous pouvez calculer un linéaire convolution dans le domaine temporel par Eq.1, ou dans le domaine fréquentiel en utilisant la propriété DTFT (transformée de Fourier en temps discret) suivante: $$ y [n] = x [n] \ star h [n] \ implique Y (e ^ {j \ omega}) = X (e ^ {j \ omega}) H (e ^ {j \ omega}) \ tag {2} $$
DTFT est naturellement lié à la convolution linéaire, car il traite des séquences apériodiques théoriquement existantes qui peuvent sétendre de $ – \ infty $ à $ \ infty $ reflété dans ses limites de la somme de définition: $$ X (e ^ {j \ omega}) = \ sum_ {n = – \ infty} ^ {\ infty} x [n] e ^ {- j \ omega n} \ tag {3} $$
Lorsque vous voulez faire un calcul à la main, en utilisant des expressions symboliques pour les signaux, telles que $ x [n] = a ^ nu [n] $ et $ h [n] = b ^ nu [n] $ , vous pouvez calculer les résultats dans les domaines temporels ou fréquentiels comme indiqué ci-dessus.
De plus, lorsque vous souhaitez calculer le même résultat en utilisant un ordinateur, vous pouvez utiliser lapproche du domaine temporel basée sur une récursivité LCCDE (pour les systèmes IIR) ou une somme de convolution finie directe (pour les systèmes FIR), MAIS l’approche du domaine fréquentiel ne fonctionnera pas avec DTFT; car c’est principalement un outil utilisé pour développer les mathématiques des signaux. implémentations, car sa variable $ \ omega $ est un réel continu nombre.
Ce qui est utilisé à la place est la DFT (transformée de Fourier discrète) définie comme $$ X [k] = X (e ^ {j \ omega}) | _ {\ omega = \ frac {2 \ pi k} {N}} \ tag {4} $$
où $ k = 0,1, …, N-1 $ et $ N $ est la longueur de la DFT, qui » est alors appelée comme N-point DFT du signal $ x [n] $ .
LEq.4 implique que la séquence DFT $ X [k] $ est obtenue comme les échantillons uniformes du DTFT $ X (e ^ {j \ omega}) $ , qui est une fonction périodique, doù DFT $ X [k] $ est également périodique mais nous ne considérons que sa première période allant de $ k = 0 $ à $ N-1 $ .
Puisque les séquences DFT sont intrinsèquement périodiques, alors leurs convolutions seront également périodiques (circulaires).Par conséquent, alors quune linéaire convolution entre des signaux apériodiques $ x [n] $ et $ y [n] $ est impliqué par lexpression I-DTFT $$ y [n] = \ mathcal {I-DTFT} \ {X (e ^ {j \ omega}) H (e ^ {j \ omega}) \} $$ au lieu de la convolution circulaire entre deux séquences périodiques est impliquée par lexpression I-DFT $$ \ tilde {y} [n] = \ mathcal { I-DFT} \ {X [k] H [k] \} $$
Donc, étant donné que nous voulons calculer une convolution linéaire entre deux séquences apériodiques $ x [n] $ et $ h [n] $ de longueurs $ L_x $ et $ L_h $ respectivement, en utilisant le domaine de fréquence par leurs DFT en $ N $ , $ X [k] $ et $ H [k] $ , nous devons en fait calculer une convolution circulaire entre les extensions périodiques des signaux $ \ tilde {x} [n] $ et $ \ tilde {h} [n] $ de périodes $ N $ .
La clé est de choisir une longueur appropriée $ N $ des DFT, qui doit être suffisamment longue pour éviter tout domaine temporel alias de la séquence $ \ tilde {y} [n] $ , renvoyé par le calcul IDFT: $$ \ tilde {y} [n] = \ sum_ {r = – \ infty} ^ {\ infty} y [n-rN] \ tag {5 } $$
où $ y [n] $ est le résultat de la convolution linéaire qui serait retournée par linverse théorique DTFT et $ \ tilde {y} [n] $ est le résultat périodique de la convolution périodique (circulaire) impliquée par la DFT inverse.
Notez que si lun des signaux est de longueur infinie, alors il « est PAS possible pour calculer leur convolution linéaire en utilisant lapproche DFT, car $ N $ irait à linfini, pratiquement impossible. La mise en œuvre dune convolution linéaire via DFT se déroule alors comme suit:
-
Choisissez N selon les critères suivants: $$ N \ geq L_x + L_h -1 $$ qui garantit une reconstruction sans alias du signal inverse $ y [n] $ à partir de son DFT $ Y [k] $ de la convolution circulaire calculée via $ X [k] H [k] $ .
-
Calculer les DFT à N points $ X [k] $ et $ H [k] $ sur $ x [n] $ et $ h [n] $ .
-
Calculer $ Y [k] = X [k ] H [k] $
-
Calculer la DFT inverse à N points de $ Y [k] $ pour produire la sortie $ y [n] $
Answer
Répondre à vos questions:
- Pourquoi utilisons-nous la convolution circulaire dans DSP?
En DSP, nous traitons normalement des séquences discrètes de longueur finie (même si le signal à létude est infini, nous ne pouvons en analyser quune partie finie à la fois ). Lorsquil sagit de traiter un signal, la manière de le traiter doit être implémentable dans un dispositif logique discret (à savoir un dispositif qui ne peut pas stocker des valeurs continues car ces valeurs sont infinies et il a une quantité finie de mémoire, de stockage, etc.). Ceci explique pourquoi la transformée de Fourier en temps discret (DTFT) qui transforme une séquence de temps discrète en une séquence de fréquence continue ne peut pas être implémentée dans le matériel. La convolution linéaire dans le temps équivaut à la multiplication de 2 séquences DTFT, mais comme DTFT ne peut pas être implémenté en matériel, ce n’est pas le moyen d’obtenir une convolution linéaire. « d942baab46 »>
Transformée de Fourier Discrète (DFT), dautre part, transforme une séquence de temps discrète en une séquence de fréquence discrète et cette lui permet dêtre implémentée en Pourtant, multiplier 2 séquences DFTs équivaut à une convolution circulaire en principe (la convolution linéaire peut également être obtenue si les séquences temporelles sont préalablement remplies avec suffisamment de zéros, voir lexplication ci-dessous).La raison pour laquelle la multiplication de 2 séquences DFT équivaut à une convolution circulaire et non linéaire vient du fait que la DFT pour une séquence de longueur de temps finie équivaut à la série discrète de Fourier (DFS) de cette même séquence de longueur de temps finie périodiquement étendue (concaténant le séquence de longueur de temps finie à linfini dans laxe des temps) prise sur une période. Le DFS est également périodique dans le domaine fréquentiel, donc la convolution linéaire ne s’applique pas ici (voir 8.2.5 et 8.6.5 de la 3e édition de Traitement du signal en temps discret d’Oppenheim)
- Quelle est la principale raison solide de son utilisation dans le traitement numérique?
Il est obtenu par multiplication DFT et DFT est facilement implémenté dans le matériel. De plus, des algorithmes très efficaces tels que la FFT existent pour le calcul de la DFT
- Pourquoi le concept de convolution circulaire vient-il plus souvent que convolution linéaire?
Cela dépend de lapplication. La convolution circulaire peut également produire la convolution linéaire. Par exemple, disons on travaille avec le signal A de longueur N et le signal B également de longueur N (cela peut également être fait pour des longueurs différentes). La convolution circulaire sera de longueur N.Afin dobtenir une convolution linéaire, A et B doivent être remplis de zéros jusquà ce quils atteignent une longueur dau moins 2 * N – 1. Ensuite, appliquez la DFT sur les deux, multipliez-les et appliquez linverse DFT vous donnera la convolution linéaire
Réponse
Voici « un peu dintuition:
Quand vous traiter des signaux numériquement, vous avez toujours affaire à un signal fini. En effet, vous ne pouvez traiter que sur une quantité finie de points de données.
Le problème est cependant que lorsque vous effectuez des transformations dans le domaine fréquentiel en utilisant le DFT, par définition, un signal ne peut pas être fini. Par conséquent, lorsque vous effectuez une opération DFT, il y a une altération implicite de votre signal dêtre fini, dêtre périodique, même si votre signal nest pas périodique.
Ceci la périodicité du signal conduit à la nécessité dutiliser la convolution de manière circulaire.
Réponse
La DFT / FFT est un « marteau » de calcul utile, mais tous ses vecteurs de base de transformation sont circulaires (entiers périodiques) dans louverture, et peuvent être étendus à linfini en tant que fonctions périodiques, que certains utilisateurs confondent avec la nature de leurs données dentrée.
Si vous complétez à zéro dune quantité suffisante, la convolution circulaire produit le même résultat que la convolution linéaire, mais à un coût de calcul légèrement plus élevé que circulaire.
Laisser un commentaire