+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    janvier 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : janvier 2012
    Messages : 16
    Points : 0
    Points
    0

    Par défaut filtre passe bas moyenneur

    Bonjour,

    j'ai déjà écrit ce message, mais j'ai un bug qui m'empêche de voir mes messages. Du coup je ne sais pas si il a été écrit ou non.
    J'en ai déjà parlé à un modérateur, je pourrai fournir son nom.

    Bonjour,

    je dois réaliser un filtre moyenneur.
    La formule est:

    y(n) = somme(x(n-k)), la somme allant de 0 au nombre d'échantillon - 1(30-1)

    Le problème, est que je dois tout d'abord échantillonner un signal(sinusoide sin(15x) ou sinusoide bruitée), ce que je ne sais pas faire, puis faire cette boucle, enfin faire l'affichage.

    Je pensais à un truc du genre:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    function y = échantillonnage()
     
    x = -10:0.1:10;
    v = cos(x);
     
    %Échantillonnage
    %Peigne de dirac?
     
    for n=1:30
        for k = 1:30
             y(n) = v(n-k);
        end
    end
     
    plot(x, y) %Erreur de taille je crois
    plot(length(y), y) %Là ??
    Je vous en serez très reconnaissant.

    ps: ce n'est pas un dm, ou un truc dans le genre, mais je dois rédiger un rapport, où il serai bien que j'ai ces figures, avant lundi.


    Merci

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    juin 2003
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2003
    Messages : 726
    Points : 1 074
    Points
    1 074

    Par défaut

    Salut kiten, je pense que tu peux résoudre facilement ton problème avec la fonction filter :
    Le signal:
    Code :
    1
    2
    t = -10:0.1:10;
    v = cos(t);
    Le signal filtré : moyenne glissante sur les 30 derniers points
    Code :
    vFiltre=filter(ones(30,1),30,v);
    Et l'affichage
    Code :
    1
    2
    3
    4
    5
    6
    7
     
    figure;
    plot(t,v,'b');
    hold on; 
    plot(t,vFiltre,'r');
    grid on
    legend('cos(t)','signal filtre');

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •