0

FPGAで「任意波形発生器」を作っています。現在、FPGAを使用して[verilogを使用して]「sinc」ウェーブの生成に取り組んでいます。

固定周波数の場合、ROMでLUTを使用してsincを作成できますが、ユーザー定義の周波数のsincを作成するオプションを指定する必要があります。

だから、それを作る方法はいいアイデアですか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

可変周波数sin(x)機能には引き続きLUTを使用できます。

正弦波の単一サイクルの1000程度のLUT(希望する解像度に応じて)エントリを生成するだけです。次に、目的の周波数に基づいて、各クロックサイクルをジャンプするエントリの数を決定します。

たとえば、クロックが1MHzで、必要な出力周波数が1KHzの場合、クロックごとに次のLUTエントリにステップします(1000クロックサイクルで周期を完了します)。必要な出力周波数が10KHzの場合、サイクルごとにLUTの10エントリをジャンプします。(100クロックサイクルで期間を完了します)

ただし、sincを取得するにはsin(x)/x、除算回路を実装する必要があると思います。これを回避する方法は考えられません。

于 2013-03-22T19:03:20.597 に答える