ブックの推奨事項-CでのDSPコードの作成


12

私は、すべての主要なDSPメソッドを実行するために、実際にCでコードを記述する方法を示すだけの良い本を探しています。

  1. FFT。
  2. ローパスおよびハイパスフィルター。
  3. 自己相関。
  4. ノイズ処理。

そして、理論からCの実際のコードまで、DSPのすべての基礎。

たとえば、1000個のサンプルがありますが、そのFFTを計算し、ノイズを除去してから時間軸に戻したいと思います。

これらすべてをカバーする良いものはありますか?


1
いい質問です!タグが参照要求に変更されたのは、それがあなたが求めているものであるようだからです。
ピーターK。

2
DFFTはタイプミスですか?
ジル

ええ、DFFTのみのFFTはありません
Brethlosze

回答:


13

C言語用DSPに関する2冊の本をお勧めします。

Embree PM- デジタル信号処理用のC言語アルゴリズム

それは古く、手頃な価格で簡単に手に入れることができます。説明した4つのトピックのほとんどすべてをカバーしています。

私がお勧めするもう1つは:

Malepati H.- デジタルメディア処理:Cを使用したDSPアルゴリズム

より多くのトピック(エラー修正アルゴリズムと画像/ビデオ処理アルゴリズムを含む)をカバーしています。その良い点は、実装をテストするためのテスト信号が提供されることです。


私はちょうど私の机にDSP用のCコードを含む別の本があることを思い出しました。

プレスWH- 数値レシピ:科学コンピューティングの技術

フーリエ変換とその応用については2つの章があります。


最後の提案-可能であれば、独自のツールを作成する代わりに、既存のCライブラリを使用してください。車輪を再発明する意味はありません。


4
他の能力と同様に、発明は最も簡単な例から始めて十分に実践したときに最もよく学習されます。したがって、ホイールを発明することは、成果として価値を追加するためではなく、発明者が発明の本質に関する必要な洞察を構築することを可能にするため、常に有益です。
-Fat32

3
私はそれに完全に同意します。それにもかかわらず、私がやってきたプロジェクトの99%で、車輪を再発明する時間はありませんでした。一方、自宅で自分の仕事をしているときは、99%のケースで、現在のツールを学び、改善するために車輪を再発明しています。
jojek

私の意見では、既存のライブラリを使用することは一種の混乱であり、それらをすべて1つのフレームワークに収めるのではなく、それらのそれぞれに依存する必要があり、DSPでは常に異なる種類の入力があり、物事はもっとたくさんあります複雑な場合は、これを行うブラックボックスだけです。
残忍な

@Curnelious Eventあなたはある程度正しい(そして一部のライブラリーについて)ですが、既存のすべてのライブラリーが混乱していることに同意することはできません。そして、私たちは皆それらを使用していることを認めなければなりません。ポイントは、現実ではなく哲学についてです。
-Fat32

よく知られているライブラリを使用することの大きな利点の1つは、ユーザーがコードが実際にレビューされることを多少なりとも確信できることです。非常に特定の状況で非常に問題となる可能性がある、人々が考えないエッジケースがかなり頻繁にあります。現在DSPの例を考えることはできませんが、一般的なタイプの問題の非常にわかりやすい例の1つは、過去の特定の日付から現在までの分数を計算しようとしていることです。最初は、単に日数を取得するのと同じくらい簡単に見えますが、時刻とカレンダーの変更が出てくると、非常に複雑になります。
-AndrejaKo

7

SJ Orfanidisによる信号処理入門をお勧めします。理論と実践をうまく組み合わせた素晴らしい本であり、CとMatlabのコード例もあります。作業を終えたら、自分で実行するのに十分なことがわかります。


0

Embree PM-デジタル信号処理用のC言語アルゴリズム

MSCでのフィルターの構築に役立ちました... Matlabのコーダーでヘッダーを構築できますが...実際の実装でより簡単なtrigの代わりに複素数を使用した彼のfftの実装で問題が発生しました。 。


-1

Matlab信号処理関数のopenSALおよびOctaveソースのソースコードを見ることができます(Cではなく便利です)。これは私がやったことです。


これは危険な手順です....私が過去にこれを試してみましたが、いない私は、初心者がこれをやるべきだと思うDINT .... Matlabのコードは、非常に多くのネストされた関数が含まれ、それは非常に可能性の高いコードをリバースエンジニアリング仕上げにある
Brethlosze
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.