Pourquoi devrais-je laisser un signal suréchantillonné?

21

Je ne peux pas penser à une meilleure façon de poser cette question, je vais donc commencer par un exemple. Supposons que j'ai un signal d'entrée avec une fréquence maximale de 50 Hz (échantillonné à 100 Hz). Maintenant, les signaux d'intérêt se situent entre 0 et 5 Hz, je peux donc ajouter un filtre passe-bas avec une coupure de 5 Hz et utiliser le signal résultant pour un traitement ultérieur. Ma compréhension est que maintenant je peux sous-échantillonner le signal filtré d'un facteur 10 et donc réduire la charge de traitement. Ai-je raison? Si oui, pourquoi le sous-échantillonnage n'est-il PAS TOUJOURS effectué après le filtrage, car il me semble que la voie à suivre est évidente? Et si je me trompe dans mon hypothèse, où me trompe-je?

anasimtiaz
la source
4
le suréchantillonnage puis la décimation d'un signal est souvent un moyen de faire face au ralentissement du bruit provenant du filtrage analogique qui aliaserait votre signal. Ensuite, la décimation (avec le passe-bas requis qui le précède) peut donner une meilleure qualité de signal. Les filtres muraux en brique sont plus faciles à réaliser dans le domaine numérique.
Kortuk

Réponses:

17

Vous avez raison de dire que si votre signal est limité à <5 Hz, vous pouvez parfaitement le représenter avec un taux d'échantillonnage de 10 Hz. Ceci est le théorème d'échantillonnage bien connu

Mais ... il peut y avoir des considérations pratiques pour lesquelles on ne serait pas en mesure et / ou enclin à utiliser des données échantillonnées de manière critique.

L'une des raisons est la difficulté de produire un signal échantillonné de manière critique. Toute opération que vous effectuez pour modifier la vitesse du signal va avoir un filtre avec une bande passante de transition non nulle. Dans votre exemple, cela limite le contenu de fréquence sans biais à 5 ftrans.Cette bande passante de transition peut être rendue très étroite avec de longs filtres de réponse impulsionnelle, mais cela a des coûts en termes de traitement et de transitoires (sonnerie) au début et à la fin du signal.

Une autre raison est l'efficacité des algorithmes qui fonctionnent sur le signal résultant. Si vous devez travailler avec un composant blackbox qui ne peut choisir que l'échantillon le plus proche, vous feriez mieux de lui fournir des données suréchantillonnées.

La plupart (toutes?) Des opérations non linéaires se comporteront différemment avec les données échantillonnées de manière critique par rapport aux données suréchantillonnées. Un exemple est la quadrature d'un signal, une méthode bien connue de récupération de porteuse BPSK. Sans une condition 2x suréchantillonnée, la multiplication du signal de domaine temporel avec lui-même provoque un repliement d'ordures enveloppant lorsque le domaine de fréquence s'entrelace avec lui-même.

Mark Borgerding
la source
1
Je ne comprends pas la partie où vous parlez de l'échantillonnage critique du signal. Si mes signaux sont dans la plage de 0 à 5 Hz et au lieu de sous-échantillonner de 10, je sous-échantillonne d'un facteur 8 (par exemple), aurais-je toujours ce problème?
anasimtiaz
1
Cela vous permettrait d'avoir une bande passante Nyquist supplémentaire (c'est-à-dire encodable via votre taux d'échantillonnage) qui n'est pas utilisée par votre signal d'intérêt. Cette bande vous permet d'avoir des filtres réalisables qui n'empiètent pas sur votre signal d'intérêt.
Mark Borgerding
8

Deux autres raisons de suréchantillonner:

  1. Faible latence: par exemple, les boucles de contrôle nécessitent une latence très faible. Le suréchantillonnage fait entrer et sortir les données plus rapidement, ce qui réduit la latence. De plus, tout filtrage passe-bas introduit un retard de groupe. Plus le filtre passe-bas est net, plus le délai de groupe est élevé. Si vous suréchantillonnez, vous avez besoin de filtres anti-aliasing moins raides et vous vous retrouvez avec moins de retard de groupe et donc de latence.

  2. Aspect pratique: si vos entrées et sorties fonctionnent au même taux (élevé), vous pouvez potentiellement sous-échantillonner, mais vous devrez à nouveau suréchantillonner avant de pouvoir produire le résultat. Exemple: dans un système de cinéma maison, vous pouvez sous-échantillonner le chemin de traitement des graves, mais vous devrez à nouveau suréchantillonner car les sorties fonctionnent à un taux élevé. Dans de nombreux cas, les économies de MIPS ne valent pas la peine

Hilmar
la source
2

