Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Femme Profil pro
    Inscrit en
    octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : octobre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Traitement de signal code morse

    Bonjour à tous,

    Alors voilà, pour un devoir, je me retrouve confrontée à un problème, dont je ne trouve pas la solution, ni même la démarche.
    J'ai à ma disposition un signal bruité, avec un fort bruit blanc Gaussien.
    Mon but est d'enlever le bruit pour réussir à retrouver le signal de base, qui est un signal de code Morse, que je devrais convertir en une phrase normale.

    La chose est que je n'ai aucune idée de la manière dont je pourrais traiter mon signal pour en faire quelque chose.

    si quelqu'un peut m'aider
    Voici ce que j'ai fais sur MATLAB :

    Code :
    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
    format;
    clear;
    clc;
    close all;
    
    x=load ('signal1_bruite_BB1.mat'); % Vecteur 
    b=x.sig_bruit_BB1;
    load signal1_bruite_BB1.mat
    
    N=length(b)% Nombre de points de la séquence
    Fe = 10; % Fréquence d'échantillonnage
    t = (0:N-1)/Fe; %axe_temps 
    
    n=0:1:N-1;
    
    plot(b)
    title('Allure temporelle du signal'); 
    figure()
    plot(n/Fe,b)%représentation temporelle de x (fréquence normalisée)
    title('Allure temporelle du signal'); xlabel('temps (sec)') 
    figure()
    
    f=(0:N-1)/N*Fe;			%fréquence du signal
    plot(f,abs(fft(b)))
    title('Representation frequentielle');  xlabel('Frequence (Hz)') 
    
    figure()
    
    %CONSTRUCTION FILTRE PASSE BANDE
    [Num,Den]= butter(5,[.19,.21]);%filtre de butterworth
    filt=filter(Num,Den,b);
    t=(0:N-1)/Fe;
    P=length(filt);%renvoie la taille du signal filtré;
    NFFT = 2^nextpow2(3600);%définition du nombre d'échantillon nécessaire pour la FFT
    y = fft(filt,NFFT)/P;
    f = Fe/2*linspace(0,1,NFFT/2+1); %construction de l'axe des abscisses
    plot(f,2*abs(y(1:NFFT/2+1)))
    figure
    plot(t,filt)
    title('signal filtré');grid
    Après je ne sais plus quoi faire.
    Fichiers attachés Fichiers attachés

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro Florent
    Ing. Aérospatiale
    Inscrit en
    juin 2003
    Messages
    708
    Détails du profil
    Informations personnelles :
    Nom : Homme Florent
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2003
    Messages : 708
    Points : 947
    Points
    947

    Par défaut

    D'après le prof :
    "durée élémentaire (le point du code morse) est de 500 ms"
    "Temps de réponse : négligeable devant Te la période d’échantillonnage"
    Et vous avez 5 fois le même message a disposition.
    Avez vous essayé de moyenner les 5 signaux, et ensuite de moyenner sur une durée de 500ms (5 échantillons) ?
    En supposant que le message commence dès le premier échantillon, l'affichage d'un échantillon sur 5, en commençant par le 5ème, pourrait vous donner quelque chose de lisible?

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
  •