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

Algorithmes et structures de données Discussion :

Détection d'un palier sur un signal


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut Détection d'un palier sur un signal
    bonjour,
    j'aimerais détecter le plus facilement, mais aussi le plus surement, l'atteinte d'un palier sur une courbe de mesures.

    J'ai trouver le point d'inflexion, la durée en s et la valeur du palier.

    Je fournis ci-dessous 2 exemples de courbes que j'aurais à traiter.

    Merci

    soit le tableau de points suivants :
    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
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    #Time(s)	Reg thc 1(°C)	Reg thc 2(°C)
    360	102	60
    720	181	102
    1080	223	169
    1440	263	217
    1800	269	256
    2160	273	288
    2520	273	315
    2880	280	340
    3240	278	360
    3600	282	378
    3960	285	394
    4320	294	409
    4680	300	424
    5040	300	437
    5400	302	449
    5760	309	461
    6120	315	471
    6480	312	480
    6840	319	489
    7200	324	496
    7560	330	503
    7920	333	509
    8280	336	515
    8640	341	521
    9000	345	526
    9360	349	531
    9720	350	536
    10080	352	540
    10440	357	545
    10800	362	549
    11160	366	553
    11520	371	556
    11880	372	561
    12240	374	564
    12600	380	568
    12960	385	571
    13320	389	574
    13680	392	577
    14040	393	580
    14400	395	583
    14760	402	586
    15120	408	589
    15480	412	592
    15840	415	596
    16200	419	598
    16560	422	601
    16920	426	603
    17280	425	606
    17640	432	609
    18000	436	610
    18360	442	613
    18720	445	616
    19080	446	618
    19440	449	620
    19800	455	622
    20160	461	625
    20520	465	627
    20880	468	629
    21240	471	631
    21600	474	633
    21960	479	635
    22320	482	636
    22680	485	639
    23040	490	640
    23400	493	642
    23760	495	643
    24120	500	645
    24480	504	647
    24840	509	648
    25200	511	650
    25560	513	624
    25920	518	601
    26280	522	584
    26640	526	596
    27000	529	614
    27360	533	630
    27720	537	637
    28080	542	642
    28440	544	646
    28800	549	651
    29160	550	653
    29520	550	656
    29880	553	658
    30240	556	659
    30600	558	661
    30960	558	663
    31320	561	665
    31680	564	667
    32040	567	669
    32400	567	670
    32760	569	672
    33120	571	674
    33480	572	675
    33840	576	676
    34200	577	678
    34560	578	679
    34920	581	681
    35280	583	682
    35640	584	682
    36000	588	684
    36360	589	685
    36720	590	686
    37080	593	687
    37440	595	687
    37800	596	689
    38160	596	689
    38520	601	691
    38880	603	692
    39240	605	692
    39600	606	694
    39960	609	694
    40320	610	695
    40680	613	696
    41040	613	697
    41400	615	698
    41760	618	699
    42120	618	699
    42480	620	700
    42840	622	701
    43200	624	701
    43560	626	703
    43920	628	703
    44280	629	704
    44640	631	704
    45000	633	705
    45360	636	706
    45720	638	707
    46080	640	707
    46440	642	708
    46800	645	707
    47160	647	706
    47520	647	708
    47880	649	710
    48240	651	711
    48600	654	712
    48960	655	712
    49320	658	707
    49680	659	708
    50040	661	708
    50400	663	708
    50760	665	709
    51120	668	709
    51480	668	710
    51840	670	708
    52200	672	709
    52560	668	708
    52920	671	709
    53280	675	708
    53640	678	707
    54000	681	710
    54360	684	708
    54720	679	708
    55080	684	707
    55440	687	709
    55800	689	708
    56160	691	690
    56520	693	708
    56880	691	712
    57240	694	709
    57600	698	709
    57960	698	708
    58320	698	709
    58680	700	707
    59040	701	709
    59400	701	708
    59760	701	710
    60120	703	710
    60480	697	708
    60840	698	708
    61200	698	708
    61560	699	710
    61920	700	710
    62280	700	710
    62640	698	709
    63000	700	709
    63360	699	709
    63720	698	708
    64080	697	708
    64440	699	708
    64800	699	709
    65160	700	709
    65520	698	709
    65880	697	710
    66240	698	709
    66600	699	710
    66960	700	710
    67320	698	709
    67680	699	709
    68040	698	710
    68400	698	708
    68760	701	709
    69120	699	709
    69480	698	709
    69840	700	710
    70200	698	710
    70560	700	710
    70920	700	711
    71280	699	710
    71640	697	709
    72000	700	709
    72360	700	708
    72720	698	709
    73080	698	709
    73440	699	709
    73800	700	710
    74160	700	708
    74520	700	709
    74880	700	709
    75240	698	709
    75600	699	711
    75960	699	709
    76320	698	707
    76680	699	708
    77040	698	710
    77400	698	710
    77760	699	711
    78120	699	708
    78480	698	709

  2. #2
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut
    L'excellent filtre de savitsky-golay (SG) disponible en particulier dans les non moins excelents Numerical Recipes te permet d'un coup d'un seul de calculer la dérivée de ton signal lissé. donc tu passe un SG sur ton signal et tu attend que la dérivée soit raisonablement poche de zéro.
    OL

  3. #3
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut
    j'ai récupéré l'algorithme de savitsky-golay et j'ai fait un petit exemple en C++.
    En pièce jointe, j'ai mis le fichier résultat qui contient le temps, le signal d'entrée et le résultat de l'algorithme. Le résultat est bien un filtre sur le signal d'entrée. (filtrage qui m'intéresse pour une autre utilisation d'ailleurs).

    Je n'ai pas bien compris ton principe d'utilisation :
    - je charge mon signal
    - j'applique savitsky-golay
    - je récupére les coefficients
    - je détermine le signal lissé

    Où trouver le signal dérivé?

    merci


    Ci joint le code de l'utilisation de l'algorithme :

    // calculate Savitzky-Golay filter coefficients.
    savgol(c,nl+nr+1,nl,nr,0,m);

    printf("\n Number of left points .......: %d\n", nl);
    printf(" Number of right points ......: %d\n", nr);
    printf(" Order of smoothing polynomial: %d\n\n", m);
    printf(" Savitzky-Golay Filter Coefficients:\n");
    for (i=1; i<=nl+nr+1; i++) printf("%10.6f", c[i]);
    printf("\n");

    // Apply filter to input data.
    for (i=1; i<=ndata-nr; i++) {
    signal[i]=0.0;
    for (j=1; j<=nl+nr+1; j++)
    if (i+index[j]>0) //skip left points that do not exist.
    signal[i] += c[j]*ysave[i+index[j]];
    }
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut
    Cherche la doc complète de ton appel e savgol.
    je crois bien que le zéro dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    savgol(c,nl+nr+1,nl,nr,0,m);
    c'est l'ordre de la dérivée que tu demandes. Si tu mets 1, tu va récupérer la dérivée lisée, et non pas le signal brut lissé. Vérifie quand même dans ta doc que c'est bien ce coeff qui décrit l'ordre du résultat.
    Sinon, pense aussi à soigner les extrémités. En principe, savgol veut que le tableau d'entrée ait une taille puissance de 2, et le résultat aux extrémités n'est pas significatif.

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

Discussions similaires

  1. Détection de variation sur un signal 1D
    Par b_reda31 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 03/04/2015, 16h08
  2. Réponses: 22
    Dernier message: 20/11/2014, 14h40
  3. Réponses: 3
    Dernier message: 23/08/2005, 09h43
  4. Détection d'un front sur la broche RI d'un port série
    Par G3G3 dans le forum Ordinateurs
    Réponses: 2
    Dernier message: 19/08/2005, 17h14
  5. [TMS320C6416] FFT et IFFT sur un signal audio...
    Par 0x4e84 dans le forum Autres architectures
    Réponses: 1
    Dernier message: 18/04/2005, 20h21

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