Aller au contenu

barzouga

Membres
  • Compteur de contenus

    117
  • Inscrit(e) le

  • Dernière visite

  • Jours gagnés

    1

À propos de barzouga

  • Date de naissance 21/03/1973

Contact

Informations personnelles

  • Genre
    Masculin
  • Lieu
    IdF
  • Machines FPV
    Vega gravity HD
    QAV aka frankenstein

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

Récompenses de barzouga

Enthusiast

Enthusiast (6/14)

  • Dedicated
  • Reacting Well
  • First Post
  • Collaborator
  • Conversation Starter

Badges récents

55

Réputation sur la communauté

Favoris

  1. dji
    [TOPIC UNIQUE] DJI Digital FPV System, FPV HD

    Salut,

    Je compte faire des tests de réception de mes lunettes en changeant les antennes (avec celles de mon setup analogique, patch, pagoda). Je m'intéresse à la latence et on y a accès dans les fichiers "srt" qui sont créés avec les fichiers vidéo dji (avec d'autres paramètres comme le voltage). Jusque là ça va sauf qu'ils sont bizarrement formaté et que c'est pas évident ni à lire comme ça ni à extraire dans excel. D'autant plus que chaque mesure n'est pas faite à intervalle régulier donc impossible tel quel de comparer avec le timing d'une vidéo. Je voulais changer les antennes et m'éloigner pour voir l'effet sur la latence.

    J'ai programmé un petit script en python qui le fait à ma place sur tous les fichiers d'un répertoire. Cela produit directement des diagrammes synchronisés avec le flightTime des vidéos.

    D'abord une série de graphite de la latence au cours du temps pour chaque lipo

    image.png.3f61fb78c588bffd0b4a77ca380c87cf.pngimage.png

    Puis un résumé de la cession complète avec une couleur par lipo

    image.png.a47ed3e977f067725ee8b48041caf95f.pngimage.png.6e04c36b191e9cc58a0559f0c41d6149.png

    On voit bien les gros pic liés aux crashs (sur le dos dans la gadou toussa🙂)

    J'étais en mode Focus OFF, demain je passe à Focus ON puis avec d'autres antennes pour tester.

    Si quelqu'un est intéressé par le programme, pas besoin de savoir coder, il suffit de le mettre dans le répertoire des vidéos et de l’exécuter tel quel. (il est pas optimisé du tout car je débute et surtout je suis feignant)

    # -*- coding: utf-8 -*-
    """
    Created on Fri Oct 22 23:30:29 2021
    @author: barzouga
    """
    print(__doc__)
    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    import glob
    print("extraction des données")
    plt.style.use('dark_background')
    Latencetout=[]
    flightTimetout=[]
    moyennetout=[]
    n=0
    moyenne=0
    mini=0
    maxi=0
    moyennefinale=0
    for filename in glob.glob('*.srt'):
        with open(filename,"r") as fi:
            tout2 = []
            n=n+1
            for ln in fi:
                if ln.startswith("signal"):
                    tout2.append(ln[1:])
                    data = pd.Series(data=tout2)
                    data = pd.DataFrame(data.str.split(' ',20).tolist())
                    Latence1 = pd.DataFrame(data[7].str.split(':',1).tolist())
                    LatenceFin = pd.DataFrame(Latence1[1].str.split('m',1).tolist())
                    flightTime = pd.DataFrame(data[2].str.split(':',1).tolist())
                    flightTime[1] = flightTime[1].astype(float)
                    LatenceFin[0] = LatenceFin[0].astype(float)
                    tps = np.linspace(0, len(LatenceFin), len(LatenceFin))
                    moyenne=np.round(LatenceFin[0].mean(), 1)
                    mini=min(LatenceFin[0])
                    maxi=max(LatenceFin[0])
            Latencetout.append(LatenceFin[0])
            flightTimetout.append(flightTime[1])
            moyennetout.append(moyenne)
        plt.bar(flightTime[1],LatenceFin[0], width=1)
        plt.title(f"Lipo n°{n} moyenne = {moyenne} ms, min = {mini} ms, max = {maxi} ms")
        plt.xlabel('flightTime (s)')
        plt.ylabel('Latence (ms)')
        plt.show()
    
    for i in range (1, n, 1):
        plt.bar(flightTimetout[i], Latencetout[i], width=1)
    plt.xlabel('flightTime (s)')
    plt.ylabel('Latence (ms)')
    moyennefinale=np.round(moyennetout[0].mean(),1) 
    plt.title(f"Toute la session, latence moyenne à {moyennefinale} ms")
    plt.show()
    
    for i in range (1, n, 1):
        plt.bar(flightTimetout[i], Latencetout[i], width=1)
    plt.xlabel('flightTime (s)')
    plt.ylabel('Latence (ms)')
    moyennefinale=np.round(moyennetout[0].mean(),1) 
    plt.title(f"Toute la session, latence moyenne à {moyennefinale} ms")
    plt.ylim(0,50)
    plt.show()
    print("fin de l'extraction des données")

×
×
  • Créer...