Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

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 :
    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 :
    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 322
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 4 322
    Points : 6 223
    Points
    6 223

    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 :
    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 322
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 4 322
    Points : 6 223
    Points
    6 223

    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 asma chaouch
    Chercheur en informatique
    Inscrit en
    octobre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Nom : Femme asma chaouch
    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

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
  •