Generator i licznik - czyli zabawa z dzielnikami

Podzielność. Reszty z dzielenia. Kongruencje. Systemy pozycyjne. Równania diofantyczne. Liczby pierwsze i względnie pierwsze. NWW i NWD.
mrl
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 9 gru 2012, o 18:06
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 3 razy

Generator i licznik - czyli zabawa z dzielnikami

Post autor: mrl »

Cześć,

Dysponuje generatorem o częstotliwości sygnału 90 MHz, który mogę dzielić (preskalować).
Dysponuję również licznikiem, który liczy do liczby n gdzie \(\displaystyle{ n \in [0,2^{32}], n \in N}\).

Pytanie: jak ustawić dzielnik częstotliwości (dzielnik musi być liczbą naturalną), oraz liczbę n aby licznik wskazał liczbę n po czasie 78,125 µs.

Problem: Próbkuje sygnał o częstotliwości 50 Hz, tak aby liczba próbek wyniosła 256. Oznacza to, że częstotliwość próbkowania wynosi (50*256) 12,8 kHz.

Przykład:

\(\displaystyle{ f_1=90/9=10 MHz \Rightarrow t_1 = 100 ns}\)
\(\displaystyle{ f_2=12,8 kHz \Rightarrow t_2 = 78,125 \mu s}\)
\(\displaystyle{ \frac{t_2}{t_1}=781,25}\)

Objaśnienie do przykładu: dobrano złe wartości gdyż iloraz \(\displaystyle{ \frac{t_2}{t_1}}\) nie jest liczbą naturalną.

Proszę o pomoc
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

Generator i licznik - czyli zabawa z dzielnikami

Post autor: jarzabek89 »

Jak mocno możesz preskalować generator?
Z matematycznego punktu widzenia można zrobić tak:
\(\displaystyle{ 90 000 000}\) podzielimy przez \(\displaystyle{ 703 125}\) otrzymamy \(\displaystyle{ 128}\) i licznik do \(\displaystyle{ 100}\) i mamy.
mrl
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 9 gru 2012, o 18:06
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 3 razy

Generator i licznik - czyli zabawa z dzielnikami

Post autor: mrl »

@jarzabek89 dzięki za odpowiedź.
Twoje rozwiązanie jest niestety błędne. Okres dla częstotliwości \(\displaystyle{ \frac {90000000}{703125}=128 Hz}\) wynosi \(\displaystyle{ 7,8125 \cdot 10^{-3}s}\)
dla częstotliwości \(\displaystyle{ 12,8 kHz}\) wyonis \(\displaystyle{ 7,8125 \cdot 10^{-5}s}\)

dla przypomnienia \(\displaystyle{ T=\frac{1}{f}}\)

więc jeżeli licznik zliczyłby 100 impulsów to minąłby czas \(\displaystyle{ 0,78125 s}\).

Twój błąd polega na tym, że częstotliwość powinna być dzielona przez 100, nie mnożona

Ktoś ma inny pomysł?

Dla ułatwienia przykład: przy \(\displaystyle{ f=90MHz}\) i prescalera \(\displaystyle{ 1}\) licznik dla \(\displaystyle{ f_p=12,8kHz}\) powinien wskazać \(\displaystyle{ 7031,25}\).
Licznik operuje na liczbach całkowitych więc przy wskazaniu \(\displaystyle{ 7031}\) błąd bezwzględny czasu próbkowania \(\displaystyle{ \Delta t_p = 2.7778 \cdot 10^{-9}}\) co odpowiada względnemu błędowi czasu próbkowania \(\displaystyle{ \delta t_p = 0.0036 \%}\) - przyzwoicie.

Nie zmienia to jednak faktu, że ww. rozwiązanie wg. mnie jest mało eleganckie

===
Licznik jest 32-bitowy - tzn.maksymalna wartość, do której może zliczać to \(\displaystyle{ 2^{32}}\)
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

Generator i licznik - czyli zabawa z dzielnikami

Post autor: jarzabek89 »

Moje rozwiązanie jest poprawne.
Twoje rozwiązanie jest za to niepoprawne z jednego prostego powodu. Błąd jaki zakładasz będzie tylko dla pierwszego pomiaru, dalej błąd będzie się kumulował.
mrl
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 9 gru 2012, o 18:06
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 3 razy

Generator i licznik - czyli zabawa z dzielnikami

Post autor: mrl »

Przepraszam, ale nie rozumiem jak wg. Ciebie przy częstotliwości generatora
\(\displaystyle{ 128 Hz}\) uzyskać częstotliwość próbkowania \(\displaystyle{ 12,8kHz}\).

Co do kumulowania błędu prawdopodobnie masz rację.
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

Generator i licznik - czyli zabawa z dzielnikami

Post autor: jarzabek89 »

Masz rację, nie w tą stronę poszedłem.
ODPOWIEDZ