Sida 2 av 2
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 15:51:48
av lillahuset
Det kan nog vara en riktig SINUS.

Du har knappt 14 sample per period så det blir nog inte så mycket vackrare. Beroende på hur noggrannt du behöver bestämma frekvensen så kan du nog komma undan med att mäta tiden för några perioder och sedan approximera sinusens lutning vid en nollgenomgång så du får något i stil med "på X sampleintervall har du Y hela perioder plus Z% av en hel period". Lite vulgärt men det funkar säkert.
Har du större krav på noggrannhet skulle du kunna göra så att du först gör grovuppskattning av frekvensen i ett kort tidsintervall och sedan köra korskorrelation mot en signal genererad i programmet. Lite stökigare men skulle kunna ge "godtycklig" noggrannhet. Varianterna är många i DSP-världen.
Lycka till!

Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 16:10:01
av rikkitikkitavi
elshorto skrev:Lillahuset: du behöver inte vara rädd för att öppna filen jag bifogade, den innehåller bara på 1000 punkter. ca 15 kHz.
Såhär ser 100 punkter ut i ett Exceldiagram. Men är det en riktig sinus?

Enligt många är det nog en sinus, enligt matematiknördar är det inte en sinus.
Då får dessa matematiknördar allt se till att läsa på. Allt är sinus. Typ.
Det ser ut som en distorderad sinus för mig, och det är sinus med mera sinus.
Ett annat sätt att mäta frekvensen är att ta datapunkter inom ett godtyckligt snävt amplitydfönster och plotta dessa på tidsaxeln. Minsta avståndet är då kortaste periodtiden och därmed beräkna frekvensen. Visst blir det en viss stokastisk fördelning men det kan fungera.
Jag gjorde det en gång med en enkel grafisk metod (excel såklart), hade vissa mätvärden och ville veta hur ofta de förekom.
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 16:41:52
av lillahuset
Jag tycker det ser ut som en riktigt bra sinus.
Edit: Vad är det för signal?
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 17:05:11
av elshorto
Det är ett interferogram av en laser.
Har provat en grafisk metod redan men är inte riktigt nöjd med den.
Tog varje sampling - samplingen före, gjorde ett diagram över värdena och zoomade in på topparna.
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 17:51:12
av lillahuset
Finns det några teorier om vad man borde se?
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 22:11:21
av elshorto
Variationerna i frekvens beror på varierande hastighet på interferometerns rörliga spegel.
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 22:23:44
av lillahuset
OK, så då borde man väl ha en sinus som varierar mellan 7,5kHz och 22,5kHz. (15kHz +/-50%).
Hur snabbt varierar den?
Hur noggrannt behöver du bestämma frekvensen? Hur ofta?
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 22:35:35
av xxargs
Provade modell radiomottagare skrivet innan och multiplicerade signalen med en ocillator-sinus 0,523837 radianer/sampel i 'in phase och 'quadrature' och fick
ef_bild_1.png
och då får man en lågfrekvenskomponent med skillnadsfrekvensen mellan inkommande signal och oscillator-sinusen, överlagrad med oscillatorsinusens frekvens.
I enklare processning så filtrerar man bort högfrekvensen och bara tittar på den låga frekvensen, jag har inte letat fram någon bättre filter än medelsvärdesbildning över 12 sampel och får liknande:
ef_bild_2.png
Här kan man se att frekvensen avviker mot oscillator i början och slutet av diagrammet medans det är nästan precis samma som oscillator-sinusen i mitten av diagrammet, men man kan inte avgöra om det är frekvensavvikelse högre eller lägre än oscillatorfrekvensen om man bara har en av kurvorna - man måste ha båda kurvorna som är resultatet av multiplikationen med oscillator-sinusen med 0/90 graders fasskillnad.
tar man Atan2 på båda kurvorna så får man vinkeln i radianer (hoppas jag)
ef_bild_3.png
Och där kan man se att gradantalen (i radianer) hela tiden ökar om frekvensen är under oscillator-sinusens frekvens och graderna är minskande om man är över oscillator-sinusens frekvens och hur stora steg vinkeln ändrar sig per sampel beror på hur mycket frekvensen avviker gentemot oscillator-sinusen och därmed med känd sampeltakt, oscillator-sinusens frekvens, tillräcklig bra filtrering så bör man kunna räkna fram frekvensen på i stort sett vilken del av kurvan som helst.
Om jag tänker rätt så borde man i prinsip kunna utläsa hur många bråkdelars radianer frekvensen åker gentemot oscillator-sinusen om man deriverar kurvan
ef_bild_4.png
Men här ser man problemet att jag inte har filtrerat kurva i ef_bild_2.png tillräckligt bra och man kanske måste medelvärdesbilda över flera sampel för att få fram hur många bråkdelar radianer man skall lägga till eller dra ifrån den aktuella vinkelhastigheten som representeras av oscillator-sinus för att få fram den aktuella frekvensen på just samplet
---
observera att det här är lösa tankar och detta är inte genomräknat fullständing för att se om tankegångarna håller hela vägen när det gäller 'detektion'.
Re: Räkna ut frekvens i Excel
Postat: 20 augusti 2016, 22:40:37
av lillahuset
Bra jobbat!
Dina inlägg brukar vara en fröjd att läsa.

