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 :

aide sur code source


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut aide sur code source
    Bonsoir, je suis un débutant dans MATLAB, mnt je réalise un mini projet dans le but est d'introduire un signal binaire, le transformez en donnés bipolaire et puis le multiplier par un code de walsh et par la suite le multiplier une autre fois par le meme code , et extraire au final l'information ( signal binaire) qu'on a introduit. le code est en-dessous.

    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
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    clc
    clear
    signal=[1 0 1 0]
    if signal(1)>0
        a=1;
    else a=-1;
    end
        if signal(2)>0
        b=1;
    else b=-1;
        end
        if signal(3)>0
        c=1;
    else c=-1;
        end
        if signal(4)>0
        d=1;
    else d=-1;
        end 
    signal_bip=[a,b,c,d];
    signal_bip
     
    %Générateur de code walsh
    code_length=4;             % Longueur de code.
    code=[1];        % H1=1
    [r1 c1]=size(code);
    while r1<code_length 
     
        for i=1:r1                  % loop#1:
            for j=1:c1
                code(i+r1,j)=code(i,j);
            end
        end
     
        for j=1:c1             % Loop#2: 
            for i=1:r1
                code(i,j+c1)=code(i,j);
            end
        end
        % Loop#3: diagonal part
        for i=1:r1
            for j=1:c1
                code(i+r1,j+c1)=-1*code(i,j);
            end
        end
        [r1 c1]=size(code);
    end
     
    % verification de l'orthogonalité
    somme=0;
    data=[];
    rows=[];
    for i=1:r1
        A=code(i,: );
        for j=1:r1
            B=code(j,: );
            for k=1:c1
                somme=somme+A(k)*B(k);
            end
            data=[data somme];
            somme=0;
        end
        count=0;
        for h=1:length(data)
            if data(h)>0
                count=count+1;
            end
        end
        data=[];
        if count<=1
            rows=[rows i];
        end
    end
    code_walsh=code
    if length(rows)==r1
        fprintf('Les codes de walsh sont orthogonaux entre eux')
        somme_walsh=somme
    else 
        fprintf('il existe des codes qui sont pas orthogonaux')
        rows
    end
     
    A_etale=[signal_bip(1)*code(1),signal_bip(1)*code(2),signal_bip(1)*code(3),signal_bip(1)*code(4),signal_bip(2)*code(5),signal_bip(2)*code(6),signal_bip(2)*code(7),signal_bip(2)*code(8),signal_bip(3)*code(9),signal_bip(3)*code(10),signal_bip(3)*code(11),signal_bip(3)*code(12),signal_bip(4)*code(13),signal_bip(4)*code(14),signal_bip(4)*code(15),signal_bip(4)*code(16)];
    A_etale
    A_etale_code=[A_etale(1)*code(1),A_etale(2)*code(2),A_etale(3)*code(3),A_etale(4)*code(4),A_etale(5)*code(5),A_etale(6)*code(6),A_etale(7)*code(7),A_etale(8)*code(8),A_etale(9)*code(9),A_etale(10)*code(10),A_etale(11)*code(11),A_etale(12)*code(12),A_etale(13)*code(13),A_etale(14)*code(14),A_etale(15)*code(15),A_etale(16)*code(16)];
    A_etale_code
     
    if A_etale_code(1)+A_etale_code(2)+A_etale_code(3)+A_etale_code(4)<0
        m=0;
    else m=1;
    end
    if A_etale_code(5)+A_etale_code(6)+A_etale_code(7)+A_etale_code(8)<0
        n=0;
    else n=1;
    end
    if A_etale_code(9)+A_etale_code(10)+A_etale_code(11)+A_etale_code(12)<0
        o=0;
    else o=1;
    end
    if A_etale_code(13)+A_etale_code(14)+A_etale_code(15)+A_etale_code(16)<0
        p=0;
    else p=1;
    end
    fprintf('l"information qu"on a envoyé est:')
    information=[m,n,o,p]
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    mes petitions sont:

    -comment introduire une fonction qui transforme la matrice [1 0 1 0] en [1 -1 1 -1]
    -comment tracer le signal 1 0 1 0

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Par défaut
    - Multiplies ta matrice par 2 et soustrait 1.
    - Regarde du côté de la fonction plot.

  3. #3
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    On peut aussi utiliser find:
    C'est franchement bourrin, mais c'est pour la culture G. La méthode de Math est mieux dans ton cas.

    Pour plotter: plot(a)...
    et éventuellement plot(t,a) si t est le vecteur qui contient les valeurs du temps.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par silver.sax Voir le message
    On peut aussi utiliser find:
    Et on peut aussi se passer de FIND :

    Ou :

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    merci pour votre aide.
    et a propot du traçage du signal binaire comment je fais ?.

Discussions similaires

  1. aide sur code source d'un projet
    Par ALIAS200 dans le forum C
    Réponses: 2
    Dernier message: 06/12/2010, 10h47
  2. Besoin d'aide sur modif source flash
    Par delavega dans le forum Flash
    Réponses: 0
    Dernier message: 13/12/2008, 21h32
  3. [VBA-E]Aide sur Code
    Par patriarche51 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/06/2006, 20h29
  4. [Mail] Besoin d'aide sur code email avec PJ
    Par flysurfer dans le forum Langage
    Réponses: 1
    Dernier message: 23/02/2006, 10h52
  5. besoin d'aide sur code Block
    Par Antalus dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 31/01/2006, 18h38

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