Cette applet java est une démonstration de filtres numériques. Vous devriez entendre une forme d'onde de bruit lorsque l'applet démarre. Si vous obtenez un message Besoin de java 2 pour le son, alors vous devriez obtenir le plug-in Java. L'applet démarre avec un filtre passe-bas. Il montre la réponse en fréquence du filtre, le spectre de la forme d'onde filtrée en cours de lecture, la forme d'onde elle-même et la réponse impulsionnelle du filtre. Cliquez sur la courbe de réponse pour modifier la fréquence de coupure. Le graphique de réponse de fréquence montre la réponse du filtre (montrée verticalement, en dB, avec des lignes à des intervalles de 10 dB) par rapport à la fréquence (montrée horizontalement, avec des lignes verticales marquant les octaves). Le spectre graphique montre le spectre de la sortie sonore. Le menu contextuel Input vous permet de sélectionner une forme d'onde d'entrée. Les choix sont les suivants: Noise Sine Wave - sélectionnez la fréquence en cliquant sur le spectre. Sawtooth Wave Triangle Wave Forme carrée Wave Periodic Noise - sélectionnez la fréquence en cliquant sur le spectre. Balayage - une onde sinusoïdale qui balaie le spectre de fréquence à un rythme réglable. Impulses Divers fichiers mp3 (vous pouvez ajouter vos propres en téléchargeant l'applet puis en éditant le fichier index. html) Le menu déroulant Filtre vous permet de sélectionner un filtre. Consultez ce site pour les détails techniques sur les types de filtres. Les choix sont les suivants: FIR Low-pass - filtre les fréquences hautes (tout en dessous de la fréquence de coupure, qui est réglable en cliquant sur le graphique de réponse avec la souris). FIR High-pass - filtre les basses fréquences. FIR passe bande - filtre tout sauf une gamme de fréquences. Utilisez les curseurs de fréquence centrale et de largeur de bande passante pour régler la plage. FIR Band-stop - filtre une gamme de fréquences. Voici quelques paramètres réglables qui affectent la qualité des filtres FIR: le nombre de points, que vous pouvez ajuster avec le curseur Ordre (plus de points est mieux) et la fenêtre, que vous sélectionnez avec la fenêtre popup. Un filtre FIR est défini par sa réponse impulsionnelle, que vous pouvez afficher près du bas de la fenêtre. Pour afficher la fonction Fenêtre, sélectionnez FIR Low-pass. Réglez la fréquence de coupure près de zéro et regardez la réponse impulsionnelle. Custom FIR - dessinez sur le graphique de réponse en fréquence pour spécifier votre propre filtre. La réponse réelle, affichée en rouge, est affectée par le curseur Ordre et la fenêtre popup. Pas de filtre Butterworth Low-pass - un filtre plat qui filtre les fréquences hautes Butterworth High-pass - un filtre plat qui filtre les basses fréquences Butterworth Band-pass - un filtre plat qui filtre les fréquences en dehors d'une certaine bande Butterworth Band - - un filtre plat qui filtre les fréquences à l'intérieur d'une certaine bande Chebyshev Low-pass - un filtre passe-bas avec une quantité réglable de ripple dans la bande passante Chebyshev passe-haut, Band-pass, Band-stop Inv Cheby Low-pass - inverse Chebyshev (aussi connu sous le nom Chebyshev type II), un filtre passe-bas avec une bande passante plate, mais une quantité réglable d'ondulation dans la bande d'arrêt Inv Cheby passe-haut, passe-bande, bande-stop elliptique passe-bas Également connu sous le nom Cauer) un filtre passe-bas avec une quantité réglable d'ondulation dans la bande passante et stopband. Le réglage de la largeur de la bande de transition modifie l'atténuation de la bande de séparation. Elliptic passe-haut, passe-bande, bande-stop peigne () - ce filtre (utilisé sur le bruit) sonne comme quelqu'un soufflant dans un tube. Peigne (-) - c'est un tube avec une extrémité couverte. Delay - filtre d'écho (comme un filtre en peigne, mais avec des retards plus longs) Filtre à cordes pincées - lorsque la fenêtre d'entrée est réglée sur Impuls, cela ressemble à une corde qui est pincée. Reson w Zeros - un filtre de réson avec des zéros ajoutés à 0 et la moitié de la fréquence d'échantillonnage Notch - filtre une gamme étroite de fréquences Moyenne mobile - une tentative FIR simple à un filtre passe-bas. Ce filtre (lorsqu'il est utilisé sur le bruit) me rappelle un Atari 2600. Triangle Allpass - passe toutes les fréquences de façon égale, mais avec un retard de phase différent. Utilisez l'élément Phase Response dans le menu View pour afficher la réponse de phase. Pour les basses fréquences, ce filtre agit comme un retard fractionnaire (un retard de moins d'un échantillon). Gaussien - la réponse impulsionnelle et la réponse en fréquence sont toutes deux gaussiennes Random Custom IIR - faites glisser les pôles et les zéros autour pour changer le filtre. Le popup Taux d'échantillonnage vous permet d'afficher ou de modifier le taux d'échantillonnage. Vous ne pouvez pas changer le taux si l'entrée est un MP3. Le menu Affichage vous permet d'activer ou de désactiver les différentes vues. L'option Echelle de fréquence de consignation qui affiche la réponse en fréquence à l'aide d'un graphe logarithmique plutôt que linéaire. L'élément Afficher l'ensemble de la forme d'onde comprime les segments de forme d'onde horizontalement de sorte que chacun s'insère dans la fenêtre de cette façon, toutes les formes d'ondes seront affichées, mais la fenêtre habituellement ne sera pas assez large pour montrer chaque échantillon séparément. L'élément Ferris Plot affichera un graphique Ferris de la fonction de transfert. Lors de l'affichage de la réponse en fréquence, l'applet ne montre que la partie du spectre de 0 à la fréquence de Nyquist (pi). Le reste de la réponse jusqu'à 2pi est juste une image miroir de cela, puis la réponse se répète tous les 2pi. Par exemple, voici une réponse en fréquence comme affiché dans l'applet (jusqu'à pi): Voici la réponse jusqu'à 4pi: Bons livres sur les filtres numériques: Steiglitz (excellente introduction à DSP a des infos sur les filtres en peigne, resons, pincé-chaîne ) Smith (téléchargeable) Winder MitraThe Scientist and Engineers Guide pour le traitement du signal numérique Par Steven W. Smith, Ph. D. Le tableau 3-2 résume les caractéristiques de ces trois filtres, montrant comment chacun optimise un paramètre particulier au détriment de tout le reste. Le Chebyshev optimise le roll-off. Le Butterworth optimise la planéité de la bande passante. Et le Bessel optimise la réponse par pas. La sélection du filtre anti-alias dépend presque entièrement d'un problème: comment l'information est représentée dans les signaux que vous souhaitez traiter. Bien qu'il existe plusieurs façons d'encoder l'information dans une forme d'onde analogique, seules deux méthodes sont communes, le codage du domaine temporel. Et le codage du domaine fréquentiel. La différence entre ces deux est critique dans DSP, et sera un thème récurrent tout au long de ce livre. Dans le codage du domaine fréquentiel. L'information est contenue dans les ondes sinusoïdales qui se combinent pour former le signal. Les signaux audio en sont un excellent exemple. Lorsqu'une personne entend la parole ou la musique, le son perçu dépend des fréquences présentes, et non de la forme particulière de la forme d'onde. Cela peut être montré en passant un signal audio à travers un circuit qui change la phase des sinusoïdes différents, mais conserve leur fréquence et amplitude. Le signal résultant est complètement différent sur un oscilloscope, mais sonne identique. L'information pertinente a été laissée intacte, même si la forme d'onde a été significativement modifiée. Puisque l'aliasing déplace et chevauche les composantes de fréquence, il détruit directement les informations codées dans le domaine de fréquence. Par conséquent, la numérisation de ces signaux implique habituellement un filtre anti-alias avec une coupure aiguë, tel qu'un Chebyshev, Elliptic ou Butterworth. Qu'en est-il la réponse étape méchante de ces filtres Il importe peu l'information codée n'est pas affecté par ce type de distorsion. En revanche, le codage temporel utilise la forme de la forme d'onde pour stocker l'information. Par exemple, les médecins peuvent surveiller l'activité électrique d'un cœur de personnes en attachant des électrodes à leur poitrine et bras (un électrocardiogramme ou un électrocardiogramme). La forme de la forme d'onde EKG fournit l'information recherchée, par exemple lorsque les différentes chambres se contractent pendant un battement cardiaque. Les images sont un autre exemple de ce type de signal. Plutôt qu'une forme d'onde qui varie avec le temps. Les images codent des informations sous la forme d'une forme d'onde qui varie sur la distance. Les images sont formées à partir de régions de luminosité et de couleur, et comment ils se rapportent à d'autres régions de luminosité et de couleur. Vous ne regardez pas la Mona Lisa et dire, My, quelle intéressante collection de sinusoïdes. Voici le problème: Le théorème d'échantillonnage est une analyse de ce qui se passe dans le domaine fréquentiel pendant la numérisation. Ceci le rend idéal pour comprendre la conversion analogique-numérique de signaux ayant leurs informations encodées dans le domaine fréquentiel. Cependant, le théorème d'échantillonnage est peu utile pour comprendre comment les signaux codés dans le domaine temporel doivent être numérisés. Jetons un regard plus près. La figure 3-15 illustre les choix pour numériser un signal codé dans le domaine temporel. La figure (a) est un exemple de signal analogique à numériser. Dans ce cas, l'information que nous voulons saisir est la forme des impulsions rectangulaires. Une courte rafale d'onde sinusoïdale à haute fréquence est également incluse dans cet exemple de signal. Cela représente un bruit à large bande, des interférences et des ordures similaires qui apparaissent toujours sur des signaux analogiques. Les autres figures montrent comment le signal numérisé apparaîtrait avec différentes options de filtre antialias: un filtre Chebyshev, un filtre Bessel et aucun filtre. Il est important de comprendre qu'aucune de ces options ne permettra de reconstruire le signal original à partir des données échantillonnées. Cela est dû au fait que le signal d'origine contient intrinsèquement des composantes de fréquence supérieures à la moitié de la fréquence d'échantillonnage. Comme ces fréquences ne peuvent pas exister dans le signal numérisé, le signal reconstruit ne peut pas les contenir non plus. Ces fréquences élevées résultent de deux sources: (1) le bruit et les interférences, que vous souhaitez éliminer, et (2) les arêtes vives dans la forme d'onde, qui contiennent probablement des informations que vous souhaitez conserver. Le filtre de Chebyshev, montré en (b), attaque le problème en supprimant agressivement toutes les composantes à haute fréquence. Il en résulte un signal analogique filtré qui peut être échantillonné et ensuite reconstruit parfaitement. Cependant, le signal analogique reconstitué est identique au signal filtré. Pas le signal original. Bien que rien ne soit perdu dans l'échantillonnage, la forme d'onde a été fortement déformée par le filtre anti-alias. Comme indiqué en (b), la guérison est pire que la maladie Ne le faites pas Le filtre de Bessel, (c), est conçu pour juste ce problème. Sa sortie ressemble étroitement à la forme d'onde originale, avec seulement un doux arrondi des bords. En ajustant la fréquence de coupure des filtres, la lisibilité des bords peut être échangée pour l'élimination des composantes à haute fréquence dans le signal. L'utilisation de plus de pôles dans le filtre permet un meilleur compromis entre ces deux paramètres. Une règle commune est de fixer la fréquence de coupure à environ un quart de la fréquence d'échantillonnage. Il en résulte environ deux échantillons le long de la partie montante de chaque arête. Notez que le filtre de Bessel et le filtre de Chebyshev ont supprimé l'éclatement du bruit à haute fréquence présent dans le signal original. Le dernier choix est d'utiliser aucun filtre anti-alias du tout, comme indiqué dans (d). Ceci a le fort avantage que la valeur de chaque échantillon est identique à la valeur du signal analogique d'origine. En d'autres termes, il a une netteté de bord parfaite un changement dans le signal original est immédiatement reflété dans les données numériques. L'inconvénient est que l'aliasing peut déformer le signal. Cela prend deux formes différentes. Tout d'abord, les interférences à haute fréquence et le bruit, comme l'exemple d'éclatement sinusoïdal, se transforment en échantillons sans signification, comme indiqué en (d). C'est-à-dire que tout bruit de haute fréquence présent dans le signal analogique apparaîtra comme bruit aliasé dans le signal numérique. Dans un sens plus général, ce n'est pas un problème de l'échantillonnage, mais un problème de l'électronique analogique en amont. Ce n'est pas le but des ADC de réduire le bruit et les interférences, c'est la responsabilité de l'électronique analogique avant que la numérisation ait lieu. Il peut arriver qu'un filtre Bessel soit placé avant le numériseur pour contrôler ce problème. Cependant, cela signifie que le filtre doit être considéré comme faisant partie du traitement analogique, pas quelque chose qui est fait pour le bien du numériseur. La deuxième manifestation de l'aliasing est plus subtile. Lorsqu'un événement se produit dans le signal analogique (tel qu'un bord), le signal numérique en (d) détecte le changement sur l'échantillon suivant. Il n'y a aucune information dans les données numériques pour indiquer ce qui se passe entre les échantillons. Maintenant, comparez sans filtre avec l'aide d'un filtre Bessel pour ce problème. Par exemple, imaginez tracer des lignes droites entre les échantillons en (c). Le temps pendant lequel cette ligne construite franchit la moitié de l'amplitude de l'étape fournit une estimation du sous-échantillon de la présence du front dans le signal analogique. Lorsque aucun filtre n'est utilisé, ces informations de sous-échantillon sont complètement perdues. Vous n'avez pas besoin d'un théorème de fantaisie pour évaluer comment cela affectera votre situation particulière, juste une bonne compréhension de ce que vous prévoyez de faire avec les données une fois qu'il est acquis.
No comments:
Post a Comment