कैसे तय करें कि वास्तविक समय ऑडियो प्रसंस्करण को लागू करने के लिए कौन सा मंच सबसे अच्छा है?


15

उत्पादों को विकसित करते समय मैं अपने सभी एल्गोरिथ्म डिजाइन मतलाब में करता हूं। वे आम तौर पर बहुत बुनियादी हैं, एक IIR या एफआईआर फ़िल्टर या दो, एक जोड़े FFTs, आदि। जब इसे एक एम्बेडेड वातावरण में स्थानांतरित करने का समय आता है, तो मुझे हमेशा एक कठिन समय तय करना होता है कि इसे किस मंच पर चलाना है। मैं आमतौर पर इन (व्यापक) प्लेटफार्मों के बारे में सोचता हूं:

  • डीएसपी कोर
  • FPGA
  • microcontroller
  • एआरएम

इस निर्णय को लेने के लिए मुझे किन कारकों पर विचार करना चाहिए?


2
आप "एआरएम" को "माइक्रोकंट्रोलर" से अलग क्यों करते हैं? टीआई के डीएसपी + एआरएम भागों को वर्गीकृत करने की कोशिश कर रहा है? क्या आप बड़े माइक्रोप्रोसेसरों से कम-शक्ति वाले छोटे सामान को अलग करने की कोशिश कर रहे हैं? (इस अंतिम मामले में, आपको संभवतः MIPS और विक्रेता-विशिष्ट 32-बिट कोर शामिल करना चाहिए)
केविन वर्मेयर

जब मैं माइक्रोकंट्रोलर के बारे में सोचता हूं तो मुझे PIC, Atmel, आदि के बारे में लगता है, लेकिन मुझे लगता है कि एआरएम उसी के तहत गिर सकता है। मैं यह कहने की कोशिश नहीं कर रहा था कि वे सभी विकल्प थे, बस यह पूछना था कि किन कारकों पर विचार किया जाना चाहिए।
कालेनजब

1
आप "सर्वश्रेष्ठ" क्या निर्धारित करते हैं? क्या आप शक्ति द्वारा सीमित हैं? लागत? प्रोग्रामिंग में आसानी? लचीलापन?
ओलिवर चार्ल्सवर्थ

@ ओली यह पूरा सवाल है, निर्णय लेने की कोशिश करते समय किन कारकों पर विचार किया जाना चाहिए।
केलेंज्ब

3
@Kellen: फिलहाल, यह सवाल थोड़ा सा है कि "कैसे तय करें कि कार सबसे अच्छी है?"
ओलिवर चार्ल्सवर्थ

जवाबों:


13

यदि आप IIR, FIR, मूलांक -2 या 4 FFT (जैसे सामान जो DSP आर्किटेक्चर को बहुत नियंत्रण प्रवाह के बिना अच्छी तरह से फिट बैठता है) की तरह "मानक एल्गोरिदम" के लिए रख रहे हैं, तो आप यह कोशिश कर सकते हैं:

गणना करें कि आपके सभी एल्गोरिदम में आपको प्रति सेकंड कितने "गुणा जमा" की आवश्यकता है।

  • <10 मिलियन आप शायद काम करने के लिए एक तेज़ माइक्रोकंट्रोलर प्राप्त कर सकते हैं (या एक धीमी गति से भी अगर आप <1M हैं)
  • <100 मीटर आसान डीएसपी क्षेत्र है
  • <1G संभावित रूप से तेजी से डीएसपी क्षेत्र होने की संभावना है
  • 1G-10G वह जगह है जहां DSP और FPGA के बीच क्रॉस ओवर आता है
  • > 10G मल्टीपल DSP या FPGA है

2
यह वास्तव में संदर्भ के लिए एक बहुत अच्छी सूची है!
कालेनजब

3
बस 10x तक हर जोड़े को कुछ वर्षों में याद करने के लिए याद रखें :)
मार्टिन थॉम्पसन

क्या आप "तेज़ माइक्रोकंट्रोलर" का उदाहरण दे सकते हैं?
एंडोलिथ

1
@endolith: अगली बार जब हम वर्तमान में दिख रहे हैं, तो इसकी कोई संभावना नहीं है :) 2014 की शुरुआत में, शायद LPC1768 की तरह कुछ (जो कि 100 मेगाहर्ट्ज पर घड़ियां - 10MMACS के लिए इसे थोड़ा धक्का देता है) मुझे लगता है
मार्टिन थॉमसन

@MartinThompson: LPC1700 के लिए DSP लाइब्रेरी का कहना है कि Cortex-M3 "2-चक्र (32x32) +32 -> 32 हस्ताक्षरित बहुतायत से जमा होता है", इसलिए 50 MMAC?
एंडोलिथ

11

जहां तक ​​मुझे पता है, एआरएम को एक मंच के बजाय एक वास्तुकला माना जाना चाहिए। हालांकि, यह सवाल काफी प्रासंगिक है कि आरटी सिग्नल (इस मामले में ऑडियो) प्रसंस्करण के लिए किस प्लेटफॉर्म का उपयोग किया जाए।

आप निम्नलिखित प्रश्न पूछकर शुरू कर सकते हैं, न कि सख्त आदेश में:

  • कार्यान्वयन के लिए मेरे पास कितना समय है?
  • मेरी शक्ति की कमी क्या हैं?
  • मुझे किन गणितीय कार्यों की आवश्यकता है? आप समानांतर में बहुत से गुणकों की आवश्यकता को समाप्त कर सकते हैं और इसलिए अपनी पसंद को सीमित कर सकते हैं।
  • मुझे कितनी मेमरी की ज़रूरत है? (अधिकांश MCU सीमित हैं)
  • [महत्वपूर्ण] ऑपरेशन की मेरी आवृत्ति क्या है? मैं ऑपरेटिंग आवृत्ति कम रखते हुए नमूना अवधि के भीतर कितना निचोड़ सकता हूं?
  • कार्यान्वयन की मेरी पसंद के लिए कौन से पुस्तकालय उपलब्ध हैं?

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

एक और महत्वपूर्ण विचार कार्यान्वयन के क्षेत्र में आपकी क्षमता और विशेषज्ञता होगी। अधिकांश लोग FPGA से दूर भागते हैं क्योंकि आपको कार्यान्वयन के लिए एचडीएल का उपयोग करना चाहिए। FPGAs से दूर करने का एक और कारण बिजली की आवश्यकता है।


2

केवल आपके द्वारा प्रदान की गई जानकारी के साथ, संभवतः ARM (सरल IIRs और FIR) है, लेकिन विचार करने के लिए अन्य कारक भी हैं जैसे कि बिजली की आवश्यकताएं, IO की आवश्यकताएं, अतिरिक्त सुविधाएं जिन्हें आप लागू करने की अपेक्षा करते हैं: इस डिवाइस से कितना विकास समय बचता है क्षेत्र में DSP मापदंडों को संशोधित करने के लिए एक नेटवर्क कनेक्शन और एक एपीआई था?

क्या आपने बीगल बोर्ड जैसे स्मार्टफ़ोन या कॉम्पैक्ट कंप्यूटर के विकल्पों की अपनी सीमा का विस्तार करने पर विचार किया है? आप महसूस कर सकते हैं कि सिग्नल प्रोसेसिंग पूरी समस्या का एक छोटा सा हिस्सा है जिसे आप हल कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.