DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชนเซ‡เชฒเซ‹ เชนเซ‡เชฌเซเชฐ.

เช•เชฆเชพเชš เช˜เชกเชฟเชฏเชพเชณ เช…เชฅเชตเชพ เชตเซ‡เชงเชฐ เชธเซเชŸเซ‡เชถเชจ เช–เชฐเซ€เชฆเชจเชพเชฐเชพ เช˜เชฃเชพ เชฒเซ‹เช•เซ‹เช เชชเซ‡เช•เซ‡เชœเชฟเช‚เช— เชชเชฐ เชฐเซ‡เชกเชฟเชฏเซ‹ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช˜เชกเชฟเชฏเชพเชณ เช…เชฅเชตเชพ เชคเซ‹ เช…เชฃเซ เช˜เชกเชฟเชฏเชพเชณเชจเซ‹ เชฒเซ‹เช—เซ‹ เชœเซ‹เชฏเซ‹ เชนเชถเซ‡. เช† เช–เซ‚เชฌ เช…เชจเซเช•เซ‚เชณ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เช˜เชกเชฟเชฏเชพเชณเชจเซ‡ เชŸเซ‡เชฌเชฒ เชชเชฐ เชฎเซ‚เช•เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเช›เซ€ เชคเซ‡ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชธเชพเชฅเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เช—เซ‹เช เชตเชพเชˆ เชœเชถเซ‡.
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชšเชพเชฒเซ‹ เช†เช•เซƒเชคเชฟ เช•เชฐเซ€เช เช•เซ‡ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชกเซ€เช•เซ‹เชกเชฐ เชฒเช–เซ‹.

เชคเซเชฏเชพเช‚ เชตเชฟเชตเชฟเชง เชธเชฎเชฏ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชธเชฟเชธเซเชŸเชฎเซเชธ เช›เซ‡. เชฏเซเชฐเซ‹เชชเชฎเชพเช‚ เชธเซŒเชฅเซ€ เชตเชงเซ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชœเชฐเซเชฎเชจ เชธเชฟเชธเซเชŸเชฎ เช›เซ‡ DCF-77, เชœเชพเชชเชพเชจเชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเชฟเชธเซเชŸเชฎ เช›เซ‡ เชœเซ‡เชœเซ‡เชตเชพเชฏ, เชฏเซเชเชธเชเชฎเชพเช‚ เชเช• เชธเชฟเชธเซเชŸเชฎ เช›เซ‡ เชกเชฌเชฒเซเชฏเซเชกเชฌเชฒเซเชฏเซเชตเซ€เชฌเซ€, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชตเชงเซ. เช†เช—เชณ, เชตเชพเชฐเซเชคเชพ DCF77 เชตเชฟเชถเซ‡ เชนเชถเซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชฐเชถเชฟเชฏเชพเชจเชพ เชฏเซเชฐเซ‹เชชเซ€เชฏเชจ เชญเชพเช—เซ‹ เช…เชจเซ‡ เชชเชกเซ‹เชถเซ€ เชฆเซ‡เชถเซ‹เชฎเชพเช‚ เช•เซ‡เชŸเชฒเชพเช• เชธเซเชฅเชณเซ‹เช เชธเซเชตเชพเช—เชค เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชธเซเชธเช‚เช—เชค เช…เชจเซ‡ เชธเซเชฒเชญ เช›เซ‡ (เชฆเซ‚เชฐ เชชเซ‚เชฐเซเชตเชจเชพ เชฐเชนเซ‡เชตเชพเชธเซ€เช“ เชตเชฟเชฐเซเชฆเซเชง เช…เชญเชฟเชชเซเชฐเชพเชฏ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‹ เช•เซ‡, เชคเซ‡เช“ เชฌเชฆเชฒเชพเชฎเชพเช‚, เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซ‡ เชœเชพเชชเชพเชจเซ€เช เชธเชฟเช—เซเชจเชฒเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ‹;).

เชจเซ€เชšเซ‡ เชฒเช–เซ‡เชฒเซเช‚ เชฌเชงเซเช‚ DCF77 เชตเชฟเชถเซ‡ เชนเชถเซ‡.

เชธเชฟเช—เซเชจเชฒ เชฐเชฟเชธเซ‡เชชเซเชถเชจ

DCF77 เช เชเช• เชฒเชพเช‚เชฌเซ€ เชตเซ‡เชต เชธเซเชŸเซ‡เชถเชจ เช›เซ‡ เชœเซ‡ 77.5 kHz เชจเซ€ เช†เชตเชฐเซเชคเชจ เชชเชฐ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เช‚เชชเชจเชตเชฟเชธเซเชคเชพเชฐ เชฎเซ‹เชกเซเชฏเซเชฒเซ‡เชถเชจเชฎเชพเช‚ เชธเช‚เช•เซ‡เชคเซ‹ เชชเซเชฐเชธเชพเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡. 50KW เชธเซเชŸเซ‡เชถเชจ เชซเซเชฐเซ‡เชจเซเช•เชซเชฐเซเชŸเชฅเซ€ 25 เช•เชฟเชฎเซ€ เชฆเซ‚เชฐ เช†เชตเซ‡เชฒเซเช‚ เช›เซ‡, เชคเซ‡เชฃเซ‡ 1959เชฎเชพเช‚ เช•เชพเชฎเช—เซ€เชฐเซ€ เชถเชฐเซ‚ เช•เชฐเซ€ เชนเชคเซ€ เช…เชจเซ‡ 1973เชฎเชพเช‚ เชคเชพเชฐเซ€เช–เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏเซ‡ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. 77 KHz เชจเซ€ เช†เชตเชฐเซเชคเชจ เชชเชฐ เชคเชฐเช‚เช—เชฒเช‚เชฌเชพเช‡ เช–เซ‚เชฌ เชฒเชพเช‚เชฌเซ€ เช›เซ‡, เชคเซ‡เชฅเซ€ เชเชจเซเชŸเซ‡เชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชชเชฃ เช–เซ‚เชฌ เชœ เชฏเซ‹เช—เซเชฏ เช›เซ‡ (เชตเชฟเช•เชฟเชชเซ€เชกเชฟเชฏเชพเชฎเชพเช‚เชฅเซ€ เชซเซ‹เชŸเซ‹):
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เช†เชตเชพ เชเชจเซเชŸเซ‡เชจเชพ เช…เชจเซ‡ เชชเชพเชตเชฐ เช‡เชจเชชเซเชŸ เชธเชพเชฅเซ‡, เชธเซเชตเชพเช—เชค เชตเชฟเชธเซเชคเชพเชฐ เชฒเช—เชญเช— เชธเชฎเช—เซเชฐ เชฏเซเชฐเซ‹เชช, เชฌเซ‡เชฒเชพเชฐเซเชธ, เชฏเซเช•เซเชฐเซ‡เชจ เช…เชจเซ‡ เชฐเชถเชฟเชฏเชพเชจเชพ เชญเชพเช—เชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡ เช›เซ‡.

DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เช•เซ‹เชˆเชชเชฃ เชธเชฟเช—เซเชจเชฒ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค เช‘เชจเชฒเชพเช‡เชจ เชฐเซ€เชธเซ€เชตเชฐ เชชเชฐ เชœเชพเช“ http://websdr.ewi.utwente.nl:8901/, เชคเซเชฏเชพเช‚ เชซเซเชฐเซ€เช•เซเชตเชจเซเชธเซ€ 76.5KHz เช…เชจเซ‡ USB เชฎเซ‹เชกเซเชฏเซเชฒเซ‡เชถเชจ เชชเชธเช‚เชฆ เช•เชฐเซ‹. เชเช• เช›เชฌเซ€ เช–เซเชฒเชตเซ€ เชœเซ‹เชˆเช เชœเซ‡ เช•เช‚เชˆเช• เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชคเซเชฏเชพเช‚ เช†เชชเชฃเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เชฌเชŸเชจ เชฆเชฌเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชฅเซ‹เชกเซ€ เชฎเชฟเชจเชฟเชŸเซ‹ เชฒเชพเช‚เชฌเซ‹ เชŸเซเช•เชกเซ‹ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ€เช เช›เซ€เช. เช…เชฒเชฌเชคเซเชค, เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 77.5KHz เช†เชตเชฐเซเชคเชจ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ "เชตเชพเชธเซเชคเชตเชฟเช•" เชฐเซ€เชธเซ€เชตเชฐ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช…เชฒเชฌเชคเซเชค, เชˆเชจเซเชŸเชฐเชจเซ‡เชŸ เชฆเซเชตเชพเชฐเชพ เชฐเซ‡เชกเชฟเชฏเซ‹ เชŸเชพเชˆเชฎ เชธเชฟเช—เซเชจเชฒ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เชจเซ‡, เช…เชฎเซ‡ เช–เชฐเซ‡เช–เชฐ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เชถเซเช‚ เชจเชนเซ€เช‚ - เชธเชฟเช—เซเชจเชฒ เชตเชฟเชฒเช‚เชฌ เชธเชพเชฅเซ‡ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เช…เชฎเชพเชฐเซ‹ เชงเซเชฏเซ‡เชฏ เชซเช•เซเชค เชธเชฟเช—เซเชจเชฒเชจเซ€ เชฐเชšเชจเชพเชจเซ‡ เชธเชฎเชœเชตเชพเชจเซ‹ เช›เซ‡; เช† เชฎเชพเชŸเซ‡, เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เชชเชฐเซเชฏเชพเชชเซเชค เช•เชฐเชคเชพเช‚ เชตเชงเซ เช›เซ‡. เชตเชพเชธเซเชคเชตเชฟเช• เชœเซ€เชตเชจเชฎเชพเช‚, เช…เชฒเชฌเชคเซเชค, เชตเชฟเชถเชฟเชทเซเชŸ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เชกเซ€เช•เซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡; เชคเซ‡เช“เชจเซ€ เชจเซ€เชšเซ‡ เชšเชฐเซเชšเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชคเซ‡เชฅเซ€, เช…เชฎเชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเช‚ เช›เซ‡, เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชถเชฐเซ‚ เช•เชฐเซ€เช.

เชธเชฟเช—เซเชจเชฒ เชกเซ€เช•เซ‹เชกเชฟเช‚เช—

เชšเชพเชฒเซ‹ Python เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชซเชพเชˆเชฒ เชฒเซ‹เชก เช•เชฐเซ€เช เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชฌเช‚เชงเชพเชฐเชฃ เชœเซ‹เชˆเช:

from scipy.io import wavfile
from scipy import signal
import matplotlib.pyplot as plt
import numpy as np

sample_rate, data = wavfile.read("dcf_websdr_2019-03-26T20_25_34Z_76.6kHz.wav")
plt.plot(data[:100000])
plt.show()

เช…เชฎเซ‡ เชฒเชพเช•เซเชทเชฃเชฟเช• เช•เช‚เชชเชจเชตเชฟเชธเซเชคเชพเชฐ เชฎเซ‹เชกเซเชฏเซเชฒเซ‡เชถเชจ เชœเซ‹เชˆเช เช›เซ€เช:
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชกเซ€เช•เซ‹เชกเชฟเช‚เช—เชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ เชนเชฟเชฒเซเชฌเชฐเซเชŸ เชŸเซเชฐเชพเชจเซเชธเชซเซ‹เชฐเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชฟเช—เซเชจเชฒ เชชเชฐเชฌเชฟเชกเซ€เชฏเซเช‚ เชฒเชˆเช:

analytic_signal = signal.hilbert(data)
A = np.abs(analytic_signal)
plt.plot(A[:100000])

เชตเชฟเชธเซเชคเซƒเชค เชชเชฐเชฟเชฃเชพเชฎ:
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชšเชพเชฒเซ‹ เช“เช›เชพ-เชชเชพเชธ เชซเชฟเชฒเซเชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชตเชพเชœ เช‰เชคเซเชธเชฐเซเชœเชจเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ€เช, เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชธเชฐเซ‡เชฐเชพเชถ เชฎเซ‚เชฒเซเชฏเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€เช, เชœเซ‡ เชชเช›เซ€เชฅเซ€ เชชเชฆเชšเซเช›เซ‡เชฆเชจ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡.

b, a = signal.butter(2, 20.0/sample_rate)
zi = signal.lfilter_zi(b, a)
A, _ = signal.lfilter(b, a, A, zi=zi*A[0])
avg = (np.amax(A) + np.amin(A))/2

เชชเชฐเชฟเชฃเชพเชฎ (เชชเซ€เชณเซ€ เชฐเซ‡เช–เชพ): เชฒเช—เชญเช— เชšเซ‹เชฐเชธ เชคเชฐเช‚เช— เชธเชฟเช—เซเชจเชฒ เช•เซ‡ เชœเซ‡เชจเซเช‚ เชชเซƒเชฅเช•เซเช•เชฐเชฃ เช•เชฐเชตเซเช‚ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡.
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชชเชฆเชšเซเช›เซ‡เชฆเชจ

