Saya memiliki eksposur ke MATLAB dan memiliki beberapa eksposur dasar untuk pemrosesan sinyal dan merencanakan di MATLAB ... tapi saya lebih nyaman dengan C / C ++ daripada MATLAB karena saya telah bekerja dalam pemrosesan gambar dengan OpenCV ... Saya hanya ingin tahu: Apakah ada perpustakaan atau platform DSP (seperti OpenCV untuk pemrosesan gambar) untuk melakukan pemrosesan sinyal di C / C ++?
image-processing
signal-analysis
dsp-core
rotating_image
sumber
sumber
Jawaban:
Octave adalah matematika open source multi-platform dan toolkit matriks. Ini memiliki interpreter baris perintah yang bertujuan sangat mirip dengan MATLAB, tetapi ada juga API C ++ yang tersedia untuk digunakan. Karena Anda merujuk pada pemrosesan sinyal yang berbeda dengan pemrosesan gambar, saya anggap Anda maksud pemrosesan audio, jadi Anda mungkin perlu melihat paket "sinyal" dan "audio" dalam oktaf (yang menyediakan mis. Wavread). Namun perlu diingat, bahwa API terutama dirancang untuk penggunaan internal dalam CLI oktaf, dan itu dianggap tidak stabil (yaitu binding mungkin berubah). Juga, karena perpustakaan tidak dimaksudkan untuk dihubungkan, dokumentasinya buruk untuk sedikitnya.
Atau, ada juga Perpustakaan Ilmiah GNU , yang tidak terutama ditujukan untuk pemrosesan sinyal, tetapi menyediakan bilangan kompleks, matriks, fft dan sebagainya. Di Windows, Anda harus mengompilasinya sendiri menggunakan Cygwin.
sumber
Sudahkah Anda memeriksa gnuradio ? Mereka memiliki blok yang mirip dengan apa yang digunakan dalam pemrosesan sinyal. Ketika saya menggunakan beberapa tahun yang lalu, ada sejumlah besar blok yang sudah tersedia dan lebih banyak dalam karya, semua ditulis dalam C ++. Blok-blok itu dilem bersama-sama menggunakan python, tetapi implementasi C ++ lengkap sedang dalam pengerjaan.
sumber
Pustaka C + + Intel Integrated Performance Primitives (IPP) memiliki komponen pemrosesan sinyal dan komponen pemrosesan gambar.
sumber
Saya belum menggunakannya, tetapi telah mendengar hal-hal baik tentang armadillo ( http://arma.sourceforge.net/ ) untuk fungsi seperti matlab. Ada beberapa yang lain menyukainya, tetapi tampaknya armadillo dioptimalkan dan dikembangkan secara aktif.
Bagian dari daya tarik oktaf, matlab, atau python / numpy / scipy (kadang-kadang disebut "pylab") adalah sintaks sederhana bersama dengan interpreter interaktif dengan penyelesaian tab. Ini bisa mempercepat pengembangan sedikit.
Dengan python / numpy, dimungkinkan untuk membungkus dll dengan pembungkus python, dan menggunakannya dari dalam interpreter interaktif. Saya percaya ini juga bisa dilakukan dengan matlab, tapi saya tidak yakin apakah ini bisa dilakukan dalam oktaf. Berhati-hatilah, bagaimanapun, bahwa ini bisa sedikit rumit di python / numpy meskipun saya telah menemukan manfaat yang sepadan dengan biaya di masa lalu ketika kinerja sangat penting.
sumber
Armadillo melakukan pekerjaan yang bagus untuk aljabar linier dalam C ++ (cukup cepat melalui templat ekspresi), dan tentunya dapat digunakan untuk pemrosesan sinyal juga. Selain mendukung matriks dengan berbagai jenis elemen, ia memiliki dukungan untuk tensor orde 3 (kubus), yang berguna dalam pemrosesan gambar.
Ada juga pustaka C ++ terkait yang dikenal sebagai IT ++ , yang tidak secepat Armadillo, tetapi memiliki lebih banyak kelas pra-bangun yang diarahkan pada pemrosesan sinyal dan komunikasi.
sumber
JUCE adalah pustaka platform audio C ++ yang bagus. Anda dapat membuat VST dengan mudah di dalamnya jika Anda ingin dengan cepat memiliki buffer I / O yang diputar ke kartu suara yang dapat Anda kerjakan. Plus setelahnya Anda dapat menggunakannya sebagai cross platform VST jika Anda mau.
sumber