पुस्तक के लिए अनुशंसा - सी में डीएसपी कोड लिखना


12

मैं कुछ अच्छी किताबों की तलाश में हूँ, जो यह दर्शाती हैं कि कैसे आप वास्तव में सी में एक कोड लिखते हैं, सभी मुख्य डीएसपी तरीकों को करने के लिए।

  1. FFT।
  2. कम-पास और उच्च-पास फ़िल्टर।
  3. ऑटो सहसंबंध।
  4. शोर प्रसंस्करण।

और डीएसपी की सभी मूल बातें, सिद्धांत से सी में एक वास्तविक कोड में।

उदाहरण के लिए, मुझे 1000 नमूने मिले हैं, अब मैं इसके एफएफटी की गणना करना चाहता हूं, शोर निकालना, फिर समय की धुरी पर वापस लाना।

क्या कुछ अच्छा है जो इन सभी को कवर करता है?


1
अच्छा प्रश्न! मैंने एक टैग को संदर्भ-अनुरोध में बदल दिया क्योंकि ऐसा लगता है कि आप क्या पूछ रहे हैं।
पीटर के.एच.

2
DFFT एक टाइपो है?
गाइल्स

हाँ, कोई FFT केवल FFT नहीं है
ब्रेथोल्ज़ेज़

जवाबों:


13

मैं आपको सी भाषा के लिए डीएसपी के बारे में दो किताबें सुझा सकता हूं।

एम्ब्री पीएम - डिजिटल सिग्नल प्रोसेसिंग के लिए सी लैंग्वेज एल्गोरिदम

यह पुराना है और आप इसे अच्छी कीमत के लिए आसानी से प्राप्त कर सकते हैं। इसमें आपके द्वारा वर्णित सभी 4 विषयों को शामिल किया गया है।

मेरे द्वारा सुझाया गया दूसरा है:

मलपति एच। - डिजिटल मीडिया प्रोसेसिंग: डीएसपी एल्गोरिदम सी का उपयोग करना

इसमें अधिक विषयों (त्रुटि सुधार एल्गोरिदम और छवि / वीडियो प्रसंस्करण एल्गोरिदम सहित) शामिल हैं। उस एक के बारे में अच्छी बात यह है कि आपके कार्यान्वयन का परीक्षण करने के लिए परीक्षण संकेत प्रदान किए जाते हैं।


मुझे बस याद है कि मेरी डेस्क पर एक और किताब है जिसमें डीएसपी के लिए कुछ सी कोड है।

प्रेस WH - न्यूमेरिकल रेसिपी: द आर्ट ऑफ साइंटिफिक कंप्यूटिंग

फूरियर रूपांतरण और इसके अनुप्रयोगों के बारे में दो अध्याय हैं।


एक अंतिम सुझाव - यदि आप कर सकते हैं, तो कृपया अपने स्वयं के उपकरण लिखने के बजाय मौजूदा सी लाइब्रेरी का उपयोग करें। पहिए का फिर से आविष्कार करने का कोई मतलब नहीं है।


4
किसी भी अन्य क्षमता की तरह, आविष्कार करना सबसे अच्छा सीखा जाता है जब सबसे सरल उदाहरणों से शुरू किया जाता है और पर्याप्त अभ्यास किया जाता है। इसलिए पहिया का आविष्कार करना हमेशा फायदेमंद होता है, क्योंकि यह एक उपलब्धि के रूप में एक मूल्य जोड़ता है, लेकिन क्योंकि यह आविष्कारक को आविष्कारों की प्रकृति की आवश्यक अंतर्दृष्टि का निर्माण करने में सक्षम बनाता है।
Fat32

3
मैं उससे पूर्णतया सहमत हूँ। फिर भी, 99% परियोजनाओं में जो मैं कर रहा हूं, पहिया को फिर से आविष्कार करने का समय नहीं था। दूसरी ओर, जब मैं घर पर अपना सामान बना रहा होता हूं, तो 99% मामलों में मैं वर्तमान उपकरणों को सीखने और सुधारने के लिए पहिया का फिर से आविष्कार कर रहा हूं।
jojek