เชชเซเชฐเชฅเชฎ เชคเชฎเชพเชฐเซ‡ เชฌเซ€เชŸ เชธเชฟเช•เซเชตเชจเซเชธ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชธเชฟเช—เซเชจเชฒ เชฎเชพเชณเช–เซเช‚ เชชเซ‹เชคเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡.
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เช•เช เซ‹เชณเชจเซ‡ เชฌเซ€เชœเชพ เช…เช‚เชคเชฐเชพเชฒเชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซ‹ เช•เช เซ‹เชณ เชตเชšเซเชšเซ‡เชจเซเช‚ เช…เช‚เชคเชฐ 0.1 เชธเซ‡ เช›เซ‡ (เชเชŸเชฒเซ‡ โ€‹โ€‹โ€‹โ€‹เช•เซ‡ เชชเชฒเซเชธเชจเซ€ เชฒเช‚เชฌเชพเชˆ เชชเซ‹เชคเซ‡ 0.9 เชธเซ‡ เช›เซ‡), เชคเซ‹ เชฌเซ€เชŸ เชธเชฟเช•เซเชตเชจเซเชธเชฎเชพเช‚ "0" เช‰เชฎเซ‡เชฐเซ‹; เชœเซ‹ เช…เช‚เชคเชฐ 0.2 เชธเซ‡ (เชเชŸเชฒเซ‡ โ€‹โ€‹โ€‹โ€‹เช•เซ‡ เชฒเช‚เชฌเชพเชˆ 0.8 เชธเซ‡ เช›เซ‡), เชคเซ‹ "1" เช‰เชฎเซ‡เชฐเซ‹. เชฆเชฐเซ‡เช• เชฎเชฟเชจเชฟเชŸเชจเซ‹ เช…เช‚เชค "เชฒเชพเช‚เชฌเซ€" เชชเชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชธเซ‚เชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, 2 เชธเซ‡ เชฒเชพเช‚เชฌเซ€, เชฌเซ€เชŸ เชธเชฟเช•เซเชตเชจเซเชธ เชถเซ‚เชจเซเชฏ เชชเชฐ เชฐเซ€เชธเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชญเชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡.

เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เช‰เชชเชฐ เชฒเช–เชตเซเช‚ เชธเชฐเชณ เช›เซ‡.

sig_start, sig_stop = 0, 0
pos = 0
bits_str = ""
while pos < cnt - 4:
    if A[pos] < avg and A[pos+1] > avg:
        # Signal begin
        sig_start = pos
    if A[pos] > avg and A[pos+1] < avg:
        # Signal end
        sig_stop = pos

        diff = sig_stop - sig_start
    
        if diff < 0.85*sample_rate:
            bits_str += "1"
        if diff > 0.85*sample_rate and diff < 1.25*sample_rate:
            bits_str += "0"
        if diff > 1.5*sample_rate:
            print(bits_str)
            bits_str = ""

    pos += 1

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเชจเซ‡ เชฌเชฟเชŸเซเชธเชจเซ‹ เช•เซเชฐเชฎ เชฎเชณเซ‡ เช›เซ‡, เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เชฌเซ‡ เชธเซ‡เช•เชจเซเชก เชฎเชพเชŸเซ‡ เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

0011110110111000001011000001010000100110010101100010011000
0001111100110110001010100001010000100110010101100010011000

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชคเซ‡ เชฐเชธเชชเซเชฐเชฆ เช›เซ‡ เช•เซ‡ เชธเชฟเช—เซเชจเชฒเชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ‹ "เชฌเซ€เชœเซ‹ เชธเซเชคเชฐ" เชชเชฃ เช›เซ‡. เชฌเซ€เชŸ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชจเซเช•เซ‹เชก เชชเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเชฌเช•เซเช•เซ‹ เชฎเซ‹เชกเซเชฏเซเชฒเซ‡เชถเชจ. เชธเชฟเชฆเซเชงเชพเช‚เชคเชฎเชพเช‚, เช† เชจเชฌเชณเชพ เชธเชฟเช—เซเชจเชฒเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชชเชฃ เชตเชงเซ เชฎเชœเชฌเซ‚เชค เชกเซ€เช•เซ‹เชกเชฟเช‚เช— เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

