Saturday, 28 January 2017

Moyenne Mobile Rms

En moyenne mobile moyenne normale je recherche une fonctionnalité que je pense est appelée quotmoving averagequot ou quotroot moyenne squarequot (rms) de normalisation, bien que je l'avoue im pas le plus audio-savvy. Ce que id comme est de normaliser la voix à un niveau cohérent et pas seulement au son le plus fort dans l'enregistrement. J'ai trouvé cette personne s'informer sur ce que je crois est la même chose plus tôt, et quelqu'un a suggéré d'utiliser les plugins nyquist: - audacity-forum. dedownloadedgarnyquistnyquist-docnyquist. htm J'ai également trouvé ce script quotfir10.nyquot, que je soupçonne pourrait être ce que je cherche Pour, mais ne peux pas dire à coup sûr: - n2.nabbletext-version-de-fir10.ny-td238442.html quelqu'un sait si cette fonctionnalité existe, ou si les développeurs travaillent sur elle que je pourrais essayer d'aider également, j'ai un Non liée (pipe rêve) question. Je fais du travail sur une station de radio de campus au canada, qui utilisent soundforge pour faire leur montage. Serait-il un point pour moi d'essayer de les convaincre et d'autres stations de radio campus de prendre l'argent qu'ils dépensent sur les licences soundforge et le détourner dans le développement d'audace est-il une infrastructure pour recevoir ce genre d'argent d'une manière responsable et transparente, Est probablement un rêve de pipe, je ne suis pas sûr d'id vraiment être en mesure de convaincre tout le monde, mais je figure sa peine de demander. Merci pour votre temps tout le monde, macho Ouvrir ce message dans la vue filetée Signaler un contenu inapproprié Re: mobile averageroot moyen carré normaliser Macho Philipovich a écrit im cherche une fonctionnalité que je pense est appelé quotmoving averagequot ou quotroot moyenne squarequot (rms) normalisation, Admettre im pas le plus audio-savvy. Ce que id comme est de normaliser la voix à un niveau cohérent et pas seulement au son le plus fort dans l'enregistrement. J'ai trouvé cette personne s'informer sur ce que je crois est la même chose plus tôt, et quelqu'un a suggéré d'utiliser les plugins nyquist: - audacity-forum. dedownloadedgarnyquistnyquist-docnyquist. htm J'ai également trouvé ce script quotfir10.nyquot, que je soupçonne pourrait être ce que je cherche Pour, mais ne peux pas dire à coup sûr: - n2.nabbletext-version-de-fir10.ny-td238442.html quelqu'un sait si cette fonctionnalité existe, ou si les développeurs travaillent sur elle que je pourrais essayer d'aider Pour une réponse définitive sur Nyquist capacités vous devez vous abonner à la liste de Nyquist et y demander: lists. sourceforge. netlistslistinfoaudacity-nyquist mais dans la mesure où ma compréhension très limitée va, la fonction quotnormalizequot Nyquist est normalisation de pointe. Audacity n'effectue pas de normalisation RMS, et nous n'avons pas de plans immédiats pour le mettre en œuvre à moins que quelqu'un nous convaincre que nous avons besoin de cela dans Audacity et fournit un correctif. Vous pouvez cependant obtenir une idée très approximative du niveau RMS de l'audio dans Audacity en utilisant le menu déroulant de piste pour passer à la forme d'onde (dB) et regarder le niveau de la partie bleu clair de la forme d'onde, qui est la puissance RMS . Dans Audacity Beta 1.3.7, vous pouvez effectivement obtenir une mesure du RMS moyen de toute sélection dans Analyze gt Contrast (regardez dans la zone quotVolumequot). RMS normalisation peut finir par donner clipping dans une piste tranquille qui a juste quelques sections beaucoup plus fort que le reste, parce que la moyenne sera très faible et suggèrent une augmentation de volume important est nécessaire. Ainsi, certains normalisateurs RMS ajoutent une limitation, ce qui signifie que vous perdez la plage dynamique. Si votre audio est dans un format qui supporte largement les balises de métadonnées (MP3, OGG, FLAC, mais pas WAV ou AIFF), vous pouvez analyser l'audio avec un logiciel qui va écrire quotReplay Gainquot informations Dans les étiquettes. Rejouer Gain permet à l'utilisateur de définir un quottargetquot volume perçu. Cette cible n'est pas une cible pour une amplification maximale, ni s'applique à la compression, mais est une cible pour un volume de lecture perçue quotoverall. Lorsque vous lisez un fichier contenant des données Rejouer Gain dans un lecteur multimédia qui le prend en charge, le volume de lecture audio est ajusté pour que le volume perçu corresponde à la cible que vous avez spécifiée. Si vous écrivez tous vos fichiers audio avec Replay Gain réglé au même niveau cible, ils sonneront tous sur le même volume sans que vous ayez à jouer avec les commandes de volume pour les faire sonner comme tels. Par exemple, si vous exportez depuis Audacity en tant que MP3, vous pouvez utiliser MP3Gain mp3gain. sourceforge. netfaq. phpstart pour écrire les informations Replay Gain dans le fichier. Le fichier n'est pas recodé, donc aucune qualité supplémentaire n'est perdue au-delà de la compression MP3 d'origine. Une solution possible pour les fichiers WAV est ici (cela ré-encode le fichier): members. home. nlw. speekwavegain. htm gt j'ai une question non liée (pipe rêve). Je fais un peu de travail sur une station de radio campus du gt au canada, qui utilisent soundforge pour faire leur montage. Gt serait-il un point pour moi d'essayer de les convaincre et d'autres stations de radio gt campus de prendre l'argent qu'ils dépensent sur les licences soundforge et gt le détourner dans le développement d'audace est-il aucune infrastructure à gt recevoir ce genre d'argent d'une manière responsable et transparente Vous pourriez certainement faire connaître la station de radio d'Audacity et voir si ils seraient à la recherche de quelque chose de spécifique en échange d'une contribution financière. Et toujours ouvert en principe au parrainage de nouvelles fonctionnalités: audacityteam. orgsponsor. php Dans la pratique, le parrainage que nous avons reçu jusqu'ici a été un petit nombre de commandites de l'entreprise pour les versions personnalisées et personnalisées d'Audacity. De plus, nous sommes tous des bénévoles et il ya la question des individus ayant le temps de prendre sur des projets payés. Si vous ou la station de radio désirez discuter des contributions financières, je vous suggère de vous abonner à notre liste de diffusion des développeurs: lists. sourceforge. netlistslistinfoaudacity-devel et de le soulever là quand vous avez des propositions concrètes ou des questions sur such. Improve vos calculs root-mean Enregistrer dans ma bibliothèque Suivre les commentaires Brian NeunaberFebruary 16, 2006 Les systèmes numériques en temps réel exigent souvent le calcul d'une moyenne de racine, telle que le niveau de carré moyen (RMS) ou l'amplitude moyenne d'un signal complexe. Alors que la moyenne peut être efficacement mis en œuvre par la plupart des microprocesseurs, la racine carrée peut ne pas être - en particulier avec le matériel à faible coût. Si le processeur ne met pas en place une fonction racine carrée rapide, il doit être mis en œuvre dans le logiciel bien que cela donne des résultats précis, il peut ne pas être efficace. Une méthode commune pour calculer la racine carrée est la méthode de Newtons, qui converge itérativement sur une solution en utilisant une estimation initiale. Puisqu'on calculait la racine carrée d'une valeur moyenne lentement variable, la valeur moyenne racine antérieure fait une bonne estimation. De plus, nous pouvons combiner la méthode itérative de Newtons avec un moyen de mesure récursif de premier ordre, ce qui donne une méthode super-efficace pour calculer la moyenne de la racine d'un signal. Dans cet article, Ill développe et présente trois algorithmes récursifs efficaces pour calculer la moyenne racine, illustrant chaque méthode avec des diagrammes de flux de signal et un code d'exemple. Dans une certaine mesure, chacune de ces méthodes trades complexité matérielle pour l'erreur. Ill comparer les performances et les erreurs de calcul de chaque méthode et suggérer le matériel approprié pour chaque implémentation. Moyenne racine La moyenne racine est calculée comme la racine carrée de la moyenne dans le temps de son entrée. Cette moyenne peut être récursive ou non récursive, et Ill examiner brièvement le cas général pour les deux. Moyenne non récursive La moyenne non récursive, ou moyenne mobile. Est la somme pondérée de N entrées: l'entrée courante et N -1 entrées précédentes. Dans la terminologie de filtrage numérique, cela s'appelle une réponse impulsionnelle finie. Ou le filtre FIR: l'utilisation la plus courante de la moyenne mobile établit généralement les poids tels que a n 1 N. Si nous traçons ces poids en fonction du temps, nous verrions la fenêtre du signal d'entrée qui est moyennée à un moment donné. Cette fenêtre N est appelée fenêtre rectangulaire car sa forme est un rectangle N-by-1 N. Il existe une astuce pour calculer la moyenne 1 N de sorte que tous les échantillons N ne doivent pas être pondérés et additionnés avec chaque calcul de sortie. Étant donné que les poids ne changent pas, vous pouvez simplement ajouter l'entrée pondérée la plus récente et soustraire la N e entrée pondérée de la somme précédente: Bien que cette technique soit efficace du point de vue du calcul, elle nécessite un stockage et une gestion circulaire des échantillons N. Bien entendu, de nombreuses autres formes de fenêtre sont couramment utilisées. Typiquement, ces formes de fenêtre ressemblent ou sont une variation d'un cosinus élevé entre 8211pi2 et pi2. Ces fenêtres peser les échantillons dans le centre plus que les échantillons près des bords. D'une manière générale, vous ne devez utiliser une de ces fenêtres que si vous en avez besoin, comme l'application d'un filtre spécifique au signal. L'inconvénient de ces fenêtres est que la complexité de calcul et les besoins de stockage augmentent avec N. Moyenne récursive La moyenne récursive est la somme pondérée de l'entrée, N entrées précédentes et M sorties précédentes: La plus récente en termes de complexité de calcul et de stockage (tout en étant utile) est la moyenne récursive de premier ordre. Dans ce cas, la moyenne est calculée comme la somme pondérée de l'entrée courante et de la sortie précédente. La moyenne récursive du premier ordre se prête également à une optimisation lorsqu'elle est combinée avec le calcul de la racine carrée, ce qui sera discuté brièvement. Contrairement à la moyenne non récursive, la fenêtre des moyennes récursives du premier ordre est une exponentielle décroissante (figure 1). Techniquement, la moyenne récursive a une fenêtre infinie, puisqu'elle ne diminue jamais jusqu'à zéro. Dans la terminologie de filtrage numérique, il s'agit d'une réponse impulsionnelle infinie ou d'un filtre IIR. A partir de la figure 1, nous voyons que les échantillons précédents sont pondérés plus tard que les échantillons postérieurs, ce qui nous permet de définir un peu arbitrairement un temps de moyenne pour la moyenne récursive. Pour le cas du premier ordre, nous définissons le temps de moyennage comme le temps auquel la réponse impulsionnelle s'est dégradée à un facteur de 1 e. Ou environ 37, de sa valeur initiale. Une définition équivalente est le moment auquel la réponse à l'échelon atteint 18211 (1 e), ou approximativement 63, de sa valeur finale. D'autres définitions sont possibles mais ne seront pas traitées ici. La pondération de la somme détermine ce temps de moyenne pour assurer le gain unitaire, la somme des poids doit être égale à un. En conséquence, un seul coefficient doit être spécifié pour décrire le temps de calcul de la moyenne. Par conséquent, pour la moyenne récursive du premier ordre, nous calculons le niveau moyen comme: où x (n) est l'entrée, m (n) est la valeur moyenne, et a le coefficient de la moyenne. Le coefficient de moyenne est défini comme suit: où t est le temps de moyenne et f S est la fréquence d'échantillonnage. La moyenne des racines peut alors être calculée en prenant la racine carrée de l'équation 4: où y (n) est la moyenne des racines. Méthodes de calcul efficaces La racine carrée rapide Google vous procurera une pléthore d'informations et d'extraits de code pour implémenter des algorithmes de racine carrée rapides. Bien que ces méthodes peuvent fonctionner très bien, ils ne tiennent pas compte de l'application dans laquelle la racine carrée est nécessaire. Souvent, vous n'aurez peut-être pas besoin de précision précise pour le dernier bit, ou l'algorithme lui-même peut être manipulé pour optimiser le calcul de la racine carrée. Je présente quelques approches de base ici. Il suffit de calculer quand vous en avez besoin Probablement l'optimisation la plus simple est de calculer seulement la racine carrée quand vous en avez absolument besoin. Bien que cela puisse sembler évident, il peut être facilement négligé lors du calcul de la moyenne de la racine sur chaque échantillon d'entrée. Lorsque vous n'avez pas besoin d'une valeur de sortie pour chaque échantillon d'entrée, il est plus logique de calculer la racine carrée uniquement lorsque vous lisez la valeur de sortie. Un exemple d'application lorsque cette technique peut être utilisée est la mesure RMS d'un signal. Une valeur de compteur qui est affichée visuellement peut seulement nécessiter une mise à jour toutes les 50 à 100ms, ce qui peut être beaucoup moins souvent que le signal d'entrée est échantillonné. Gardez cependant à l'esprit que la moyenne récursive doit toujours être calculée au taux de Nyquist. Logarithmes Rappelons que: Si vous allez calculer le logarithme d'une racine carrée, son coût beaucoup moins coûteux de calculer simplement la moitié du résultat à la place. Un exemple courant de cette optimisation est le calcul d'un niveau RMS en dB, qui peut être simplifié comme suit: Méthode Newtons La méthode Newtons (également appelée Méthode de Newton-Rapson) est une méthode itérative bien connue pour estimer la racine d'une équation. 1 Newtons La méthode peut être très efficace lorsque vous avez une estimation raisonnable du résultat. De plus, si la précision du dernier bit n'est pas nécessaire, le nombre d'itérations peut être fixé pour maintenir l'algorithme déterministe. Nous pouvons approximer la racine de f (x) en calculant itérativement: (9) Si nous voulons trouver, alors nous devons trouver la racine de l'équation f (y) y 2 - m. En remplaçant f (y) par l'équation (9), on obtient: Réarrangeant l'équation 9, on obtient: où y (n) est l'approximation de la racine carrée de m (n). L'équation 11 nécessite une opération de division, ce qui peut être gênant pour certains processeurs. Comme alternative, nous pouvons calculer et multiplier le résultat par m pour obtenir. En utilisant la méthode de Newtons, nous trouvons que nous pouvons itérativement calculer la racine carrée réciproque comme: et calculer la racine carrée comme: Bien que la méthode de Newtons pour la racine carrée réciproque élimine l'opération de division, il peut être problématique pour les processeurs à point fixe. En supposant que m (n) est un entier positif supérieur à 1, yr (n) sera un nombre positif inférieur à un - au-delà de la plage de représentation pour les nombres entiers. La mise en œuvre doit être effectuée en utilisant une représentation de nombres entiers fractionnels à virgule flottante ou mixte. Méthode radicale utilisant la méthode des Newtons Une différence subtile entre les équations 10 et 11 est que m devient m (n), c'est-à-dire essayant de trouver la racine carrée d'une cible mobile. Cependant, puisque m (n) est une valeur moyenne, ou lentement variable, elle peut être considérée comme presque constante entre les itérations. Puisque y (n) va également varier lentement, y (n -1) sera une bonne approximation de y (n) et exigera moins d'itérations - une, nous l'espérons - pour obtenir une bonne estimation. Pour calculer la moyenne de la racine, on peut simplement appliquer la méthode de Newtons pour calculer la racine carrée à la valeur moyenne. Tant que le temps de moyenne est long par rapport à la période d'échantillonnage (t 6262 1 f S), une itération du calcul de racine carrée devrait suffire pour une précision raisonnable. Cela semble assez simple, mais nous pouvons effectivement améliorer l'efficacité de calcul, qui sera discuté dans l'une des sections suivantes. Utilisation de la racine carrée réciproque Contrairement à la méthode de racine carrée itérative, cependant, la racine carrée réciproque itérative ne nécessite aucune division. Cette implémentation est mieux adaptée pour le traitement en virgule flottante, qui peut gérer efficacement les nombres à la fois plus grand et moins d'un. Nous présentons cette implémentation comme un diagramme de flux de signaux dans la figure 2. Le coefficient de moyenne, a. Est défini par l'équation 5, et z 82111 représente un retard d'échantillon unitaire. Une liste de code pour une classe C qui implémente le calcul de la figure 2 est présentée dans la liste 1. Dans cette classe d'exemple, l'initialisation est effectuée dans le constructeur de classe et chaque appel à CalcRootMean () effectue une itération de calcul de moyenne et de racine carrée . Liste 1. Classe C qui calcule la moyenne de la racine en utilisant la méthode Newtons pour la racine carrée réciproque Utilisant la racine carrée directe Lets revenir en arrière et regarder de plus près l'équation 11. La méthode de Newtons converge sur la solution le plus rapidement possible sans osciller autour d'elle, Mais si on ralentit ce taux de convergence, l'équation itérative converge sur la racine carrée de la moyenne de ses entrées. L'addition du coefficient de moyenne donne l'équation suivante: où a est défini par l'équation 5. Maintenant, y (n) converge vers la racine carrée de la moyenne de x (n). Une représentation de flux de signal équivalente de l'équation 14 est présentée à la figure 3. Ici, un terme y (n 82111) supplémentaire est additionné de sorte qu'un seul coefficient de moyennage est requis. Noter que x (n) et y (n 82111) doivent être supérieurs à zéro. Une liste de code pour une classe C qui implémente le calcul illustré à la figure 3 est présentée dans la liste 2. Comme dans l'exemple précédent, l'initialisation est effectuée dans le constructeur de classe et chaque appel à CalcRootMean () effectue une itération de calcul moyenne-racine-racine . Liste 2. Classe C qui implémente la version à virgule flottante de la figure 3 Avec un peu de soin, la figure 3 peut également être implémentée en arithmétique à point fixe comme illustré dans la liste 3. Dans cet exemple, la mise à l'échelle est implémentée pour garantir des résultats valides. Lorsque la taille du mot est suffisante, x est mis à l'échelle par nAvgCoeff avant la division pour maximiser la précision du résultat. Liste 3. Classe C qui implémente la version à point fixe de la Figure 3 RMS sans division utilisant la normalisation Maintenant, regardez bien le cas particulier de calcul d'une valeur RMS sur le matériel à point fixe qui n'a pas une opération de division rapide, qui est typique Pour les processeurs embarqués à faible coût. Bien que beaucoup de ces processeurs puissent effectuer une division, ils le font un bit à la fois, nécessitant au moins un cycle pour chaque bit de longueur de mot. En outre, il faut veiller à ce que le calcul RMS soit mis en œuvre avec une précision numérique suffisante. Avec le matériel à point fixe, le carré d'une valeur nécessite deux fois le nombre de bits pour conserver la précision des données d'origine. Dans cet esprit, nous manipulons l'équation 14 comme suit: Bien que l'expression x (n) 2 8211 y (n 82111) 2 doit être calculée avec une double précision, cette mise en œuvre se prête à une optimisation significative. Notez que a 2 y (n 82111) agit comme un coefficient de moyenne dépendant du niveau. Si l'on peut tolérer une légère déviation du temps de calcul en fonction du temps - ce qui est souvent le cas - 1 y (n 82111) peut être grossièrement calculée. Sur un processeur à virgule flottante, le décalage du coefficient de moyenne vers la gauche par le négatif de l'exposant se rapproche de l'opération de division. Ce processus est communément appelé normalisation. Certains DSP à point fixe peuvent effectuer la normalisation en comptant les bits de tête de l'accumulateur et en décalant l'accumulateur par ce nombre de bits. 2 Dans les deux cas, le coefficient de moyenne est tronqué à la puissance de deux la plus proche, de sorte que le coefficient doit être multiplié par 32 pour arrondir le résultat. Cette implémentation est représentée dans l'équation 16. La figure 4 est le diagramme de flux de signaux qui représente l'équation 16. Tout comme dans la figure 3, x (n) et y (n 82111) doivent être supérieurs à zéro. Un exemple de liste de code qui implémente la Figure 4 est montré dans la Liste 4. Cette implémentation en langage assembleur est pour le processeur à virgule fixe DSP563xx de Freescale (anciennement Motorola). Listing 4. Freescale DSP563xx mise en œuvre d'assemblage de RMS sans diviser en utilisant la normalisation Bien sûr, cette méthode peut être mise en œuvre même sans normalisation rapide. Vous pouvez implémenter une boucle pour décaler x (n) 2 8211 y (n 82111) 2 vers la gauche pour chaque bit de tête dans y (n 82111). Ce sera plus lent, mais peut être mis en œuvre avec même le plus simple des processeurs. Ordre supérieur La moyenne récursive d'ordre supérieur peut être obtenue en insérant des filtres de moyenne supplémentaires avant la racine carrée itérative. Ces filtres peuvent être simplement une ou plusieurs sections récursives de premier ordre en cascade. Les sections de premier ordre ont l'avantage de ne produire aucun dépassement dans la réponse à l'échelon. En outre, il n'y a qu'un seul coefficient d'ajustement et les effets de quantification (principalement ceux de la mise en place de points fixes) sont bien inférieurs à ceux des filtres d'ordre supérieur. L'implémenteur doit savoir que les sections en cascade de premier ordre changent la définition du temps de moyennage. Une approximation simple mais grossière qui maintient la définition antérieure de la réponse à l'échelon consiste simplement à diviser le temps de moyenne de chaque section de premier ordre par le nombre total de sections. Toutefois, il incombe aux responsables de la mise en œuvre de vérifier que cette approximation convient à l'application. Des sections de second ordre peuvent également être utilisées, si vous voulez (par exemple) une réponse de filtre Bessel-Thomson. Si l'on utilise des sections de second ordre, il est préférable de choisir une réponse composite d'ordre impair puisque le filtre de la racine carrée moyenne se rapproche du filtre final de premier ordre avec Q 0,5. Il faut prendre soin de minimiser le dépassement de ce filtre de moyenne. L'ajustement en temps réel du temps de calcul de la moyenne de ce filtre s'avère plus difficile car il existe un certain nombre de coefficients qui doivent être ajustés à l'unisson pour assurer la stabilité. Résultats Trois méthodes de calcul du niveau RMS sont comparées à la figure 5. Le temps moyen est fixé à 100 ms et l'entrée est une seconde de 1 f de bruit avec une fréquence d'échantillonnage de 48 kHz. La première trace est la valeur RMS vraie calculée à l'aide de l'équation 6. La deuxième trace est le calcul RMS utilisant l'équation 14. La troisième trace est le calcul sans division de l'équation 16. La quatrième trace est la valeur RMS utilisant la racine carrée réciproque De l'équation 13. Pour la plupart, les quatre traces s'alignent bien. Les quatre approximations semblent converger au même rythme que la valeur RMS vraie. Comme prévu, l'écart le plus important par rapport à la valeur RMS vraie est l'approximation de l'équation 16. Cette approximation aura la plus grande erreur lors de grands changements dans le niveau du signal d'entrée, bien que cette erreur soit temporaire: l'approximation optimisée converge vers le vrai RMS lorsque le niveau du signal d'entrée est constant. Les erreurs entre les trois approximations et la valeur RMS vraie sont représentées sur la figure 6. L'erreur de l'approximation RMS utilisant l'équation 14 diminue lentement jusqu'à ce qu'elle soit inférieure à 1E82117, ce qui est suffisant pour une précision de 24 bits. L'approximation optimisée de l'équation 16 est sensiblement plus mauvaise, à environ 1E82114, mais elle est encore assez bonne pour de nombreuses applications. L'approximation qui utilise la racine carrée réciproque est dans le bruit - moins de 1E82119. Pour les applications à virgule flottante très critiques, c'est la méthode de choix la plus efficace. Comme on peut s'y attendre, les erreurs discutées ci-dessus seront pires avec des temps de calculs plus courts et mieux avec des temps de calculs plus longs. Le tableau 1 résume l'erreur approximative par rapport au temps de moyenne de ces trois méthodes, ainsi que les exigences d'architecture matérielle appropriées. Approprié pour le lecteur moyen En combinant la moyenne récursive avec la méthode de Newtons pour calculer la racine carrée, vous gagnerez une méthode très efficace pour calculer la moyenne de racine. Bien que les trois méthodes que j'ai présentées ici sont développés pour le matériel différent et chacun, dans une certaine mesure, les échanges hors des capacités matérielles pour l'erreur, la plupart d'entre vous devrait trouver une de ces méthodes adaptées à votre application. Brian Neunaber est actuellement architecte de systèmes numériques de logiciels et de micrologiciels chez QSC Audio Products. Il a conçu des algorithmes et des systèmes audio numériques en temps réel pour QSC et St. Louis Music et possède un MSEE de Southern Illinois University. Vous pouvez le contacter à brianneunaberqscaudio. Notes en fin de texte: 1. D. G. Zill. Calculus avec Analytic Geometry, 2ème éd. . PWS-Kent, Boston, pages 170-176, 1988. 2. Motorola. DSP56300 Family Manual, Rev. 3, Motorola Literature Distribution, Denver, 2000. En 1996, un article de la revue Dr Dobbs présentait un algorithme de racine carrée qui n'utilise que des décalages et ajoute - pas de multiplication et certainement aucune division. Il peut être trouvé ici: ddjdocumentss962ddj9604l (nécessite un enregistrement). Ive été en utilisant ce dans chaque emploi et chaque projet depuis - c'est de loin la plus rapide racine carrée entier autour, et je suis étonné que son encore si peu connu. Je ne suis pas sûr d'être d'accord avec cela, et je crois qu'ils sont des processus très différents. Essayez-le - vous ne regarderez jamais en arrière - Paul Hills LandisGyr Ltd Royaume-Uni Est-ce que quelqu'un a un aperçu sur lissage vs RMS? Si je comprends bien, si la littérature les entremêle dans la même entité, ils sont incorrects. Je vois RMS comme le processus pour atteindre une seule valeur scalaire représentant l'amplitude du signal. Je n'ai jamais vu cela utilisé pour lisser les signaux EMG. De plus, pour une interprétation appropriée, ceci doit être effectué sur un signal de moyenne nulle. Sur un signal de moyenne nulle, la valeur RMS est essentiellement l'écart-type du signal. Le lissage est un processus complètement différent, et est un moyen de manipuler le signal entier. La sortie est un nouveau signal lissé (c'est-à-dire un tableau de valeurs, pas une seule valeur comme RMS). Il existe de nombreuses façons de lisser un signal, comme une moyenne mobile (enveloppe linéaire) ou des fonctions de fenêtrage telles que Hamming. Ceci n'est pas effectué sur un signal de moyenne nulle, car le résultat serait un signal nul. La première étape consiste à rectifier le signal pour que toutes les valeurs soient positives (c'est-à-dire que le signal ait une moyenne positive). Ensuite, la moyenne mobile lisse le signal pour supprimer les pointes non désirées et la variance. RMS peut (et a) été utilisé pour traiter EMG de la même manière que l'application d'une enveloppe linéaire. En quadrant le signal brut, vous le transformez effectivement en un signal de moyenne nulle. Ensuite, la moyenne (et la racine carrée) sont appliquées à l'aide d'une fenêtre temporelle mobile, dont la longueur peut être définie par l'utilisateur. La longueur choisie de la fenêtre (c'est-à-dire la constante de temps) aura un impact sur la façon dont quotsmoothedquot le signal devient. La constante de temps sélectionnée aura également une incidence sur la variation du signal (similaire au déphasage induit par l'application d'une enveloppe linéaire à simple passage).


No comments:

Post a Comment