Il y a un certain nombre de facteurs à considérer lors de la détermination d'un taux d'échantillonnage. Permettez-moi d'en énumérer quelques-unes, pour vous donner une idée des autres conséquences qui pourraient se produire si vous abaissiez le taux d'échantillonnage. Bien sûr, cela dépend en grande partie de la façon dont vous réduisez le taux d'échantillonnage, mais ...

  1. Fréquence de Nyquist: On ne peut pas détecter plus de fréquences que le Nyquist, qui est au moins la moitié du taux de détection, en utilisant des méthodes de traitement typiques. Il existe des méthodes qui impliquent le filtrage des signaux avant la conversion A / N vers ceux dans une bande de Nyquist.
  2. La détection des fréquences à proximité du Nyquist peut être difficile et sujette à erreur. Remarque, ce n'est généralement que pour ceux qui sont vraiment proches du groupe. Dans cet exemple, limiter la plage à 12 Hz (6 Hz Nyquist) répondrait plus que adéquatement à toutes les préoccupations liées à cela.
  3. Les composants à haute fréquence ont tendance à être réduits en résistance par rapport à une fréquence plus basse. Cela se produit essentiellement parce que la théorie de l'échantillonnage suppose une fonction de peigne, c'est-à-dire des détections dans un instant de temps régulièrement espacées. La vérité est que tous les signaux sont mesurés sur une petite fenêtre de temps. Cela a pour effet de convoluer un rectangle dans le domaine temporel ou de le multiplier par un signal sinc dans le domaine fréquentiel. Bien sûr, si vous prenez simplement un signal sur 10 (au lieu d'utiliser un temps d'échantillonnage plus long), cet effet sera atténué.

Pour illustrer certains de ces principes, j'ai écrit un programme matlab simple, dont je montrerai également la sortie.

pis=linspace(0,2*pi,2048);
for f=1:512
sig=cos(f*pis+pi/2);
sig_average=filter(ones(16,1),1/16,sig);
sam_sig=sig_average(1:16:end);
freq=abs(fft(sam_sig));
freqs(f)=max(freq);
end
figure;plot((1:512)/64,freqs)

entrez la description de l'image ici

PearsonArtPhoto
la source
3
Je pense que votre liste de points est un peu trompeuse: 1. Je mentionnerais ici l'utilisation potentielle de "l'échantillonnage passe-bande"; c'est une méthode relativement "typique". 2. Je ne pense pas que vous puissiez faire cette déclaration générale en général. 3. Les composants haute fréquence ne sont pas toujours atténués comme vous le décrivez. Le phénomène que vous mentionnez est lié au temps de conversion d'un convertisseur A / N; ce n'est qu'un facteur limitant si le temps de conversion est significatif par rapport à l'intervalle d'échantillonnage, ce qui n'est souvent pas le cas.
Jason R
2
4. Le suréchantillonnage n'améliore pas votre capacité à résoudre des fréquences rapprochées. Seul un temps d'observation accru fournira une résolution de fréquence améliorée; vous avez besoin d'un produit à bande passante suffisante.
Jason R
@JasonR: Bons points. J'ai corrigé les déclarations et ajouté des choses que vous avez suggérées. La plupart de mes antécédents DSP sont avec des signaux mesurés sur une période de temps, montrant ainsi peut-être mes biais ...
PearsonArtPhoto
2

Le critère de Nyquist (suréchantillonnage double pour décrire parfaitement votre signal) s'applique aux données sans bruit. Si vous souhaitez reconstruire des données bruyantes, vous devez échantillonner avec une fréquence supérieure à la fréquence minimale. Cela est particulièrement vrai dans le cas des images, où vous n'avez généralement pas de signaux périodiques, et où vous ne pouvez donc pas simplement faire une moyenne temporelle pour réduire le bruit.

De plus, si vous souhaitez adapter un modèle à vos données, vous bénéficiez à nouveau d'un échantillonnage plus élevé, car l'ajustement d'un modèle en trois points de données ne sera pas particulièrement stable, en particulier en présence de bruit.

Jonas
la source
Il n'y a aucune déclaration générale que vous pouvez faire sur la quantité de suréchantillonnage requise avec des données bruyantes. La bande passante globale du signal (signal d'intérêt plus bruit) est ce qui est le plus important; ceci est fonction de la réponse de tout filtrage anti-crénelage que vous avez devant votre échantillonneur. Tant que votre taux d'échantillonnage est suffisamment grand pour s'adapter à la quantité de bande passante qui contient une énergie importante à l'ouverture d'échantillonnage, tout va bien. Il n'y a pas de règle stricte pour un taux de suréchantillonnage minimum; tout dépend de la rapidité avec laquelle le signal et le spectre de bruit diminuent.
Jason R
@Jason R: Le suréchantillonnage triple est la règle générale en imagerie fluorescente; mais vous avez raison, tout dépend de la quantité de bruit que vous avez. J'ai corrigé mon message.
Jonas
2

Une raison pour garder le signal suréchantillonné est le compromis plage dynamique / suréchantillonnage. En gros, chaque fois que vous doublez la bande passante "inutilement" pour le signal qui vous intéresse, vous obtenez un bit supplémentaire de résolution d'échantillonnage, une fois le filtrage appliqué (ce qui peut se produire dans le domaine numérique), vous pouvez stocker les résultats à une profondeur de bits plus élevée et ceux les bits contiennent un contenu de signal valide, pas de bruit supplémentaire (pour la bande passante d'intérêt). Si votre système fonctionne dans des conditions où une plage dynamique supplémentaire peut être utile, il y a une bonne raison de maintenir le signal à un taux d'échantillonnage élevé lorsqu'il entre dans le CAN.

Aurelio
la source