PLL i mjukvara
PLL i mjukvara
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?
Re: PLL i mjukvara
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.
Re: PLL i mjukvara
Några frågor:
• hur snabb är signalen?
• vad är det för microprocessor.
• vad är det för insignal?
• hur snabb är signalen?
• vad är det för microprocessor.
• vad är det för insignal?
Re: PLL i mjukvara
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.
Re: PLL i mjukvara
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/
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/
Re: PLL i mjukvara
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.
Re: PLL i mjukvara
Det är en bra backupplan/första test. Hade helst använt någon minsta kvadratmetod eller PLL.
Re: PLL i mjukvara
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.