เช…เชฎเชพเชฐเซเช‚ เช›เซ‡เชฒเซเชฒเซเช‚ เชชเช—เชฒเซเช‚: เชตเชพเชธเซเชคเชตเชฟเช• เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเชตเซ‹. เชฌเชฟเชŸเซเชธ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชกเชฎเชพเช‚ เชเช•เชตเชพเชฐ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซเชฒ 59 เชฌเชฟเชŸเซเชธ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช˜เชฃเซ€ เชฌเชงเซ€ เชฎเชพเชนเชฟเชคเซ€ เชเชจเซเช•เซ‹เชก เช•เชฐเซ‡เชฒเซ€ เช›เซ‡:
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชฌเชฟเชŸเซเชธเชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡ เชตเชฟเช•เชฟเชชเซ€เชกเชฟเชฏเชพ, เช…เชจเซ‡ เชคเซ‡เช“ เช–เซ‚เชฌ เชœ เชตเชฟเชšเชฟเชคเซเชฐ เช›เซ‡. เชชเซเชฐเชฅเชฎ 15 เชฌเชฟเชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชคเซ‹ เชจเชฅเซ€, เชœเซ‹ เช•เซ‡ เชšเซ‡เชคเชตเชฃเซ€ เชชเซเชฐเชฃเชพเชฒเซ€เช“ เช…เชจเซ‡ เชจเชพเช—เชฐเชฟเช• เชธเช‚เชฐเช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชนเชคเซ€. Bit A1 เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เช˜เชกเชฟเชฏเชพเชณ เช†เช—เชพเชฎเซ€ เช•เชฒเชพเช•เชฎเชพเช‚ เชกเซ‡เชฒเชพเช‡เชŸ เชธเซ‡เชตเชฟเช‚เช— เชŸเชพเช‡เชฎเชฎเชพเช‚ เชฌเชฆเชฒเชพเชถเซ‡. เชฌเซ€เชŸ A2 เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เชฒเซ€เชช เชธเซ‡เช•เชจเซเชก, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซเชฏเชพเชฐเซ‡เช• เชชเซƒเชฅเซเชตเซ€เชจเชพ เชชเชฐเชฟเชญเซเชฐเชฎเชฃ เช…เชจเซเชธเชพเชฐ เชธเชฎเชฏเชจเซ‡ เชธเชฎเชพเชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฌเชพเช•เซ€เชจเชพ เชฌเชฟเชŸเซเชธ เช•เชฒเชพเช•, เชฎเชฟเชจเชฟเชŸ, เชธเซ‡เช•เชจเซเชก เช…เชจเซ‡ เชคเชพเชฐเซ€เช–เชจเซ‡ เชเชจเซเช•เซ‹เชก เช•เชฐเซ‡ เช›เซ‡.

DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชœเซ‡เช“ เชชเซ‹เชคเชพเชจเซ€ เชœเชพเชคเซ‡ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช—เซ‡ เช›เซ‡ เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เชกเชฟเช•เซ‹เชกเชฟเช‚เช— เช•เซ‹เชก เชธเซเชชเซ‹เชˆเชฒเชฐ เชนเซ‡เช เชณ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.
เชธเซเชฐเซ‹เชค

def decode(bits):
    if bits[0] != '0' or bits[20] != '1':
        return
    
    minutes, hours, day_of_month, weekday, month, year = map(convert_block,
                                                             (bits[21:28], bits[29:35], bits[36:42], bits[42:45],
                                                              bits[45:50], bits[50:58]))
    days = ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
    print('{dow}, {dom:02}.{mon:02}.{y}, {h:02}:{m:02}'.format(h=hours, m=minutes, dow=days[weekday],
                                                               dom=day_of_month, mon=month, y=year))


def convert_ones(bits):
    return sum(2**i for i, bit in enumerate(bits) if bit == '1')


def convert_tens(bits):
    return 10*convert_ones(bits)


def right_parity(bits, parity_bit):
    num_of_ones = sum(int(bit) for bit in bits)
    return num_of_ones % 2 == int(parity_bit)


