اطلاعیه

Collapse
No announcement yet.

به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

    سلام
    من دنبال یک ماژول ارزون قیمت هستم که دوتا ADC با سمپل ریت حداقل 20 کیلو داشته باشه برای ورود سیگنال صوتی و یک خروجی DAC برای خروج صوت حاصل از پردازش ، کیفیت در همین حدی که گفتم مطرحه و واضحه که برای کار های فای نمی خام کارایی که قراره روی صوت انجام بشه تفاضل دوتا سیگنال با یه ضریب قابل تنظیم (شد سه تا ADC که oo: پیچ تنظیمش منظورمه :mrgreen: ) یک فیلترینگ شاید یه خورده پیچیده و شاید هم تقویت یه سری فرکانس ها همه و همه به صورت ریل تایم !!! در واقع دلم نمی خاد برم سراغ DSP و فکر هم نکنم نیاز باشه چون واقعا کیفیت صوت حاصل برام مهم نیست ، فقط قراره یک صدای خاص رو از دل بقیه صداها بکشم بیرون !
    خلاصه اصلا داریم همچین چیزی ؟(ADC و DAC تو یه میکرو ، ارزون هم باشه تازه ؟) و اصلا می شه ؟؟ (پردازش هایی که گفتم به صورت ریل تایم)

    تازه اینم نگفتم که از آرم هیچی نمی دونم ولی خب احتیاج مادر یادگیریه و مجبورم که یاد بگیرمش و می تونم با توجه به پایه ی برنامه نویسی قوی ای که دارم، فقط باید ماژولی که می خام رو گیر بیارم .

    با تشکر از جواباتون :biggrin:

    #2
    پاسخ : به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

    سلام
    اولا تبریک می گم که به دنیای سخت افزار اومدین
    برنامه نویسی در دنیای سخت افزار خب یه مقدار سخت تره چون امکانات به شدت ازتون گرفته می شه.
    برای این جور پردازشا می رن سراغ FPGA یا DSP چون این دوتا می تونن پردازش موازی داشته باشند.
    اما میکروهایی مثل LPC1768 که بردش توی سایت هم موجود هست، هم ADC دارن با نرخ نسبتا خوب و هم DAC دارن
    منتهای مراتب این که اون قضیه real time که گفتین دیگه می ره کنار
    یه نمونه ی ساده براتون بگم
    توی یک برنامه ی ساده با C توی KEIL نوشتم که پشت سرهم یک پین رو صفر و بعدش یک کن(می خواستم ببینم اون 100 مگاهرتز کلاک رو می شه دید یا نه) حداقل انتظارم 50 مگاهرتز بود اما در کمال تعجب دیدم که حدود 12500000 هرتز شده یعنی حدودا 1/8
    کاری که توی اون دو تا پردازنده می کنن تا پردازش ریل تایم به نظر برسه در حقیقت پایپ لاین کردن پردازش هستش

    دیدگاه


      #3
      پاسخ : به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

      نوشته اصلی توسط vahid_22002
      سلام
      اولا تبریک می گم که به دنیای سخت افزار اومدین
      برنامه نویسی در دنیای سخت افزار خب یه مقدار سخت تره چون امکانات به شدت ازتون گرفته می شه.
      برای این جور پردازشا می رن سراغ FPGA یا DSP چون این دوتا می تونن پردازش موازی داشته باشند.
      اما میکروهایی مثل LPC1768 که بردش توی سایت هم موجود هست، هم ADC دارن با نرخ نسبتا خوب و هم DAC دارن
      منتهای مراتب این که اون قضیه real time که گفتین دیگه می ره کنار
      یه نمونه ی ساده براتون بگم
      توی یک برنامه ی ساده با C توی KEIL نوشتم که پشت سرهم یک پین رو صفر و بعدش یک کن(می خواستم ببینم اون 100 مگاهرتز کلاک رو می شه دید یا نه) حداقل انتظارم 50 مگاهرتز بود اما در کمال تعجب دیدم که حدود 12500000 هرتز شده یعنی حدودا 1/8
      کاری که توی اون دو تا پردازنده می کنن تا پردازش ریل تایم به نظر برسه در حقیقت پایپ لاین کردن پردازش هستش
      ممنونم
      در واقع من با AVR خیلی کار کردم و خیلی کم هم FPGA می دونم
      lpc1768 رو چک کردم رزولیشن ADC ش 12 بیتی هست ولی DAC ش 10 بیتی دلم می خاست خروجی هم 12 بیتی باشه ولی خب فکر کنم 10 بیت هم خوب باشه برای صدای آدم . شاید ریل تایم کلمه ی مناسبی نبود برای چیزی که می خاستم ولی در کل منظورم این بود که انقدر سریع باشه پردازش که بافر ورودی پر نشه ، سمپل ریت هم تا 15 کیلو میتونم پایین بیارم فکر کنم 15 کیلو انقدر کوچیک باشه در برابر فرکانس 100 مگاهرتزی که کم نیاره یا باز هم چیز قویتری نیازه ؟

      دیدگاه


        #4
        پاسخ : به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

        دوست گرامی

        اگر دنبال پردازشهای ساده مثل کم و زیاد کردن حجم صدا و ... هستید ARM میتواند گزینه خوبی برای انتخاب شما باشد ولی برای پردازشهای سنگین اطمینان داشته باشید توانایی لازم وجود ندارد
        به طور مثال اگر قصد داشته باشید طیف فرکانسی را به موالفه های آن تجزیه کنید آنالیز با سری های فوریه حتی با با روشهای درونیابی در ARM و یا حتی یک پنتیوم 4 هسته ای در زمان حقیقی قابل پیاده سازی نمیباشند
        کاش در مورد کاری که میخواهید انجام بدهید بیشتر توضیح داده بودید
        پاره ای از رویکردهای دفاعی

        دیدگاه


          #5
          پاسخ : به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

          نوشته اصلی توسط emitor
          دوست گرامی

          اگر دنبال پردازشهای ساده مثل کم و زیاد کردن حجم صدا و ... هستید ARM میتواند گزینه خوبی برای انتخاب شما باشد ولی برای پردازشهای سنگین اطمینان داشته باشید توانایی لازم وجود ندارد
          به طور مثال اگر قصد داشته باشید طیف فرکانسی را به موالفه های آن تجزیه کنید آنالیز با سری های فوریه حتی با با روشهای درونیابی در ARM و یا حتی یک پنتیوم 4 هسته ای در زمان حقیقی قابل پیاده سازی نمیباشند
          کاش در مورد کاری که میخواهید انجام بدهید بیشتر توضیح داده بودید
          راستش قرار هستش با ثبت لرزش یک شی مثلا پنجره صدای آدم های اونور پنجره از بین لرزش ها استخراج بشه و چون این کار توسط لیزر انجام می شه صدای لرزش منبع لیزر هم اضافه می شه به صدای اصلی که اون رو با یک میکروفون ضبط می کنیم و با یک ضریبی از کل سیکنال حاصل کم می کنیم این کار ها رو با تقویت کننده ی تفاضلی و فیلتر های آنالوگ هم می شد انجام داد ولی چون شاید نیاز به ضبط صوت حاصل روی مموری پیدا کنیم و هم اینکه بازی کردن با کد خیلی راحت تر از فیلتر آنالوگ هستش تصمیم گرفتم از ARM استفاده کنم ، خلاصه اینکه هنوز ایده ای ندارم که چجوری نویز رو حذف کنم و صدای آدما رو تقویت کنم ولی فیلترینگ رو تا حدی می شه آنالوگ انجام داد و تفاضل رو خودم ترجیح می دم دیجیتال انجام بشه و احتمالا بعضی از فرکانس ها نیاز به تضعیف یا تقویت داشته باشند ولی هنوز مطمئن نیستم.

          دیدگاه


            #6
            پاسخ : به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

            دوست گرامی
            نظر شما تایید میشود ....برای تفاضل امکانپذیر بوده ولی برای فیلترینگ قدرت پردازش کافی وجود ندارد ...
            ...
            در اینجا شاید لازم باشد نکته دیگری را هم در نظر بگیرید که از لرزش منبع اشعه اهمیت بیشتری دارد :
            در دریافت صدا با لرزش شیشه عملا صدای منابع بیرونی ، بخش قویتر سیگنال را تشخیص میدهد ... مثلا اگر از داخل اتومبیل قصد ضبط صدا از داخل پارتمانی را داشته باشید بدون تردید صدای خیابان بر صدای صحبت داخل پارتمان غالب خواهد بود که حذف آن دشوارتر میباشد ... البته نمونه قویتر صدای خیابان را میتوان با میکروفون نیز در اختیار داشت ولی احتمالا پردازش اولیه برای ترکیب با صدای دریافتی در اولویت میباشد
            پاره ای از رویکردهای دفاعی

            دیدگاه


              #7
              پاسخ : به دنبال میکروکنترلر ARM مناسب برای پردازش سیگنال صوتی

              نوشته اصلی توسط emitor
              دوست گرامی
              نظر شما تایید میشود ....برای تفاضل امکانپذیر بوده ولی برای فیلترینگ قدرت پردازش کافی وجود ندارد ...
              ...
              در اینجا شاید لازم باشد نکته دیگری را هم در نظر بگیرید که از لرزش منبع اشعه اهمیت بیشتری دارد :
              در دریافت صدا با لرزش شیشه عملا صدای منابع بیرونی ، بخش قویتر سیگنال را تشخیص میدهد ... مثلا اگر از داخل اتومبیل قصد ضبط صدا از داخل پارتمانی را داشته باشید بدون تردید صدای خیابان بر صدای صحبت داخل پارتمان غالب خواهد بود که حذف آن دشوارتر میباشد ... البته نمونه قویتر صدای خیابان را میتوان با میکروفون نیز در اختیار داشت ولی احتمالا پردازش اولیه برای ترکیب با صدای دریافتی در اولویت میباشد
              برای فیلترینگ الان این ایده به ذهنم رسید که که توسط مثلا 5 فیلتر بندپس سیگنال دریافتی رو به 5 بازه ی فرکانسی تقسیم کرد و به پایه های مختلف ADC وصل کرد و با ضرب کردن هر بازه در عددی خاص و نهایتا جمع زدنشون یک اکولایزر ساده درست کرد فکر نکنم 6 بار ضرب و 6 بار جمع پردازش سنگینی باشه ولی نمی دونم چقدر می تونه صدا رو از نویز بکشه بیرون ...

              دیدگاه

              لطفا صبر کنید...
              X