問題タブ [dcf77]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5721 参照

algorithm - DCF77 デコーダ vs. ノイズの多い信号

オープン ソースの DCF77 デコーダ プロジェクトをほぼ完成させました。すべては、標準 (Arduino) DCF77 ライブラリがノイズの多い信号に対して非常にうまく機能しないことに気付いたときに始まりました。特に、アンテナがコンピューターの近くにあるとき、または洗濯機が作動しているときに、デコーダーからタイムアウトを取得することができませんでした.

私の最初のアプローチは、(デジタル) 指数フィルター + トリガーを入力信号に追加することでした。

これにより状況は大幅に改善されましたが、それでもあまり良くはありませんでした。それから、デジタル信号処理に関する標準的な本を何冊か読み始め、特にクロード・エルウッド・シャノンのオリジナル作品を読み始めました。私の結論は、適切なアプローチは、(うるう秒を除いて) アプリオリに完全に知られているため、信号をまったく「デコード」しないことであるということでした。代わりに、受信したデータをローカルで合成された信号に一致させ、適切な位相を決定する方が適切です。これにより、実効帯域幅が数桁減少し、ノイズが大幅に減少します。

位相検出は、高速畳み込みの必要性を意味します。効率的な畳み込みの標準的なアプローチは、もちろん高速フーリエ変換です。ただし、Arduino / Atmega 328 に実装しています。したがって、RAM は 2k しかありません。そこで、FFT を使用した単純なアプローチの代わりに、一致するフェーズ ロック ループ フィルターを積み重ねることにしました。ここで、さまざまなプロジェクトの段階を文書化しました。

私はインターネットをかなり広範囲に検索しましたが、同様のアプローチは見つかりませんでした。それでも、同様の(そしておそらくより良い)実装があるかどうか疑問に思います。または、この種の信号再構成に関する研究が存在する場合。

私が探していないもの: シャノン限界に近づくための最適化されたコードの設計。また、DCF77 に重畳された PRNG コードに関する情報も検索していません。現在の実装は一致したフィルターの近似であるため、「一致したフィルター」に関するヒントも必要ありません。Viterbi Decoders または Trellis アプローチに関する具体的なヒントは、私が探しているものではありません。CPU と RAM の厳しい制約の問題に対処しない限りは。

私が探しているもの: DCF77 のような信号をデコードするための他の重要なアルゴリズムの説明/実装はありますか? インターネット以前の時代の本や論文でしょうか?

0 投票する
0 に答える
530 参照

ntp - ntp パース クロック ドライバの適切なモード

現在、DIY DCF77 クロックを使用して NTP Stratum 1 タイム サーバーをセットアップしています。ドキュメントによると、以下のいずれかの行を構成する必要があります。

残念ながら、ドキュメンテーションには、これらのドライバーの違いに関する詳細は記載されていません。どちらを選択すべきか、またその理由について誰かヒントがありますか?

0 投票する
1 に答える
993 参照

ntpd - シリアル ntp refclock のジッターを減らす

現在、DIY DC77 クロックを ntpd に接続しようとしています (Ubuntu を使用)。ここの指示に従いました: http://wiki.ubuntuusers.de/Systemzeit

ntpq で DCF77 の時計が見える

これまでのところ、これは問題ないようです。しかし、私は2つの質問があります。

  1. オフセットの符号は正確には何ですか?.DCFa です。システムクロックより進んでいますか、それともシステムクロックより遅れていますか?
  2. .DCFa. Meinberg クロックをエミュレートする DIY DCF77 クロックである refclock-0 を指します。9600 7e2 で動作する FTDI USB シリアル アダプターを使用して、私の Ubuntu Linux ボックスに接続されています。DSO を使用して、ジッターが 1 ミリ秒を大幅に下回る時間を出力することを確認しました。したがって、ジッターは FTDI アダプターまたはカーネルのいずれかによって導入されると思います。どのように見つけて、どうすればそれを減らすことができますか?