def convert_block(bits, parity=False):
    if parity and not right_parity(bits[:-1], bits[-1]):
        return -1
    
    ones = bits[:4]
    tens = bits[4:]
    return convert_tens(tens) + convert_ones(ones)

เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชœ เช†เช‰เชŸเชชเซเชŸ เชœเซ‹เชถเซเช‚:

0011110110111000001011000001010000100110010101100010011000
Tuesday, 26.03.19, 21:41
0001111100110110001010100001010000100110010101100010011000
Tuesday, 26.03.19, 21:42

เช–เชฐเซ‡เช–เชฐ, เชคเซ‡ เชฌเชงเซ‹ เชœเชพเชฆเซ เช›เซ‡. เช†เชตเซ€ เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เชซเชพเชฏเชฆเซ‹ เช เช›เซ‡ เช•เซ‡ เชกเซ€เช•เซ‹เชกเชฟเช‚เช— เช…เชคเซเชฏเช‚เชค เชธเชฐเชณ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ, เชธเซŒเชฅเซ€ เชธเชฐเชณ เชฎเชพเช‡เช•เซเชฐเซ‹เช•เชจเซเชŸเซเชฐเซ‹เชฒเชฐ เชชเชฐ เชชเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช…เชฎเซ‡ เชซเช•เซเชค เช•เช เซ‹เชณเชจเซ€ เชฒเช‚เชฌเชพเชˆ เช—เชฃเซ€เช เช›เซ€เช, 60 เชฌเชฟเชŸเซเชธ เชเช•เช เชพ เช•เชฐเซ€เช เช›เซ€เช, เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชฎเชฟเชจเชฟเชŸเชจเชพ เช…เช‚เชคเซ‡ เช…เชฎเชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชฎเชณเซ‡ เช›เซ‡. เชธเชฎเชฏ เชธเซเชฎเซ‡เชณเชจเซ€ เช…เชจเซเชฏ เชชเชฆเซเชงเชคเชฟเช“ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, GPS, เช…เชฅเชตเชพ เช—เซ‹เชก เชซเซ‹เชฐเชฌเชฟเชก, เชˆเชจเซเชŸเชฐเชจเซ‡เชŸ:) เชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚, เช†เชตเชพ เชฐเซ‡เชกเชฟเชฏเซ‹ เชธเชฟเช‚เช•เซเชฐเซ‹เชจเชพเชˆเชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฐเซ€เชคเซ‡ เช•เซ‹เชˆ เชตเซ€เชœเชณเซ€เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ - เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, 2 AA เชฌเซ‡เชŸเชฐเซ€ เชชเชฐ เชจเชฟเชฏเชฎเชฟเชค เชนเซ‹เชฎ เชตเซ‡เชงเชฐ เชธเซเชŸเซ‡เชถเชจ เชฒเช—เชญเช— เชเช• เชตเชฐเซเชท เชธเซเชงเซ€ เชšเชพเชฒเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เช•เชพเช‚เชกเชพ เช˜เชกเชฟเชฏเชพเชณเซ‹ เชชเชฃ เชฐเซ‡เชกเชฟเชฏเซ‹ เชธเชฟเช‚เช•เซเชฐเซ‹เชจเชพเช‡เชเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชฒเชฌเชคเซเชค, เชฆเชฟเชตเชพเชฒ เช˜เชกเชฟเชฏเชพเชณเซ‹ เช…เชฅเชตเชพ เชธเซเชŸเซเชฐเซ€เชŸ เชธเซเชŸเซ‡เชถเชจ เช˜เชกเชฟเชฏเชพเชณเซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เชจ เช•เชฐเชตเซ‹.

DCF เชจเซ€ เชธเช—เชตเชกเชคเชพ เช…เชจเซ‡ เชธเชฐเชณเชคเชพ เชชเชฃ DIY เช‰เชคเซเชธเชพเชนเซ€เช“เชจเซ‡ เช†เช•เชฐเซเชทเซ‡ เช›เซ‡. เชฎเชพเชคเซเชฐ $10-20 เชฎเชพเช‚ เชคเชฎเซ‡ เชคเซˆเชฏเชพเชฐ เชฐเซ€เชธเซ€เชตเชฐ เช…เชจเซ‡ TTL เช†เช‰เชŸเชชเซเชŸ เชธเชพเชฅเซ‡ เชคเซˆเชฏเชพเชฐ เชเชจเซเชŸเซ‡เชจเชพ เชฎเซ‹เชกเซเชฏเซเชฒ เช–เชฐเซ€เชฆเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡ Arduino เช…เชฅเชตเชพ เช…เชจเซเชฏ เชจเชฟเชฏเช‚เชคเซเชฐเช• เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.
DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

