PLL i mjukvara

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

PLL i mjukvara

Inlägg av Agwan »

Kan man använda en mjukvaruPLL för att anpassa en sinusvåg skapad i en mikroprocessor till att ha samma fas som en inkommande uppmätt sinusvåg med mätbrus på? Någon som provat något liknande?
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: PLL i mjukvara

Inlägg av Andax »

Har gjort PLL i vhdl för några år sedan vilket funkade väl. Det borde inte vara något problem om man får in sample i jämn takt och att man har tillräckligt hastighet på mcu.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: PLL i mjukvara

Inlägg av Micke_s »

Några frågor:
• hur snabb är signalen?
• vad är det för microprocessor.
• vad är det för insignal?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PLL i mjukvara

Inlägg av blueint »

Klock- och samplingsgitter kan också vara en faktor.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: PLL i mjukvara

Inlägg av Icecap »

"gitter"? Menar du "jitter"?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PLL i mjukvara

Inlägg av blueint »

Den yttre signalen kan ha en frekvens som inte nödvändligtvis är en heltalsmultipel av PLL systemets samplingsfrekvens. Det är normalt sett inget problem. Men om man är högt upp i frekvens och möjligheten att integrera över tid är liten så kan det märkas.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PLL i mjukvara

Inlägg av Agwan »

Signalen ligger på mellan 10 och 25Hz ungefär. Vid vardera applikation är dock spannet mycket mindre, kanske +- en eller två Hz från nominellt.

Tänkte köra det på en 8-bit AVR på 17.xxx MHz.

Jag vet inte vad du menar Micke_s med vad det är för signal. Det kommer in en signal som består av en bas-sinusvåg och kanske några höga övertoner samt brus. Jag filtrerar den med ett tvåpoligt bandpassfilter mellan typ 10 och 25Hz. Jag samplar signalen i 1kHz.

Jag hittade den här hemsidan för att generera färdig C-kod för en PLL, men den verkar trasig, jag får den inte att generera något iaf.
http://www-users.cs.york.ac.uk/~fisher/mkpll/
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: PLL i mjukvara

Inlägg av superx »

Jag skulle testa att mäta tiden mellan nollgenomgångarna på den filtrerade signalen. Om du medelvärdesbildar den tiden får du en frekvensskattning som du kan använda för att generera din signal. Ja, det är väl ungefär vad en PLL gör iof, men det borde inte vara så svårt att skrivs själv.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PLL i mjukvara

Inlägg av Agwan »

Det är en bra backupplan/första test. Hade helst använt någon minsta kvadratmetod eller PLL.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: PLL i mjukvara

Inlägg av Andax »

Du kan även titta på analytiska signaler och "instantaneous phase". Går att göra ganska enkla filter som skattar den lokala fasen och sedan använda den som en nyckel till en lookup-tabell med en sinus.
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: PLL i mjukvara

Inlägg av superx »

Vad ska du använda detta till?
Skriv svar