Re: Räkna ut frekvens i Excel
Postat: 21 augusti 2016, 00:07:58
av elshorto
WOW, detta verkar mycket spännande!
Gjorde ett snabbt test men inser att jag får läsa på om teorin bakom för att begripa vad som händer.
lillahuset, rådatat sitter inne med svaret på hur snabbt frekvensen varierar. Hur ofta frekvensen behöver mätas beror på hur snabbt frekvensen varierar.
Re: Räkna ut frekvens i Excel
Postat: 21 augusti 2016, 01:21:48
av xxargs
Kee - varierande sampelfrekvens!!!??? - finns sådana funktioner så slå av dessa direkt så att de inte inverkar eller byter mitt under en mätning!!!!
Sådant skall inte variera under en mätning - att samplingen är lika trygg i sin takt och med låg fasgitter som från en atomklocka är fundamentalt när man skall analysera i efterhand och vill ha noggranhet. Varierar samplingstakten under mätningen så är det bokstavligen som att rycka mattan under den som sedan skall analysera datat!.
Re: Räkna ut frekvens i Excel
Postat: 21 augusti 2016, 10:07:45
av rikkitikkitavi
Eller kortare uttryckt - om du inte känner till vilken samplingsfrekvens, och den är.konstant kommer funktionerna ge fel output.
SiSu.
Re: Räkna ut frekvens i Excel
Postat: 21 augusti 2016, 11:19:19
av lillahuset
Jitter i samplingsklockan ställer till elände.
Re: Räkna ut frekvens i Excel
Postat: 21 augusti 2016, 15:46:51
av elshorto
Oj, nu var det nog en nattsuddare som läste lite galet, och en svans som hängde på.
Samplingsfrekvensen är 200kSPS. Aldrig något annat.
Jag försökte förklara för lillahuset att jag inte vet hur fort frekvensen varierar och därmed inte hur ofta jag behöver räkna ut den. Det är det jag försöker räkna fram.
Ska försöka räkna lite ikväll, efter jag monterat Ikea-prylarna någon släpat hem...
Re: Räkna ut frekvens i Excel
Postat: 21 augusti 2016, 20:50:17
av SvenW
Tittade på filen med octave-skriptet nedan. (jag gillart octave, men excel förstår jag mig inte på!)
Skriptet ger en animation som visar hur frekvensen sakta ökar. Antar att det beror på att slädens fart ändras.
Vektorn faltas med en glidande Gaussfunktion.
Det tycks dock vara en ganska snygg sinus inom ett intervall..
Kod: Markera allt
#! /home/sven/bin/oct
load sinus.csv
s =sinus;
ra=1:1000;
for i=1:30
ii= i*25;
ra=1:1000;
ee = exp(-(ii-ra).^2/20000)';
s2=s.*ee;
f = fft(s2);
%plot(s2)
plot (abs(f(50:120)));
grid on
pause (1);
endfor