Saturday, February 18, 2017

Déplacement D'Un Matlab Moyen À L'Aide D'Un Filtre

Créé le Mercredi 08 Octobre 2008 20:04 Dernière mise à jour le Jeudi, 14 Mars 2013 01:29 Écrit par Batuhan Osmanoglu Clics: 41041 Moyenne mobile Dans Matlab Souvent je me trouve dans le besoin de la moyenne des données que je dois réduire le bruit un peu bit. J'ai écrit quelques fonctions pour faire exactement ce que je veux, mais matlabs construit dans la fonction de filtre fonctionne très bien aussi. Ici Ill écrire sur la moyenne 1D et 2D des données. Filtre 1D peut être réalisé en utilisant la fonction filtre. La fonction de filtre nécessite au moins trois paramètres d'entrée: le coefficient de numérateur pour le filtre (b), le coefficient de dénominateur pour le filtre (a) et les données (X) bien sûr. Un filtre de moyenne courante peut être défini simplement par: Pour les données 2D, nous pouvons utiliser la fonction Matlabs filter2. Pour plus d'informations sur la façon dont le filtre fonctionne, vous pouvez taper: Voici une mise en œuvre rapide et délibérée d'un filtre de moyenne mobile 16 par 16. Nous devons d'abord définir le filtre. Puisque tout ce que nous voulons est la contribution égale de tous les voisins, nous pouvons simplement utiliser la fonction ones. Nous divisons tout avec 256 (1616) puisque nous ne voulons pas changer le niveau général (amplitude) du signal. Pour appliquer le filtre, nous pouvons simplement dire ce qui suit: Voici les résultats pour la phase d'un interférogramme SAR. Dans ce cas, Range est dans l'axe Y et Azimuth est mappé sur l'axe X. Le filtre a une largeur de 4 pixels dans la plage et 16 pixels de large dans l'azimut. Filtre moyen de déplacement (filtre MA) Chargement. Le filtre de moyenne mobile est un simple filtre passe-bas FIR (Finite Impulse Response) couramment utilisé pour lisser un tableau de signaux de données échantillonnés. Il prend M échantillons d'entrée à la fois et prendre la moyenne de ces M-échantillons et produit un seul point de sortie. Il s'agit d'une structure LPF (filtre passe-bas) très simple qui est pratique pour les scientifiques et les ingénieurs de filtrer les composantes bruyantes indésirables des données prévues. Lorsque la longueur du filtre augmente (le paramètre M), la lisibilité de la sortie augmente, alors que les transitions brusques dans les données sont de plus en plus émoussées. Cela implique que ce filtre présente une excellente réponse au domaine temporel mais une mauvaise réponse en fréquence. Le filtre MA effectue trois fonctions importantes: 1) Il prend M points d'entrée, calcule la moyenne de ces points M et produit un seul point de sortie 2) En raison des calculs de calcul impliqués. Le filtre introduit une quantité définie de retard 3) Le filtre agit comme un filtre passe-bas (avec mauvaise réponse domaine fréquentiel et une bonne réponse domaine temporel). Matlab Code: Le code matlab simule la réponse du domaine temporel d'un filtre M-point Moyenne mobile et trace également la réponse en fréquence pour différentes longueurs de filtre. Réponse du domaine temporel: Sur le premier tracé, nous avons l'entrée qui entre dans le filtre de la moyenne mobile. L'entrée est bruyante et notre objectif est de réduire le bruit. La figure suivante représente la réponse en sortie d'un filtre de moyenne mobile à 3 points. On peut déduire de la figure que le filtre 3-point Moyenne mobile n'a pas beaucoup fait pour filtrer le bruit. Nous augmentons les prises de filtre à 51 points et nous pouvons voir que le bruit dans la sortie a beaucoup réduit, ce qui est représenté dans la figure suivante. Nous augmentons les prises plus loin à 101 et 501 et nous pouvons observer que même si le bruit est presque nul, les transitions sont émoussées drastiquement (observer la pente de chaque côté du signal et les comparer avec la transition idéale de mur de brique dans Notre contribution). Réponse en fréquence: à partir de la réponse en fréquence, on peut affirmer que le roll-off est très lent et que l'atténuation de bande d'arrêt n'est pas bonne. Compte tenu de cette atténuation de bande d'arrêt, clairement, le filtre de moyenne mobile ne peut pas séparer une bande de fréquences d'une autre. Comme nous savons qu'une bonne performance dans le domaine du temps donne lieu à de mauvaises performances dans le domaine de la fréquence, et vice versa. En bref, la moyenne mobile est un filtre de lissage exceptionnellement bon (l'action dans le domaine temporel), mais un filtre passe-bas exceptionnellement mauvais (l'action dans le domaine fréquentiel) Liens externes: Livres recommandés: Sidebar primaire En utilisant MATLAB, comment puis-je Trouver la moyenne mobile de 3 jours d'une colonne spécifique d'une matrice et d'ajouter la moyenne mobile à cette matrice J'essaie de calculer la moyenne mobile de 3 jours de bas en haut de la matrice. J'ai fourni mon code: Étant donné la matrice a et le masque suivants: J'ai essayé d'implémenter la commande conv mais je reçois une erreur. Voici la commande conv que j'ai essayé d'utiliser sur la 2ème colonne de la matrice a: La sortie que je désire est donnée dans la matrice suivante: Si vous avez des suggestions, je l'apprécierais beaucoup. Merci Pour la colonne 2 de la matrice a, je calcule la moyenne mobile de 3 jours comme suit et en plaçant le résultat dans la colonne 4 de la matrice a (I a renommé la matrice a comme 39desiredOutput39 pour l'illustration). La moyenne de 3 jours de 17, 14, 11 est 14 la moyenne de 3 jours de 14, 11, 8 est 11 la moyenne de 3 jours de 11, 8, 5 est 8 et la moyenne de 3 jours de 8, 5, 2 est 5. Il n'y a aucune valeur dans les 2 lignes inférieures pour la 4ème colonne parce que le calcul pour la moyenne mobile de 3 jours commence au bas. La sortie 39valid39 ne sera pas montrée jusqu'à au moins 17, 14 et 11. J'espère que cela fait sens ndash Aaron Jun 12 13 at 1:28 En général, il serait utile si vous voulez montrer l'erreur. Dans ce cas vous faites deux choses fausses: D'abord votre convolution doit être divisée par trois (ou la longueur de la moyenne mobile) Deuxièmement, notez la taille de c. Vous ne pouvez pas simplement mettre c dans a. La façon typique d'obtenir une moyenne mobile serait d'utiliser les mêmes: mais cela ne ressemble pas à ce que vous voulez. Au lieu de cela vous êtes forcé d'utiliser un couple de lignes:


No comments:

Post a Comment