p
u
b
l
i
c
i
t
é
publicité

Discussion: Convolution signaux

  1. #1
    Invité de passage
    Inscrit en
    avril 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 16
    Points : 0
    Points
    0

    Par défaut Convolution signaux

    Bonjour,

    Je voudrais convoluer 2 signaux.

    Le 1 èr signal est un cosinus sur-élevé simulé à l'aide de "rcosfir" qui passe dans une boucle pour avoir plusieurs signaux a différentes fréquences.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    beta = 25;
    long_filtre = 20;
    longeur = 2*long_filtre*beta+1;
    roloff = 0.5;
    tb =1/debit;
    debit = 1000;
    n=4;
     
    filtre_base = rcosfir(roloff,long_filtre,beta,tb,'sqrt');
    filtre_donnee = zeros(longeur,n);
     
     
     
    for m = 1:n
       wn = 4*pi*(m-1)*debit; 
        filtre_donnee(:,m) = filtre_base.*cos(wn*filtre_temps);
    end
    Le 2ème signal est une suite binaire de 10 bits sur échantillonné pour avoir la même fréquence que le 1er qui passe aussi dans une boucle afin d'avoir le même nombre de signaux que la boucle du premier".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    mbits_0 =10;
    mbits =6;
    n=4;
     
    donnee = zeros(mbits_0,n);
    for a = 1:k
        donnee(:,a)=[1; 0; 1; 1; round(rand(mbits,1))] ;
     end
    codage = ((donnee*2)-1);
    signal_echantillon = upsample(codage,beta);
    Le problème est que la taille des 2 signaux que je voudrais convoluer ne correspondent pas, il y a un échantillon de trop ou en moin.

    sauriez-vous m'aider pour convoluer les signaux signal_echantilon et filtre_donnee ?

    Merci d'avance

  2. #2
    Modérateur

    Inscrit en
    août 2007
    Messages
    4 574
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 4 574
    Points : 6 505
    Points
    6 505

    Par défaut

    Bonjour,
    Citation Envoyé par Maximus7898520 Voir le message
    Le problème est que la taille des 2 signaux que je voudrais convoluer ne correspondent pas, il y a un échantillon de trop ou en moin.
    en trop ou en moins pour quoi? A priori les signaux n'ont pas besoin d'être de la même longueur pour être convolué.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Invité de passage
    Inscrit en
    avril 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 16
    Points : 0
    Points
    0

    Par défaut Convolution signaux-matlab -erreur

    Le problème, quand j'effectue la fonction conv(filtre_donnee,signal_echantillon);

    l'erreur suivante apparait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? Error using ==> conv at 27
    A and B must be vectors.
    
    Error in ==> emetteur0 at 71
        hj=conv(signal_echantillon,filtre_donnee);

  4. #4
    Modérateur

    Inscrit en
    août 2007
    Messages
    4 574
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 4 574
    Points : 6 505
    Points
    6 505

    Par défaut

    tu l'as écrit toi-même dans ton premier message : filtre_donnee est un tableau contenant plusieurs signaux, donc tu dois convoluer chaque signal séparément.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Invité de passage
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    octobre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : octobre 2012
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Convn

    Tu peux en effet utiliser la commande convn au lieu de conv .. ça va marcher

Discussions similaires

  1. convolution de signaux
    Par cpalperou dans le forum Signal
    Réponses: 9
    Dernier message: 22/01/2015, 15h09
  2. Convolution de signaux
    Par chineserubbers dans le forum Signal
    Réponses: 2
    Dernier message: 10/05/2008, 23h41
  3. Masque de convolution
    Par el toro diablo dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 09/05/2007, 15h06
  4. [Amstrad] Signaux à gérer port E/S pour lire ROM
    Par Masterglob dans le forum Autres architectures
    Réponses: 7
    Dernier message: 12/01/2005, 12h03
  5. convolution et altivec
    Par ronan99999 dans le forum Général Algorithmique
    Réponses: 4
    Dernier message: 31/07/2003, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo