Kitap önerisi - C'ye DSP kodu yazma


12

Ben sadece tüm ana DSP yöntemleri yapmak için, aslında bir kod yazmak nasıl göstermek bazı iyi kitap arıyorum.

  1. FFT.
  2. Alçak geçiren ve yüksek geçiren filtreler.
  3. Otomatik korelasyon.
  4. Gürültü işleme.

Ve teoriden C'de gerçek bir koda dönüşen DSP'nin tüm temelleri.

Örneğin, 1000 örneğim var, şimdi FFT'sini hesaplamak, sesleri çıkarmak, sonra zaman eksenine geri getirmek istiyorum.

Tüm bunları kapsayan iyi bir şey var mı?


1
Güzel soru! Bir etiketi referans-istek olarak değiştirdim çünkü istediğin gibi görünüyor.
Peter K.

2
DFFT bir yazım hatası mı?
Gilles

Evet, sadece DFFT yok FFT
Brethlosze

Yanıtlar:


13

Size DSP for C dili hakkında iki kitap önerebilirim.

Embree PM - C Dijital Sinyal İşleme için Dil Algoritmaları

Eski ve kolayca iyi bir fiyat için ikinci el alabilirsiniz. Açıkladığınız 4 konunun neredeyse tamamını kapsar.

Tavsiye ettiğim diğeri:

Malepati H. - Dijital Medya İşleme: C Kullanarak DSP Algoritmaları

Çok daha fazla konuyu kapsar (hata düzeltme algoritmaları ve görüntü / video işleme algoritmaları dahil). Bununla ilgili güzel olan şey, uygulamanızı test etmek için test sinyallerinin sağlanmasıdır.


Sadece masamda DSP için bazı C kodu olan başka bir kitap olduğunu hatırladım.

Basın WH - Sayısal Tarifler: Bilimsel Hesaplama Sanatı

Fourier Dönüşümü ve uygulamaları hakkında iki bölüm vardır.


Son bir öneri - yapabiliyorsanız, lütfen kendi araçlarınızı yazmak yerine mevcut bir C kitaplığını kullanın. Tekerleği yeniden icat etmenin bir anlamı yok.


4
Diğer yetenekler gibi icat, en basit örneklerden başladığında ve yeterince uygulandığında en iyi öğrenilir. Bu nedenle, tekerleği icat etmek, bir başarı olarak bir değer kattığı için değil, mucidin buluşların doğası hakkında gerekli içgörüleri inşa etmesini sağladığı için faydalıdır.
Fat32

3
Buna kesinlikle katılıyorum. Yine de yaptığım projelerin% 99'unda tekerleği yeniden icat etmek için zaman yoktu. Öte yandan, evde kendi eşyalarımı yaparken, vakaların% 99'unda mevcut araçları öğrenmek ve geliştirmek için tekerleği yeniden icat ediyorum.
jojek

Benim düşünceme göre, mevcut kütüphaneleri kullanmak biraz karışıklıktır, hepsine tek bir çerçevede sahip olmanız değil, her birine güvenmeniz gerekir ve DSP ile her zaman farklı giriş türleriniz vardır ve işler çok daha fazladır karmaşık ve sonra bunu yapan bir kara kutu.
Curnelious

@Curnelious EventBir ölçüde haklı olmanıza rağmen (ve bazı kütüphaneler için) Mevcut tüm kütüphanelerin bir karmaşa olduğunu kabul edemem. Ve itiraf etmeliyiz ki hepimiz onları kullanıyoruz. Mesele gerçeklikten ziyade felsefe ile ilgilidir.
Fat32

İyi bilinen kitaplıkların kullanılmasının en büyük yanlarından biri, kullanıcının kodun gerçekten gözden geçirildiğinden az çok emin olabilmesidir. Çoğu zaman, insanların düşünmeyeceği bazı çok özel durumlarda oldukça sorunlu olabilecek bazı uç durumlar olabilir. Şu anda DSP örneklerini düşünemiyorum, ancak genel sorun türünün çok açıklayıcı bir örneği, geçmişten belirli bir tarihe kadar olan dakika sayısını hesaplamaya çalışıyor. İlk başta, sadece gün sayısını almak kadar basit görünebilir, ancak saat ve takvim değişiklikleri devreye girdiğinde çok karmaşık hale gelir.
AndrejaKo

7

SJ Orfanidis'in Sinyal İşlemeye Girişini öneriyorum . Teori ve pratiğin iyi bir karışımıyla harika bir kitap ve ayrıca C ve Matlab'da kod örnekleri var. Üzerinde çalıştıktan sonra, kendi başınıza devam ettirecek kadar bilginiz olacak.


0

Embree PM - C Dijital Sinyal İşleme için Dil Algoritmaları

filtreleri oluşturma konusunda MSC çalışmamda yararlı oldu ... Matlab kodlayıcı ile başlıkları oluşturabilirsiniz .... Ben sadece onun gerçek yaşamda uygulamak daha kolay trig yerine karmaşık numaraları ile onun fft uygulanması ile ilgili sorunlar vardı .


-1

Matlab sinyal işleme fonksiyonlarının openSAL ve Octave kaynaklarının kaynak koduna bakabilirsiniz (C değil, yararlı). Ben de öyle yaptım.


Bu riskli bir işlem .... Matlab kodu çok iç içe fonksiyonları içerir ve kod ters mühendislik bitirme çok olası .... Ben geçmişte denedim ve hayır ben bir acemi bunu yapmak gerektiğini düşünüyorum
Brethlosze
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.