Czesc
robiłem projekt na studia i tak mi przyszło do głowy że może ewentualnie ktoś mógłby chcieć go wykorzystać do czegokolwiek
Zadanie postawione przede mną to było zrobić generator prostych sygnałów taki DDS ale na bardzo ograniczonym paśmie częstotliwości - podstawowe założenie było conajmniej od 0 do 20kHz. Miałem wykorzystać do tego atmegę oraz jakiś przetwornik DAC ale koncepcja musiała być zmieniona. Zamiast tego jako małą platformę potraktowano komputer Raspberry Pi, z wykorzystaniem najbardziej optymalnego języka jakim jest Python3
Ostatecznie program generuje sygnały spróbkowane do 192kHz, więc szału nie ma ale z jakiegoś niezrozumiałego dla mnie powodu wszystkie znalezione przeze mnie generatory tego typu mają próbkowanie 44,1kHz.
No i ponieważ to jest pythonowe ustrojstwo działa na każdym komputerze na którym jest zainstalowany Python3 (pod pythonem 2 też powinno ruszyć).
Wiem że na tym forum rzadko pojawiają się skrypty pythonowe ale cóż
może komuś się przyda.
język python
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jeśli z jakiegoś powodu ktoś chciałby to ulepszać to proponuje aby dla sinusa postarać się o przesunięcie w fazie o 1/4 okresu tak aby nieciągłości związane z zapętlaniem jednego cyklu trafiały na miejsce gdzie sinus ma najmniejsze pochylenie a nie tam gdzie pochylenie jest największe. Prawdopodobnie wystarczy w funkcji sine przy wyliczaniu odpowiedniej wartości zrobić (phase-0.25) zamiast phase samo z siebie, ale trzeba by było to jeszcze sprawdzić, albo po prostu zastosować w funkcji sine kosinusa