اطلاعیه

Collapse
No announcement yet.

تشخیص فرکانس صدا با avr

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

    تشخیص فرکانس صدا با avr

    با عرض سلام خدمت دوستان محترم
    دارم رو پروژه ای کار می کنم که در آن احتیاج تا فرکانس صدای ورودی رو بدونم . کسی می دونه که آیا می شه با avr فرکانس صدای ورودی رو اندازه گرفت ؟
    خیلی ممنون می شم اگه مرا راهنمایی نمایید
    آدمی از عالم خاکی نمی آید بدست

    عالمی دیگر بباید ساخت و از نو آدمی
    پردازش تصویر با FPGA از صفر تا انتها
    http://www.eca.ir/forum2/index.php?topic=74299.0

    #2
    پاسخ : تشخیص فرکانس صدا با avr

    ورودی صدای شما تک فرکانسه یا یک طیفی از فرکانس ها رو شامل می شه.
    اگه تک فرکانس باشه مثلا یک بوق چند هرتز، که خیلی راحته.
    اما اگه می خواهید مبتنی بر AVR یک وسیله ای بسازید که طیف سیگنال را تشخیص بدهد باید روش تامل کنیم!

    دیدگاه


      #3
      پاسخ : تشخیص فرکانس صدا با avr

      سلام خسته نباشید .
      برای شروع می خواهم روی مجموعه از تک فرکانس ها کار کنم . ممنون می شوم اگر ابتدا در این باره مرا راهنمایی کنید . بعد از اون به سراغ طیفی از فرکانس ها می رم .
      موفق باشید .
      آدمی از عالم خاکی نمی آید بدست

      عالمی دیگر بباید ساخت و از نو آدمی
      پردازش تصویر با FPGA از صفر تا انتها
      http://www.eca.ir/forum2/index.php?topic=74299.0

      دیدگاه


        #4
        پاسخ : تشخیص فرکانس صدا با avr

        سلام
        من فکر میکنم دو راه داشته باشی
        1: فرکانس مورد نظرت رو با فیلتر های خیلی دقیق فیلتر کنی و بعد با کانتر avr اندازه بگیری
        2: کل اطلاعات ت رو روی مثلا mmc یا هر حافظه فلش دیگری ذخیره کنی و بعد اونو تفکیک کنی
        که فکر میکنم روش دوم خیلی سخت باشه ولی بازم فکر میکنم بطونی روی طیف فرکانس کار کنی
        البته من تا حالا روی کانتر ها کار نکردم و ممکنه نظریه هام اشتباه باشن
        انجام پروژه های برنامه نویسی اندروید
        [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
        http://cafebazaar.ir/app/?id=com.atxdroid

        دیدگاه


          #5
          پاسخ : تشخیص فرکانس صدا با avr

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

          دیدگاه


            #6
            پاسخ : تشخیص فرکانس صدا با avr

            با تشکر از راهنمایی های ارزنده تان
            من مطلبی در مورد میکروفن خازنی شنیدم که دنبال صحتش هستم . شنیدم که خروجی این نوع میکروفن متناسب با فرکانس صدای ورودی تغییر می کنه . بدین ترتیب با در نظر گرفتن یک ولتاژ مبنا و اندازه گیری ولتاژ خروجی می توان فرکانس صدای ورودی رو توسط میکرو کنترلر به دست آورد . به نظر شما این مطلب عملیه و آیا صحت داره ؟
            آدمی از عالم خاکی نمی آید بدست

            عالمی دیگر بباید ساخت و از نو آدمی
            پردازش تصویر با FPGA از صفر تا انتها
            http://www.eca.ir/forum2/index.php?topic=74299.0

            دیدگاه


              #7
              پاسخ : تشخیص فرکانس صدا با avr

              سلام

              دوست عزیز صدا تنها فاکتورش فرکانس نیست. اگه بخوای نرم افزار تشخیص صدا بنویسی :NO:

              صدای یک نفر دارای یک پیچ مخصوص به خود هست که در جوانی ، میانسالی و حتی پیری تغییری نمیکنه

              نرم افزار های تشخیص صدا هم از این پیچ برای مشخص کردن نوع صدا استفاده میکنن

              و در کل صدای یک شخص میتونه همزمان از چند فرکانس مختلف تشکیل بشه که روی هم مدوله هستن و کار تشخیص فرکانس صدای یک فرد رو مشکل میکنن

              برای تشخیص تن و پیچ صدا معمولا از شبکه های عصبی با نورونهای پیچیده و چند بعدی که قابلیت یادگیری رو دارن استفاده میکنن

              من در مورد شبکه های عصبی زیاد نمیدونم اما آقای نحوی میتونن توضیحات خوبی در این مورد بهتون بدن
              ِِDie for Life, Not Live to Die
              Freedom Fighter
              " ناخود گاه، هریک از ما ، از نامیرائی خود یقین دارد " . فروید

              دیدگاه


                #8
                پاسخ : تشخیص فرکانس صدا با avr

                1- میکروفون خازنی، در واقع یک خازن است که یکی از دو سطح آن نقش دیافراگم رو ایفا می کنه.
                همین طور که می دونید تغییر فاصله بین سطوح یک خازن باعث تغییر ظرفیت اون می شه.
                بر اثر برخورد امواج صوتی به این دیافراگم، ارتعاشات به وجود آمده در اون باعث تغییراتی در فاصله بین دو صفحه خازن شده و در نتیجه ظرفیت خازن تغییر می کنه.
                از اونجایی که بار الکتریکی موجود بر روی این خازن ثابته طبق رابطه Q=CV این تغییرات ظرفیت باعث ایجاد یک موج ولتاژ می شه.
                برای کسب اطلاع بیشتر درباره میکروفون های خازنی می تونید به کتاب "سنسورها و ترانسدیوسرها" نوشته "یان سینکلر" ترجمه "مهندس طلوع خراسانیان" نشر طراح مراجعه کنید.

                2- برای اینکه فرکانس های موجود در یک موج صوتی رو اسخراج کنید یک روش معمول استفاده از FFT هست. که در پیاده سازی های معمول، یک مدار واسط اطلاعات نمونه برداری شده رو به کامپیوتر منتقل می کنه و در داخل کامپیوتر می تونید با استفاده از فرمول FFT مولفه های فرکانسی اون رو دربیارید و نمودار فرکانسیش رو هم رسم کنید.
                یک پروژه ای در همین رابطه، داخل همین انجمن هست که اگر با کلمه کلیدی "FFT" بگردید حتما پیدا می کنید.

                3- برای تشخیص تک فرکانس (mono tone) هم همون طور که دوستان اشاره کردند اول بایستی سیگنال سینوسی رو با استفاده از یک مقایسه گر به موج مربعی تبدیل کنید. از اینجا به بعد دیگه می شه پروژه فرکانس متر، که با استفاده از کانتر میکرو قابل اجراست

                دیدگاه


                  #9
                  پاسخ : تشخیص فرکانس صدا با avr

                  از راهنمایی تمام دوستان سپاس گذارم.
                  آدمی از عالم خاکی نمی آید بدست

                  عالمی دیگر بباید ساخت و از نو آدمی
                  پردازش تصویر با FPGA از صفر تا انتها
                  http://www.eca.ir/forum2/index.php?topic=74299.0

                  دیدگاه


                    #10
                    پاسخ : تشخیص فرکانس صدا با avr

                    من چند روز پیش یک پروژه توی اینترنت دیدم که یک spectrum analyzer فرکانس پایین با avr و
                    الگوریتم fft ساخته بود ند فکر کنم بگردی دنبالش اون کمکت کنه

                    دیدگاه


                      #11
                      پاسخ : تشخیص فرکانس صدا با avr

                      سلام
                      من این کار رو با شبکه عصبی به عنوان سمینار انجام دادم و جواب هم گرفتم اما با avr پیاده سازیش یه کم بعیده .
                      فکر کنم تو ی سرعت کم بیاره چون هم باید fft گرفت هم هر لایه از شبکه عصبی کلی عمل ضرب داره که مشکل سازه.
                      به هر حال آدرس مقاله رو براتون میزارم شاید بتونه ایده بده .
                      www.irandoc.ac.ir/data/e_j/vol6/nooreini_abs.htm

                      دیدگاه


                        #12
                        پاسخ : تشخیص فرکانس صدا با avr

                        یک الگوریتمی وجود داره به اسم Goertzel Algorithm؛
                        این الگوریتم در بعضی کاربردها می تونه جایگزین FFT بشه.
                        عمده این کاربردها زمانیه که شما می خواهید تنها چند مولفه فرکانسی را از داخل طیف تشخیص بدهید.

                        لینک زیر این الگوریتم رو توضیح می ده:
                        http://www.embedded.com/story/OEG20020819S0057

                        نویسنده مطلب موجود در این لینک، مزیت هایی رو برای این الگوریتم بر شمرده که سرعت و سبکی الگوریتم از جمله اونهاست.

                        یه جایی تو اینترنت دیدم که با استفاده از این الگوریتم یک DTMF Detector مبتنی بر AVR ساخته بودند.
                        به این ترتیب می شه تو هر پروژه مشابهی از این الگوریتم برای تشخیص فرکانس های خاص درون یک موج صوتی توسط میکروکنترلر استفاده کرد.

                        دیدگاه


                          #13
                          پاسخ : تشخیص فرکانس صدا با avr

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

                          عالمی دیگر بباید ساخت و از نو آدمی
                          پردازش تصویر با FPGA از صفر تا انتها
                          http://www.eca.ir/forum2/index.php?topic=74299.0

                          دیدگاه


                            #14
                            پاسخ : تشخیص فرکانس صدا با avr

                            مدار تبدیل سیگنال به پالس:
                            http://new.iranupload.net/photo/img/04e4eb4702251588607c9b0f0711c69a/pulse.JPG

                            مدار آمپلی فایر:
                            http://new.iranupload.net/photo/img/6a8ae4e7cc52a18b9913762607b633be/ampli.jpg
                            آدمی از عالم خاکی نمی آید بدست

                            عالمی دیگر بباید ساخت و از نو آدمی
                            پردازش تصویر با FPGA از صفر تا انتها
                            http://www.eca.ir/forum2/index.php?topic=74299.0

                            دیدگاه


                              #15
                              پاسخ : تشخیص فرکانس صدا با avr

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

                              عالمی دیگر بباید ساخت و از نو آدمی
                              پردازش تصویر با FPGA از صفر تا انتها
                              http://www.eca.ir/forum2/index.php?topic=74299.0

                              دیدگاه

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