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 :

Modulateur/ Démodulateur BPSK


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut Modulateur/ Démodulateur BPSK
    Bonjour,
    Je souhaite réaliser la modulation/démodulation d'un signal en BPSK.
    J'en suis à la modulation pour le moment, et j'ai écrit :
    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
    19
    20
    21
    clear all;
    close all;
     
    %Data brutes UL
    X = floor((rand(1,1000)+0.5));  
     
    %Codage & Modulation BPSK
    alpha = zeros(1,length(X));  
    for k=1:length(X)
        if X(k) == 0
            alpha(k) = 1;
        elseif  X(k) == 1
            alpha(k) = -1;
        end
    end
    phi = (pi/2).*alpha;
    %Signal temporel modulé
    fe=125*10^6;
    t = linspace(0,12,length(phi));
     
    s = exp(i.*(2*pi*fe.*t + phi));
    Mais quand je plotte s, le résultat n'est pas fou... Est-ce que vous voyez ce qui pourrait ne pas aller ?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour d0n32,

    Ton problème vient de la génération de ton signal à moduler, et plus particulièrement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t = linspace(0,12,length(phi));
    Je présume que fe est ta fréquence d'échantillonnage, donc fait plutôt comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t = linspace(0,12,length(phi))/fe;

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut
    Merci !
    Le résultat obtenu n'est-il pas étrange ? La théorie prévoyait des sinusoides qui changeaient de signe pour un valeur de bit différente..

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour d0n32,

    La théorie prévoyait des sinusoides qui changeaient de signe pour un valeur de bit différente
    Oui c'est le cas, mais tu as peut-être du mal à le voir car ton signal modulateur change practiquement chaque valeur.
    Mais par exemple tu peux parfaitement le visualiser en fixant alpha comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alpha = [ones(1,floor(length(X)/2)) -ones(1,ceil(length(X)/2))];

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut
    Merci beaucoup

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut
    Re moi,Je n'arrive pas à comprendre pourquoi le code suivant me retourne comme résultat Y2= (0 0 0 0 ... 0) au lieu de ce que je souhaite, à savoir les coordonnées de Y répétées chacune un certain nombre de fois :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    fe=125*10^6;    
    fi=70*10^6;
    br=10*10^6;   
     t_simu = 1*10^-3;
     
    X = floor((rand(1,100)+0.5));
    Y = pskmod(X,2);
     
     
    phase = zeros(1,t_simu*fe);
     
     
    increment = floor((2^48)*br/fe+0.5);
     
     
     
    Y2 = zeros(1,t_simu*fe);
    k=1;
    i=1;
     
     
    while k<=length(Y)
        for j=1:length(phase)-1
            phase(j+1)=mod(phase(j)+increment,2^48);
     
            if phase(j+1)<=phase(j)
                if k<=length(Y)
                    enable=1;
                    Y2(i)=Y(k);
                    k=k+1;
                end
            else
                if k<=length(Y)
                    enable=0;
                    Y2(i)=Y(k);
                end
            end
            if i<length(Y2)
                i=i+1;
            end
        end
    end
    Y2
    Je vous remercie, une fois encore

Discussions similaires

  1. [Débutant] Modulation BPSK
    Par Lord Bouillon dans le forum Octave
    Réponses: 0
    Dernier message: 08/05/2015, 19h35
  2. la modulation-demodlation bpsk , traitement de signal
    Par soufianesoufiane dans le forum Simulink
    Réponses: 0
    Dernier message: 05/03/2015, 03h32
  3. [Débutant] gain de codage modulation BPSK
    Par hamzawhy dans le forum Signal
    Réponses: 0
    Dernier message: 01/01/2015, 06h50
  4. code matlab pour la démodulation BPSK
    Par imen59 dans le forum Signal
    Réponses: 2
    Dernier message: 08/10/2010, 18h53
  5. Réponses: 3
    Dernier message: 25/03/2008, 19h42

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