IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

Convolution signaux


Sujet :

Signal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Points : 13
    Points
    13
    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

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Points : 13
    Points
    13
    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

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    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
    Nouveau Candidat au Club
    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 Algorithmes et structures de données
    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