Arduino เชฎเชพเชŸเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฒเช–เซเชฏเซเช‚ เช›เซ‡ เชคเซˆเชฏเชพเชฐ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹. เชœเซ‹ เช•เซ‡, เชคเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชœเชพเชฃเซ€เชคเซเช‚ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชฎเชพเช‡เช•เซเชฐเซ‹เช•เชจเซเชŸเซเชฐเซ‹เชฒเชฐ เชชเชฐ เชถเซเช‚ เช•เชฐเซ‹ เช›เซ‹ เชคเซ‡ เช•เซ‹เชˆ เชฌเชพเชฌเชค เชจเชฅเซ€, เชคเชฎเซ‡ เช•เชพเช‚ เชคเซ‹ เช˜เชกเชฟเชฏเชพเชณ เช…เชฅเชตเชพ เชนเชตเชพเชฎเชพเชจ เชธเซเชŸเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชถเซ‹. เช†เชตเชพ เช‰เชชเช•เชฐเชฃ เชธเชพเชฅเซ‡, เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชฎเซ‡เชณเชตเชตเซ‹ เช–เชฐเซ‡เช–เชฐ เชธเชฐเชณ เช›เซ‡, เชœเซ‹ เช•เซ‡, เช…เชฒเชฌเชคเซเชค, เชคเชฎเซ‡ เชธเซเชตเชพเช—เชค เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เช›เซ‹. เชธเชพเชฐเซเช‚, เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เช˜เชกเชฟเชฏเชพเชณ เชชเชฐ เชถเชฟเชฒเชพเชฒเซ‡เช– "เช…เชฃเซ เช˜เชกเชฟเชฏเชพเชณ" เชฒเชŸเช•เชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชฆเชฐเซ‡เช•เชจเซ‡ เชธเชฎเชœเชพเชตเซ‹ เช•เซ‡ เช‰เชชเช•เชฐเชฃ เช–เชฐเซ‡เช–เชฐ เช…เชฃเซ เช˜เชกเชฟเชฏเชพเชณเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เช เชฅเชฏเซ‡เชฒ เช›เซ‡.

เชœเซ‡เช“ เชˆเชšเซเช›เซ‡ เช›เซ‡ เชคเซ‡เช“ เชฐเซ‡เชกเชฟเชฏเซ‹ เชธเชฟเช‚เช•เซเชฐเซ‹เชจเชพเช‡เชเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชจเชตเซ€ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชœเซ‚เชจเซ€ เชฆเชพเชฆเซ€เชจเซ€ เช˜เชกเชฟเชฏเชพเชณเชจเซ‡ เชชเชฃ เช…เชชเช—เซเชฐเซ‡เชก เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡:

DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?

เชคเชฎเซ‡ "เชฐเซ‡เชกเชฟเชฏเซ‹ เช•เช‚เชŸเซเชฐเซ‹เชฒเซเชก เชฎเซ‚เชตเชฎเซ‡เชจเซเชŸ" เช•เซ€เชตเชฐเซเชกเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‡เชฌเซ‡ เชชเชฐ เชเช• เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹.

