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 :

Regroupement de signaux dans fichier


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Par défaut Regroupement de signaux dans fichier
    Bonjour
    J’ai récupéré trois groupes des signaux à partir des essais, chaque groupe correspondant d’une matière différent, tous les signaux enregistré sous forme des tableaux (2 colonnes ‘un colonne c’est le temps et l’autres les amplitudes, N lignes
    La fréquence d’échantillonnage =5 MHz

    Je chercher de regrouper tous les signaux dans un seul ficher, car un seul essais contient 5000 signal
    C'est-à-dire, a la fin j’aime d’avoir un ficher (.mat ,.dat , structure , …) comporte
    matière x et leurs signaux
    matière y et leurs signaux
    matière z et leurs signaux
    pour simplifier l’accès de ces fichiers et minimiser le temps l'exécution .
    pour le moment j’ai aucun idée comment je peut le faire, q’elle qu’un peut me proposer une idée ??
    Merci

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

    Je pense que le plus simple serait l'enregistrement dans un fichier .mat.
    Je n'ai pas très bien compris comment sont organisés tes signaux dans les groupes, mais tu peux les regrouper au sein d'une structure Matiere comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Matiere.x{1} = signal1x
    ...
    Matiere.x{nx} = signalnx
    Matiere.y{1} = signal1y
    ...
    Matiere.y{ny} = signalny
    Matiere.z{1} = signal1z
    ...
    Matiere.z{nz} = signalnz
    Pour ensuite la sauver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    save monfichier.mat Matiere

    Et la charger:

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Par défaut
    Re-Bonjour,

    merci pour l'idée , j'ai l'essaié sur un seul signal, j'ai trouver un probléme de mémoire (OUT off memory ) la taille de ficher .mat c'est 39 000 Ko pour un seul siganl . ?
    merci

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

    Donc si j'ai bien compris, ta mémoire est insuffisante pour charger UN SEUL signal de Nx2 valeurs, avec (si mes calculs sont bons: N ~ 2.7e6).
    Donc je doute que tous les réunir dans un seul fichier soit une bonne idée
    Imagine: 39Mo * 5000 signaux égal à 195Go !!! Je crains que la lecture d'un fichier aussi grand soit plus rapide que plusieurs beaucoup plus petits.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Par défaut
    Bonsoir,

    le problème c'est la mémoire de matlab , car j’essaie de prendre une partie (1000 salve;ficher.txt)de mon signal (un signal comporte 3000 ficher .txt , sachant que chaque ficher .txt correspondant à une Salve 'Hits') et j'ai la sauvegarder sous forme .mat .

    puis une foie je veut lire cette ficher .mat , Monsieur Matlab il me dit ''Out of memory ''

    Ps:j'ai une grande mémoire dans le PC et c'est parait pour le disque dur

    merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Quel est l'exact intérêt de faire un tel regroupement?
    Le temps d'une boucle for par rapport au chargement d'un fichier .txt est me semble-t'il négligeable...
    Que représentent les 3000 fichiers? Quel lien y-a-t'il pour que tu veuilles ainsi les réunir?

    Il faut faire attention que la mémoire utilisée par Matlab et celle de ton ordi sont différentes. cf ce document

    Sinon, si tu tiens vraiment à le faire, voici un début d'idée:
    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
    clear all
    %% Ecriture
    nb_signal_x = ...;
    save monfichier.mat     
    for i=1:nb_signal_x
       Matiere.(['x' num2str(i)]) = ... % chargement du fichier correspondant
       save monfichier.mat -append -struct Matiere
       clear Matiere  % libération de la mémoire
    end
     
    clear all
    %% Lecture
    load monfichier.mat nb_signal_x
    for i = 1:nb_signal_x
        signal = load('monfichier.mat',['x' num2str(i)]);
        signal = signal.(['x' num2str(i)]);
        % traitement
    end
    Dernière modification par Invité ; 07/04/2011 à 03h07.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Par défaut
    Bonjour,
    Désoler pour le retard et Merci ça marche .
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA Regrouper des données dans un fichier unique
    Par oracle7556 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/04/2010, 22h28
  2. Regroupement de lignes dans un fichier
    Par faaf78 dans le forum Langage
    Réponses: 12
    Dernier message: 13/05/2009, 13h46
  3. Réponses: 22
    Dernier message: 16/11/2007, 17h29
  4. Insertion dans fichier texte + rapide que TStringList ?
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/02/2004, 11h34
  5. Regrouper 3 requêtes dans une seule
    Par LadyArwen dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/06/2003, 09h32

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