2009-11-19 4 views
12

C/C++のどのDSPライブラリをお勧めしますか?私は、リアルタイム組込みシステムのためにそれを必要とします。音信号処理も一緒に行えるのはすばらしいことですが、必須ではありません。 DSPライブラリの知識があれば、親切に共有してください。良いC/C++ DSPライブラリですか?

+0

それは無料またはオープンソースではない、ことでしょうか?どのプロセッサを使用していますか? –

+0

オープンソースは必須ではありませんが、持っていればいいです。私たちはAVR、ARM、さらには中距離チップを考えています。お返事をありがとうございます。 – Viet

+0

あなたが言及した部分を与えられた場合、この「埋め込み」タグを付けることができますが、あなたはタグ割り当てを使用していますので、タグを付け直すことができます。私はあなたに「DSP」と「デジタル信号処理」が不要であることをお勧めします。 – Clifford

答えて

8

私たちは、AVR、ARMのことを考え、さらにいくつかのミドルレンジチップ

どちらも特にDSPのために設計されていないが、しかし、あなたのパフォーマンス要件が十分に控えめであれば、それは問題ではないかもしれないされています。 DSPで何をする必要がありますか?私はあなたのプラットフォームを最初に選択し、ベンダーのライブラリを使用することをお勧めします。これはプラットフォーム用に最適化されるからです。ベンダーがDSPライブラリを持っていない場合、その部分は良いDSPプラットフォームではないかもしれません。

たとえば、マイクロチップ社のdsPICデバイスは、FIRやFFTなどのDSPアルゴリズムで優れた性能を発揮するDSPサブシステムを備えたマイクロコントローラで、マイクロチップ社はその部分に最適化されたDSPライブラリを提供します。

STは、DSPライブラリを提供します。これらはDSPではなくCortex M3デバイスですが、Harvardアーキテクチャと乗算累算命令は、モータ制御やスピーチバンドオーディオ処理などのローエンドアプリケーションで十分に機能します。技術的には、DSPライブラリはソースコードとして提供されるため、おそらくThumb-2命令セットデバイスに移植されますが、そのような使用のためにライセンスされていない可能性があります。同じ動作周波数では、DSPアルゴリズムのdsPIC(最適化されたアセンブラライブラリを使用する場合)よりもかなり遅いですが、一般にCコード実行時の方が高速ですが、コードとアプリケーションによって走行距離が異なる場合があります。

同様に、Atmelは、AVR32のDSPライブラリを提供しています。私はこれを直接経験していませんが、Cortex m3デバイスと同等の性能が期待されます。おそらく、Atmelのライブラリははるかに広範であり、そのSTをよりよく文書化しています。

純粋なDSPではないものをもっと速くしたいのであれば、専用DSPではない多くのアプリケーションで、驚異的な2MIPS/MHzのデバイスを扱うことは問題ではなく、一部のDSP拡張場合。ここでも、ベンダーは最適化されたDSPライブラリを提供します。

これらの「汎用DSP機能」デバイス以外にも、もちろん実際のDSPを選択することができます。 TIは、ローエンドからハイ・レベルまで幅広いデバイスを製造しています。しかし私の経験では、TIの開発ツールに対する高い手数料のために開発コストが高く、多くの部品はオンチップ周辺機器上で少し明るいです。

[UPDATE 23 APRIのl2012] 新しいSTM32F4xx部品は、Cortex-M4はとてもベースDSPと浮動小数点ハードウェアを含んでいます。 Cortex-M3ベースのSTM32F1xx/F2xxパーツと同じDSPライブラリAPIを使用しますが、パフォーマンスを向上させるためにDSPコアを使用します。

+0

これらはライブラリではありません。しかし、悲惨な機能のセット。 ARM DSPのlibもそれを使用するにはあまりにも悪いです。良いlibの例はhttp://aquila-dsp.org/ですが、実行するには強力なコアと強力な最新のコンパイラが必要です。 – kyb

+0

@kyb:提案がある場合は、回答を投稿する必要があります。明らかに図書館は「哀れなやり方」の「一連の機能」であり、私は意見書が有用で適切であるとは確信していません。さらに8年後には、私も別のアドバイスを与えるだろうと確信しています!あなたがリンクしたサイトは、質問があったときにも存在しませんでした。実際には、今日の質問はほぼ確実に話題として閉じられるでしょう。 – Clifford

2

キリルは、あなたの要件とプラットフォームによって異なると述べています。

インテルベースのマシンの場合Intel's Performance Primitivesは鮮やかです。かなり安い。

+0

IPPはARM XScaleおよびx86ではサポートされています – Clifford

1

Aquilaは、使いやすく小型です。

Aquila DSP Library

+0

これは素晴らしいライブラリですが、残念ながら現在はFIR/IIRサポートはありません –

関連する問題