Jeg ville undgå mulighed 3 - hvis du vil bruge en database til at gemme rå resultater, kan du lige så godt bruge den til at gemme alle resultaterne.
Mulighed 1 lyder, som om du ender med at duplikere en masse data for hver resultatrække og kun ændre to værdier (tidsforskydning og værdi).
Af de tre muligheder, du foreslår, ville jeg vælge mulighed 2. Du vil være i stand til at gemme en enkelt resultatrække for hvert resultat og også have detaljerne om resultatet tilgængelige i DB, uden at rode i selve resultattabellen .
Afhængigt af hvordan du forventer at bruge dataene, og hvor mange datapunkter du har pr. resultatbølgeform, kan jeg endda blive fristet til at gemme bølgeformen/signalet som en enkelt streng (f.eks. kommaseparerede værdier).