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

MATLAB Discussion :

chaine communication avec bruit blanc additive gaussienne


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut chaine communication avec bruit blanc additive gaussienne
    Bonjour;
    j'ai un problème :comment récupérer à la réception mon signal émis en cas d'ajout de bruit blanc additive gaussienne(BBAG) dans la partie canal .
    En effet je travaille au début sans BBAG et j'arrive à récupéré mon message émis avec un ber très faible,mais après l'ajout de BBAG je trouve pas la solution qui me permet la bonne récupération.
    Merci de me donner un exemple de code avec BBAG ou de donner une solution car c'est très très urgents.
    cordialement.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    Citation Envoyé par mohamed_Tunisia Voir le message
    après l'ajout de BBAG je trouve pas la solution qui me permet la bonne récupération.
    Et quelles sont les solutions que tu as d'ores et déjà testées?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    merci pour votre intérêt
    voilà le code de "main_channel" qui contient le code BBAG et "main_recepteur"" qui contient les solution utilisées,je veux à la fin le signal "Bits" sera presque la même que le signal émis "mat_emis".
    la programme principale est "main_recepteur"
    merci de me répondre rapidement si possible.
    je veux vous envoyer toute la dossier de code mais je peux pas le télécharger.
    Fichiers attachés Fichiers attachés

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Tu peux la poster directement sur ce forum en utilisant les balises [CODE] (le # en haut du panneau d'affichage lors de l'écriture d'un message)
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    merci pour votre intérêt
    voilà le code de "main_channel" qui contient le code BBAG et "main_recepteur"" qui contient les solution utilisées,je veux à la fin le signal "Bits" sera presque la même que le signal émis "mat_emis".
    la programme principale est "main_recepteur"
    merci de me répondre rapidement si possible.
    je veux vous envoyer toute la dossier de code mais je peux pas le télécharger.

    c dessus le code de main_recepteur:
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    function [mat_emis,nb_users,D,THCod,delta]=main_recepteur()
    fc = 50e9;
    [nb_bit,mat_emis,nb_users,D,THCod,delta]=emetteur_multi_trajet_802_15_4a_asy();
     
    template = test_template(nb_users,D,THCod);    
    [output_sig]=main_channel();
    for k=1:nb_users  
       figure(k)
       plot(template(k,:));
       title('template')    
    end
    figure()   
     plot(mat_emis(1,:));grid on;
     %hold on 
     %plot(mat_emis(2,:),'r');
     title('sig emis');
     figure()   
     plot(output_sig(1,:));grid on;
     %hold on 
     %plot(mat_emis(2,:),'r');
     title('sig emis bruité ');
     
    for j=1:nb_users
        s=mat_emis(j,:);
        tmp=template(j,:);
    for k=1:length(s)   
    C(:,k)=sum(s(k).*tmp);
    end
    figure();
    plot(C,'r');
    title('C');
    C1(j,:)=C;
    end
    C1;
     
    for j=1:nb_users
       figure();
    subplot(2,1,1);
    plot(mat_emis(j,:));grid on;
    title('mat_emis THCod=[1 0 2 1;0 1 3 2]et D=[1 0;0 1]');
    subplot(2,1,2);
    plot(C1(j,:));grid on;
    title('correlation')
    end
     
    %%%%%%%%%%%ber%%%%%%%%%%%%%%
     
    for j=1:nb_users
        figure();
        msg=output_sig(j,:);
         msg_emis=mat_emis(j,:);
        C2=C1(j,:);
    for k=1:length(C2)   
    Bits=[msg,C2(k)>=0];
    end
     
    subplot(2,1,1);
    plot(Bits);grid on;
    title('bits THCod=[1 0 2 1;0 1 3 2]et D=[1 0;0 1]');
    subplot(2,1,2);
    plot(mat_emis);grid on;
    title('mat_emis THCod=[1 0 2 1;0 1 3 2]et D=[1 0;0 1]');
    Bits(j,:)=Bits;
    end
    Bits;
    buffer=Bits;
    siz_Bits=size(Bits);
    siz_Corr=size(C1);
    siz_buffer=size(buffer);
    %%%%%%%%%%%%%%%%%%%%%%ù
    fid = fopen('size_vector.txt','w');
    %écrit dans ce fichier, fid est sa reference pour matlab
    fprintf(fid,'%s\n','size(Bits);');
    fprintf(fid,'%i\t %i\t %i\n',siz_Bits);
    fprintf(fid,'%s\n','size(buffer)  ');
    fprintf(fid,'%i\t %i\t %i\n',siz_buffer);
    fprintf(fid,'%s\n','siz_Corr  ');
    fprintf(fid,'%i\t %i\t %i\n',siz_Corr);
    %n'oublie pas de fermer le fichier sinon tu ,ne peux pas le lire
    fclose(fid);
     
    ber=0;
    for j=1:length(10)
        bit=Bits(1,:);
        msg=mat_emis(1,:);
        if(msg(j)~=bit(j))
            ber=ber+1;
        end
    end
    ber=ber/length(Bits)
    % ber=0;
    % for j=1:length(mat_emis)
    %     bit=Bits(1,:);
    %     msg=mat_emis(1,:);
    %     if(msg(j)~=bit(j))
    %         ber=ber+1;
    %     end
    % end
    % ber=ber/length(Bits)
    %%%%%%%%%%%%%%plot de ber%%%%%%%%
    plot_BER_variation=[1.249219e-001 1.249609e-001 1.249777e-001 1.249826e-001 1.249880e-001 1.249896e-001 1.249913e-001];
    figure()
    plot(plot_BER_variation)
    title('plot_BER_variation');
    plot_BER_variation_user=[1.249479e-001 1.249609e-001 1.249740e-001 1.249740e-001 1.249740e-001 1.249740e-001 1.249826e-001 1.249870e-001 1.249888e-001];
    figure()
    plot(plot_BER_variation_user)
    title('plot_BER_variation_user');
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    fid = fopen('calcul_BER.txt','w');
    %écrit dans ce fichier, fid est sa reference pour matlab
    fprintf(fid,'%s\n','vecteur BER');
    fprintf(fid,'%i\t %i\t %i\n',ber);
    %n'oublie pas de fermer le fichier sinon tu ,ne peux pas le lire
    fclose(fid);
    Fichiers attachés Fichiers attachés

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut moyenne d'un vecteur
    Bonjour j'ai un vecteur par exemple y=[2 3 2 1 4 3 2 1 0] je veux arriver à un resultat comme ça y=[2.5 2.25 2.125 1.5625 ...] de telle sorte y soit décroissante mais non pas par tri mais avec la moyenne des valeurs exemple
    [val1=(val1+val2)/2 val2=(val1+val2+val3)/3 val3=(val1+val2+val3+val4)/4 ....] j'ai essayer par cette méthode mais pas efficace toujours.
    merci de m'aider c'est très urgent .

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Et qu'est-ce que tu fais dans ce tableau lorsque tu arrives aux dernières valeurs?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  8. #8
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    bon j'ai un vecteur dans l’état et le résultat final ça sera dans un vecteur de même longueur que celui de l'initial.
    voilà mon essaie mais ce n'est pas la solution efficace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    v=[2 3 2 1 4 3 2 1 0];
    w=[(v(1)+v(2))/2];
    ll=length(v);
    for n=2:ll-1
        v2=abs(w(n-1)+v(n+1))/2;
        w=[w v2];
     
    end
    %ber
    w
    figure();
    plot(v);grid on;hold on 
    plot(w,'r')
    title('test_moy_ber');

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    bon j'ai un vecteur dans l’état et le résultat final ça sera dans un vecteur de même longueur que celui de l'initial.
    voilà mon essaie mais ce n'est pas la solution efficace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    v=[2 3 2 1 4 3 2 1 0];
    w=[(v(1)+v(2))/2];
    ll=length(v);
    for n=2:ll-1
        v2=abs(w(n-1)+v(n+1))/2;
        w=[w v2];
     
    end
    %ber
    w
    figure();
    plot(v);grid on;hold on 
    plot(w,'r')
    title('test_moy_ber');

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Que veux-tu dire par ce n'est pas concluant, ça ne donne pas ce que tu veux? quel est le problème?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  11. #11
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    oui exactement ça ne me donne pas ce que je veux.
    je veux dans le résultat un vecteur des valeur décroissante mais non pas par tri juste en utilisant les moyenne des valeurs.

  12. #12
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Excuse moi mais je ne comprends pas, tu ne fais pas de tri ici, tu fais la moyenne de tes valeurs et tu obtiens bien un vecteur décroissant. Je ne vois pas où est le problème.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  13. #13
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    non c'est ne pas parfaitement décroissante voilà le résultat obtenue:
    w=[2.5000 2.2500 1.6250 2.8125 2.9063 2.4531 1.7266 0.8633]
    il est claire qui le vecteur n'est pas correctement décroissante.
    le problème comment le rendre décroissante en utilisant les moyenne des valeurs.
    merci pour votre patience.

  14. #14
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Alors si j'ai bien compris tu peux faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [~,idx] = sort(v,'descend');
    w=[(v(idx(1))+v(idx(2)))/2];
    for n=2:11-1
        v2=abs(w(idx(n-1))+v(idx(n+1)))/2;
        w=[w v2];
     
    end
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  15. #15
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    bonsoir;
    merci pour votre intérêt,
    le code que vous avez m'envoyer a pour but de trier le valeurs de vecteur.
    or mon objectif ce n'est pas le tri.
    bon mon objectif c'est de tracer les BER en fonction de snr ,normalement si la valeur de snr augmente BER diminue,alors si on tri le vecteur de BER le résultat sera fausse c'est pour cela je veux jouer sur les moyenne des valeurs pour obtenir une courbe décroissante sans s'éloigner du résultat attendu .
    j'espère que vous avez bien compris maintenant .
    est ce que vous avez un code pour la calcule de ber en fonction de snr?

  16. #16
    Candidat au Club
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 3
    Points
    3
    Par défaut code BER en fonction snr
    Bonjour;
    SVP qui peut me donner un code matlab( ou n'importe qu'elle langage) qui permet de calculer le taux d'erreur binaire en fonction de snr
    c'est très très urgent.
    cordialement.

Discussions similaires

  1. [PHP 5.2] compléter une chaine avec des blancs
    Par alain78 dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2012, 17h00
  2. Créer une chaine de taille variable avec des blancs
    Par jojodu31 dans le forum Général Java
    Réponses: 5
    Dernier message: 15/04/2008, 17h38
  3. [C#] Communication avec les ports parallèle et RS232
    Par jejerome dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/07/2004, 22h57
  4. [Débutant][Applet] Communication avec Servlet - IO Exception
    Par gandalf_le_blanc dans le forum Applets
    Réponses: 35
    Dernier message: 16/04/2004, 13h29
  5. [SSL]Communication avec un serveur en https
    Par menon dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 04/09/2003, 16h38

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