เช…เชจเซ‡ เช›เซ‡เชฒเซเชฒเซ‡, เชœเซ‡เชฎเชฃเซ‡ เช†เชŸเชฒเซเช‚ เชตเชพเช‚เชšเซเชฏเซเช‚ เช›เซ‡ เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เชฒเชพเช‡เชซ เชนเซ‡เช•. เชœเซ‹ เช†เช—เชพเชฎเซ€ เชฌเซ‡ เชนเชœเชพเชฐ เช•เชฟเชฎเซ€เชฎเชพเช‚ เชเช• เชชเชฃ เชฐเซ‡เชกเชฟเชฏเซ‹ เชธเชฟเช—เซเชจเชฒ เชŸเซเชฐเชพเชจเซเชธเชฎเซ€เชŸเชฐ เชจ เชนเซ‹เชฏ เชคเซ‹ เชชเชฃ เช†เชตเชพ เชธเชฟเช—เซเชจเชฒ เชœเชพเชคเซ‡ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชฅเซ€. เช—เซ‚เช—เชฒ เชชเซเชฒเซ‡ เชชเชฐ "DCF77 เชเชฎเซเชฏเซเชฒเซ‡เชŸเชฐ" เชจเชพเชฎเชจเซ‹ เชเช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช›เซ‡ เชœเซ‡ เชนเซ‡เชกเชซเซ‹เชจ เชชเชฐ เชธเชฟเช—เซเชจเชฒ เช†เช‰เชŸเชชเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชฒเซ‡เช–เช•เชจเชพ เชฎเชคเซ‡, เชœเซ‹ เชคเชฎเซ‡ เช˜เชกเชฟเชฏเชพเชณเชจเซ€ เช†เชœเซเชฌเชพเชœเซ เชนเซ‡เชกเชซเซ‹เชจเซเชธเชจเชพ เชตเชพเชฏเชฐเชจเซ‡ เชฒเชชเซ‡เชŸเซ€ เชฒเซ‹, เชคเซ‹ เชคเซ‡เช“ เชธเชฟเช—เซเชจเชฒเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชถเซ‡ (เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฐเชธเชชเซเชฐเชฆ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชกเชซเซ‹เชจ 77KHz เชธเชฟเช—เซเชจเชฒ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฐเชฟเชธเซ‡เชชเซเชถเชจ เช•เชฆเชพเชš เชนเชพเชฐเซเชฎเซ‹เชจเชฟเช•เซเชธเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡). เชเชจเซเชกเซเชฐเซ‹เช‡เชก 9 เชชเชฐ, เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฌเชฟเชฒเช•เซเชฒ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจ เชนเชคเซเช‚ - เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เช…เชตเชพเชœ เชจ เชนเชคเซ‹ (เช…เชฅเชตเชพ เช•เชฆเชพเชš เชฎเซ‡เช‚ เชคเซ‡ เชธเชพเช‚เชญเชณเซเชฏเซเช‚ เชจ เชนเชคเซเช‚ - เชคเซ‡ 77KHz เช›เซ‡, เช›เซ‡เชตเชŸเซ‡:), เชชเชฐเช‚เชคเซ เช•เชฆเชพเชš เช•เซ‹เชˆเชจเซ‡ เชตเชงเซ เชธเชพเชฐเซเช‚ เชจเชธเซ€เชฌ เชนเชถเซ‡. เชœเซ‹ เช•เซ‡, เช•เซ‡เชŸเชฒเชพเช• เชชเซ‹เชคเชพเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ DCF เชธเชฟเช—เซเชจเชฒ เชœเชจเชฐเซ‡เชŸเชฐ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชœเซ‡ เชธเชฎเชพเชจ Arduino เช…เชฅเชตเชพ ESP32 เชชเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช›เซ‡:

DCF77: เชŸเชพเช‡เชฎ เชธเชฟเช—เซเชจเชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡?
(เชธเซเชคเซเชฐเซ‹เชค sgfantasytoys.wordpress.com/2015/05/13/synchronize-radio-controlled-watch-without-access)

เชจเชฟเชทเซเช•เชฐเซเชท

เชกเซ€เชธเซ€เชเชซ เชธเชฟเชธเซเชŸเชฎ เช–เชฐเซ‡เช–เชฐ เชเช•เชฆเชฎ เชธเชฐเชณ เช…เชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชเช• เชธเชฐเชณ เช…เชจเซ‡ เชธเชธเซเชคเชพ เชฐเซ€เชธเซ€เชตเชฐเชจเซ€ เชฎเชฆเชฆเชฅเซ€, เชคเชฎเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชฒเชฌเชคเซเชค เชฐเชฟเชธเซ‡เชชเซเชถเชจ เชเชฐเชฟเชฏเชพเชฎเชพเช‚. เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชตเซเชฏเชพเชชเช• เชกเชฟเชœเชฟเชŸเชฒเชพเช‡เชเซ‡เชถเชจ เช…เชจเซ‡ เชตเชธเซเชคเซเช“เชจเซเช‚ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เช†เชตเชพ เชธเชฐเชณ เช‰เช•เซ‡เชฒเซ‹ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชฎเชพเช‚เช—เชฎเชพเช‚ เชฐเชนเซ‡เชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