اطلاعیه

Collapse
No announcement yet.

تبدیل صدا به دیتا به طور مستقیم

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

    تبدیل صدا به دیتا به طور مستقیم

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

    #2
    پاسخ : تبدیل صدا به دیتا به طور مستقیم

    اول صدارو با یک میکروفن از فیلتر رد کن بعد تقویت و سپس با ADC میرکوئ حدقل به اندازه دو برابر حداکثر فرکانس صوت نمونه برداری کن.بعد فقط شاید یه مشکلی پیش بیاد ؟
    baudrate سریال اگر مک باشه با مشکل دامپینگ اطلاعات روبرو میشی

    دیدگاه


      #3
      پاسخ : تبدیل صدا به دیتا به طور مستقیم

      سلام،
      درصورت امکان یکم از جزئیات این عملیاتی که فرمودید رو برای بنده بنویسید.

      متشکرم.
      گاه مسیر جاده به بن بست می رسد!

      دیدگاه


        #4
        پاسخ : تبدیل صدا به دیتا به طور مستقیم

        نوشته اصلی توسط محمد فراهانی
        اول صدارو با یک میکروفن از فیلتر رد کن بعد تقویت و سپس با ADC میرکوئ حدقل به اندازه دو برابر حداکثر فرکانس صوت نمونه برداری کن.بعد فقط شاید یه مشکلی پیش بیاد ؟
        baudrate سریال اگر مک باشه با مشکل دامپینگ اطلاعات روبرو میشی
        ببخشید منظورتون از سطر آخر چی هست؟((سریال اگر مک باشه با مشکل دامپینگ اطلاعات روبرو میشی))

        دیدگاه


          #5
          پاسخ : تبدیل صدا به دیتا به طور مستقیم

          فکر کنم منظورشون این بود اگر baud استاندارد انتخاب نشه بعد از هر چند بایت یک بایت خطا میفرسته
          موفقيت بدست آوردن چيزيست كه دوست داري و خوشبختي دوست داشتن چيزيست كه بدست آوردهآ‌اي.

          دیدگاه


            #6
            پاسخ : تبدیل صدا به دیتا به طور مستقیم

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

            دیدگاه


              #7
              پاسخ : تبدیل صدا به دیتا به طور مستقیم

              برای انتقال صوت به صورت سریال باید اول میزان پهنای باندی که می خواهیم انتقال دهیم را بدست اوریم . محدوده صوتی حدود 20khz است که عملا و به طور متوسط از حداکثر 15khz ان همه می توانند بشنوند . خوب این فعلا برای اینکه بتوانیم که حداکثر میزان فرکانس نمونه برداری را بدست اوریم . با فرض اینکه پهنای 20hz تا 15khz را داریم و بالاترین میزان فرکانس ما 15 باشد میزان حداقل فرکانس نمونه برداری 30khz خواهد بود که در توان avr و pic نیست ولی dspic و arm به خاطر سرعت بالاتر در نمونه برداری براحتی می توانند . خوب مشکل اول فعلا حل شد .
              اما این موضوع تنها مشکل نبوده است و مشکل دیگر هم وجود دارد که باعث می شود عملا داشتن نمونه برداری با فرکانس بالاتر کارایی نداشته باشد ایا می دانید که این مشکل چیست . :eek: :surprised: oo:

              دیدگاه


                #8
                پاسخ : تبدیل صدا به دیتا به طور مستقیم

                حداقل سرعت نمونه برداری واسه داشتن صدای قابل قبول مگه چقدره؟(مثلا تو تلفن؟)نمیخوایم که استریو بذاریم!! :mrgreen:

                دیدگاه


                  #9
                  پاسخ : تبدیل صدا به دیتا به طور مستقیم

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

                  دیدگاه


                    #10
                    پاسخ : تبدیل صدا به دیتا به طور مستقیم

                    خب همین8khz رو مگه نمیشه با یه میکروی معمولی انجام داد؟مثلا اگه ما از صدا با سرعت 8ks/psنمونه برداری کنیم بعد از طریق usart با باودریت9600 این دیتا رو انتقال بدیم،اونطرف که اطلاعات دریافت میشه مشکلی به وجود میاد؟اگه آره،این مشکل از چیه و راه حلش چطوره؟آیا با تغییر سرعت نمونه برداری یا تغییر سرعت انتقال(یا هردوتا)میشه به نتیجه دلخواه رسید؟(فرض میکنیم که کیفیت صدا اهمیت زیادی نداره-درحد همون صدای گوشی تلفن)

                    دیدگاه


                      #11
                      پاسخ : تبدیل صدا به دیتا به طور مستقیم

                      سلام دوست عزیز
                      ببخشید که هنوز نتوانستم که نحوه انتقال صوت و کار هایی که باید بکنیم رو بگم . سرم شلوغه ولی سعی می کنم حتما تا اخر هفته تموم کنم . :cry2:

                      حالا برای اینکه دست خالی هم نلاشی و منتظر . شما داری با 8KHZ نمونه می گیری و باید به دقت نمونه گیری توجه کنی از طرفی با این فرکانس شما یک داده در حد بایت و یا بزرگتر داری در صورتی که در سریال شما تکی تکی داده می فرستی پس شما اگر که بخواهی این مقدار نومنه گیری شده را به صورت سریال بفرستی باید (سرعت انتقال داده = فرکانس نمونه گیری * دقت نمونه گیری باشه ) تازه اگه بخواهی با RS232 بفرستی با به دقت نمونه گیری تعداد پرتی و بیت انتها و ابتدا انتقال هم اضافه کنی و بعد از همه اینها تازه یک مقداری هم زمان لازم داری تا هر دو طرف به کارهای جانبی بپردازند . که با این احتساب حداقل سرعت انتقال داده 115KBPS می باشد .
                      تازه بعد از این کار شما فقط یک دیتای نمونه گیری از یک سیگنال صوتی رو باید به یک سیگنال انالوگ تبدیل کنی که ان هم دردسره خودش رو داره .

                      این موضوع بد نیست بگم که شاید هر کسی مثل قبل از این خودم فکر می کنی که این موضوع انتقال صوت خیلی ساده است ولی هر موضوع ساده
                      در صنعت :twisted: :read: خروجی بسیار حرفه ای تر و با کیفیت تری نسبت به یک کار دانشجویی :nerd: :angry: :cry2::داره و چه بهتر که از همین الان که کار دانشجویی می کنیم سعی در صنعتی کار کردن داشته باشیم :read: :twisted: :nerd: :read: :wow:
                      موفق باشید .

                      دیدگاه


                        #12
                        پاسخ : تبدیل صدا به دیتا به طور مستقیم

                        از توضیحاتتون خیلی ممنون. فقط چند تا سوال دیگه(واسه اطمینان خودم):
                        علی الحساب توضیحات شما بالاخره این کار شدنی هست یا نه؟(نمونه برداری باADC-انتقال با USART-
                        تبدیل DAC)
                        اگه از rs-485 استفاده کنیم فکر نکنم فرقی به حال اصل قضیه بکنه(؟)
                        مگه این تاخیرهایی که گفتید چقدر زیاد هستند که به گوش بیان!!(منظورم اینه که تاخیرها تو صدای دریافتی خیلی اثر میزاره؟) خب اگه در کل سرعت رو زیادکنیم(ADCوUSART)باز هم فرقی نمیکنه؟

                        دیدگاه


                          #13
                          پاسخ : تبدیل صدا به دیتا به طور مستقیم

                          اگه بفرمایید که برای چی اینکارو میکنید بهتر میشه راهنمایی کرد
                          چرا از ورودی کارت صدا که مخصوص همین کاره استفاده نمیکنی؟
                          راحت میشه براش برنامه نوشت
                          {خلاف قوانین - امضا ویرایش شد}

                          دیدگاه


                            #14
                            پاسخ : تبدیل صدا به دیتا به طور مستقیم

                            بله می شه این کار رو حتی با avr زپرتی انجام داد ولی به هر حال یک سری نکات که شاید به نظر مهم نباشه را باید رعایت کرد
                            ببخشید من قول داده بودم که همه مطالب را تا امروز بگم ولی تا همین چند دقیقه پیش داشتم با arm سرو کله می زدم که بالاخره تموم شد و حتما سعی می کنم که زودتر مطالب رو بگم .
                            در ضمن در مورد عملی بودن و اینکه صدای خوبی داریم پرسیدید . باید بگم که تا حدود 1 ماه پیش رو یک وسیله ای برای نیرو هوایی کار می کردم که کارش همین انتقال صوت بود با rs485 همراه با یک سری دستورات که با اینکه در لابه لای صدا دستورات فرستاده می شد هیچ مشکلی نبود . و صدا را تا 2KM اون طرف تر می فرستاد پس مطمئن باش که راحت جواب می دهد . :biggrin:

                            دیدگاه


                              #15
                              پاسخ : تبدیل صدا به دیتا به طور مستقیم

                              نوشته اصلی توسط nanoware
                              چرا از ورودی کارت صدا که مخصوص همین کاره استفاده نمیکنی؟
                              راحت میشه براش برنامه نوشت
                              به مورد جالبی اشاره کردین که تا به حال به ذهن خودم هم نرسیده بود.فقط من راجع به کارت صدا و انواع اون هیچ اطلاعاتی ندارم! :sad:میشه یه خورده منو راهنمایی بکنین؟یعنی ماژول های خاص صدا که میشه به کمک میکرو باهاشون کار کرد؟

                              دیدگاه

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