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?
filters
decimation
downsampling
sampling
anasimtiaz
la source
la source
Réponses:
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.
la source
Deux autres raisons de suréchantillonner:
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.
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
la source
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 ...
Pour illustrer certains de ces principes, j'ai écrit un programme matlab simple, dont je montrerai également la sortie.
la source
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.
la source
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.
la source