मेरी राय में, मौजूदा पुस्तकालयों का उपयोग करना एक तरह का गड़बड़ है, इसका यह नहीं है कि आप उन सभी को एक ढांचे में रखते हैं, आपको उनमें से हर एक पर निर्भर रहना होगा, और डीएसपी के साथ आपके पास हमेशा विभिन्न प्रकार के इनपुट होते हैं, और चीजें बहुत अधिक होती हैं जटिल तो सिर्फ एक ब्लैक बॉक्स है जो ऐसा करता है और वह।
कर्नलियस

@ पूरी तरह से Eventhough आप कुछ हद तक सही हैं (और कुछ पुस्तकालयों के लिए) मैं सहमत नहीं हो सकता कि सभी मौजूदा पुस्तकालय एक गड़बड़ हैं। और हमें स्वीकार करना चाहिए कि हम सभी उनका उपयोग कर रहे हैं। बात वास्तविकता के बजाय दर्शन के बारे में है।
Fat32

अच्छी तरह से ज्ञात पुस्तकालयों का उपयोग करने का एक बड़ा कारण यह है कि उपयोगकर्ता अधिक या कम यह सुनिश्चित कर सकते हैं कि कोड वास्तव में समीक्षा की तरह है। काफी अक्सर कुछ ऐसे किनारे मामले हो सकते हैं जिनके बारे में लोग नहीं सोचेंगे कि कुछ बहुत ही विशिष्ट स्थितियों में काफी समस्याग्रस्त हो सकते हैं। मैं अभी डीएसपी उदाहरणों के बारे में नहीं सोच सकता, लेकिन सामान्य प्रकार की समस्या का एक बहुत ही निराशाजनक उदाहरण अतीत में एक निश्चित तारीख से कुछ मिनटों की संख्या की गणना करने की कोशिश कर रहा है। सबसे पहले, यह केवल दिनों की संख्या प्राप्त करने के रूप में सरल लग सकता है, लेकिन जब घड़ी का समय और कैलेंडर परिवर्तन खेलने में आते हैं, तो यह बहुत जटिल हो जाता है।
आंद्रेजाको

7

मैं एसजे ओरफैनिडिस द्वारा सिग्नल प्रोसेसिंग का परिचय देना चाहूंगा। यह सिद्धांत और व्यवहार के एक अच्छे मिश्रण के साथ एक महान पुस्तक है, और सी और मैटलैब में भी कोड उदाहरण हैं। एक बार जब आप इसके माध्यम से काम कर लेते हैं, तो आप अपने आप को पूरा करना जानते हैं।


0

एम्ब्री पीएम - डिजिटल सिग्नल प्रोसेसिंग के लिए सी लैंग्वेज एल्गोरिदम

फ़िल्टर निर्माण में मेरे MSC के काम में उपयोगी था ... हालांकि आप Matlab कोडर के साथ हेडर का निर्माण कर सकते हैं .... मुझे केवल उसके fft के कार्यान्वयन में समस्या थी जो कि जटिल संख्याओं के बजाय थी यदि ट्रिगर किया जाए जो वास्तविक जीवन में लागू करना आसान है ।


-1

आप Matlab सिग्नल प्रोसेसिंग फ़ंक्शन (सी नहीं, लेकिन उपयोगी) के ओपनसाल और ऑक्टेव स्रोतों के स्रोत कोड को देख सकते हैं। यह जो मैंने किया है।


यह एक जोखिम भरी प्रक्रिया है .... मतलाब कोड में बहुत सारे नेस्टेड कार्य शामिल हैं और यह रिवर्स-इंजीनियरिंग कोड को खत्म करने की बहुत संभावना है .... मैंने अतीत पर यह कोशिश की थी और मुझे नहीं लगता कि एक नौसिखिया को यह करना चाहिए
ब्रेथलॉज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.