اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام گرم خدمت دوستان

    من با توجه به پروژه ام باید محدوده ای از صدا رو که فایل صوتی هست ،(فایل صوتی مثلا : صدای انسان) فیلتر کنم و بعد پخشش کنم .(البته یک قسمت از پروژه هست)
    مشکل اینجاست که با میکرو AVR کار میکنم و اینطور که فهمیدم برای همچینکاری (پیاده سازی فیلتر که یکی از قسمتهاش FFT هست ) مناسب نیست چون انجام اینجور کارها نیاز به سرعت ساعت بالایی داره.
    تحقیقی که کردم میکرو کنترلرها (مثلا : ARM)و یا پرسسورهایی (مثلا : DSP) هستند که مشکل سرعت ندارند ولی از نظر خودم معقول نیست به خاطر قسمتی از کار تکنولوژی سخت افزارم رو تغییر بدم . تازه جدا از بحث یادگیری نحوه کار و هزینه ها .

    حالا از دوستان راهنمایی میخواستم البته مشکل من با دو روش زیر حل میشه :

    1- پردازش صدا و فیلتر محدوده مورد نظر و سپس سیگنال خروجی را تقویت و پخش کنم (تمامش در چیپ)
    2- در یک قسمت پخش مستقیم صدا و در قسمت دیگه پردازش صدا و تشخیص محدوده مورد نظر (قسمتی که باید فیلتر بشود) و پایین آوردن دامنه صدای آمپلی فایر (مثلا زمین کردن سیگنال صوت)


    1- به نظر دوستان آیا روشهای فوق عملی هست .و 1و2 فرقی با هم دارند ؟
    2- برای پیاده سازی فیلتر چه چیپی مناسبتر هست ؟

    دریای آرام دریانورد حرفه ای نمیسازد .

    #2
    پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

    یه کمی واسه گنگ هست هنوز خوب متوجه نشدم
    ولی از اونجائی که میخواین اکثر بخشها روی یک چیپ انجام بشه پس میرین تو فاز طراحی SoC که به نظر من بهترین گزینه FPGA هست. البته کار زیادی هم نمیبره خیلی از میکرو ها و پردازنده های DSP رو هم میتونین توش بزارین البته نسبت به سرعتی که میخواین مطمئن نیستم (قطعا میشه ولی مشکل هزینه و تحریم پیش میاد)
    راستی real-time هم باشه؟

    دیدگاه


      #3
      پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

      من سئوالم رو باز تر میکنم .
      در واقع من میخوام محدوده فرکانسی بین 650 هرتز تا 1 کیلوهرتز رو فیلتر کنم.
      در حال حاضر روش پخش به این صورت هست که ، فایل صوتی (MP3 -44100Hz- 48Kbps) توسط میکرو از مموری خوانده شده و به دکودر MP3 داده میشه و بعد خروجی دکورد تقویت و پخش میشه .
      حالا من با توجه به صرف وقت و هزینه و استفاده از این آرایش میخوام همینطور که شما فرمودید از یک FPGA استفاده کنم و طبق نظریه خودم خروجی دکودر (خروجی صوت) رو به FPGA بدم و درونش سیگنال رو پردازش کنم و در صورت تشخیص و یا آشکار محدوده فرکانسی مورد نظر اقدام به تضعیف سیگنال ورودی به تقویت کننده صوت بشم.
      البته تمام این مراحل باید real-time باشه.

      به نظر شما این روش عملی هست ؟
      دریای آرام دریانورد حرفه ای نمیسازد .

      دیدگاه


        #4
        پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

        سلام.
        من اون قسمت فیلتر کردنو متوجه شدم :rolleyes:
        اگه تصمیم گرفتی با fpga کار کنی،میتونی در عرض چند دقیقه فیلتر مورد نظرت رو تو مطلب طراحی کنی و خود مطلب کد vhdl یا verilogش رو بهت میده.
        البته خودم تستش نکردما،نمیدونم دقتش در چه حدیه.
        تو مطلب این دستور رو بنویس:fdatool
        موفق باشی...

        دیدگاه


          #5
          پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

          سلام ببخشید اگه یه کم با عجله مینویسم
          فیلتر که دیجیتاله درسته؟ ( :mrgreen البته اگه این بخش رو طراحی کردین که هیچی ولی میشه این رو هم برد داخل FPGA بعد هم پردازش و .. رو هم نگران نباشید تا اونجائی که میدونم ماژولها و ابزارهای آماده زیادی هستند حتی پروسسور های DSP هم میتونیند توی FPGA یپاده کنین و از توابعش استفاده کنید و ....
          راجع به بلوک طراحیتون که توضیح دادیم متوجه مشکل خاصی نشدم :nerd:
          درونش سیگنال رو پردازش کنم و در صورت تشخیص و یا آشکار محدوده فرکانسی مورد نظر اقدام به تضعیف سیگنال ورودی به تقویت کننده صوت بشم.
          پلیر قرار چی باشه و چه جور کار کنه ؟ خوب این مسئله پردازش به این میگرده درسته؟
          دلیل این قسمت آبی رو نفهمیدم
          البته اگر هدفتون اونجوری که اشاره کردین در واقع فیلتر باشه (حداقل مهمترین بخش) .. پروژه های زیادی تحت عنوان فیلتر دیجیتال از انواع مختلف FIR و IIR و ... روی FPGA هست مثلا سایت irandoc چندتائی رو داشت تا اونجائی که یادمه...

          پی نوشت:
          ببخشید یه کم دیر به فروم سر میزنم الانم که از نصف شب گذشته و .... oo:

          دیدگاه


            #6
            پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

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

            ما سیگنال صوتی داریم (با مشخصات MP3 -44100Hz- 48Kbps) که از بیرون به داخل مدار وارد میشه (مثلا از mp3 player). حال باید محدوده مورد نظر از سیگنال حذف بشه و سپس به تقویت کننده صوت داده بشه.

            من در مورد اطلاعاتم بگم که فقط در حد تئوری دروس مخابرات دانشگاه اطلاعات بیشتری و عملی ندارم . و فقط حدود یک ماه هست که دارم کتابهای FPGA رو میخونم و تازه میخوام برم یک FPGA بخرم و بسوزونمش :nerd:

            حالا سئوالاتی که برام سئواله :
            1- آیا بعد از اعمال فیلتر در FPGA کیفیت خروجی آنالوگ صدا با همان کیفیت ورودی ، در خروجی هست ؟
            2- برای انجام این کار کدام خانواده از FPGA و با چه مشخصات و امکاناتی نیاز هست( مثلا : کلاک کاری - واحدهای ADC,DAC-...) ؟ و اینکه در ایران باشه ؟
            3- من از پروتل DXP 2008 برای طراحی شماتیک و PCB مدارام استفاده میکنم آیا قسمت مربوط به FPGA و برنامه نویسی VHDL مناسب هست (منظور
            راحت وساده) برای شروع کار ؟ شما با چی کار میکنید ؟
            4- تفاوت verilog با VHDL و ... ؟
            5- اگر مطلبی و یا سایتی که بتونه کمکم کنه سراغ دارین دریغ نکنید .

            مرسی


            دریای آرام دریانورد حرفه ای نمیسازد .

            دیدگاه


              #7
              پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

              در پست قبلی اشتباه شد منظورم قسمت قرمز رنگ بود نه آبی رنگ :دی

              1.خوب با فرض اینکه فیلتری که شما میزارین در این کار اثری نداشته باشه (نویز رو حذف کنه و از صدا نبره...) مسئله بر میگرده به اینکه ADC ها و DAC هاتون چجوری کار کنن همینطور آمپلی فایر هم مهم میشه ولی به لحاظ تئوریک حتی میتونین کیفیت صدا رو بهتر کنین بستگی به این داره چه جور پیاده بشن و ....

              ۲.با در نظر گرفتن شرایط ایران بسته به مسئله بلادرنگ (البته این بلادرنگ بودن یه مسئله نسبی هست نرم افزارها تاخیر طراحیتون رو حساب میکنن و این بستگی به فرمت و پلیر و... یعنی اینکه کلا قضیه نسبی هست از طرفی هم فکر نمیکنم با توجه به این طراحی اصلا این قضیه چندان مورد توجه باشه..) خلاصه با در نظر گرفتن اینکه بخواین سریع باشین من شخصا Altera رو ترجیح میدم ولی Xilinix هم خوبه و خیلی هم بیشتر طرفدار داره اما پیشنهاد من اینه که هردو رو به لحاظ ابزارها و امکاناتش (در حیطه نرم افزاری) رو امتحان کنین مثلا ببینید با Qurtus کارتون بهتر راه میافته یا با ISE و هر کدوم چه امکاناتی و به چه شکلی فراهم میکنند بعد که این رو انتخاب کردین میتونین برین سراغ اینکه با استفاده از سایت اون شرکت حتما میتونید FPGA مناسب کارتون رو در هردو برند پیدا میکننن (فراموش نمیکنیم که نمی خواین تکنولوژی اپولو هوا کردن رو بکار بگیرید)...
              البته ممکنه این روش خیلی علمی نباشه ولی من در اکثر مواقع اینو ترجیح میدم..

              ۳.نه قسمت طراحی رو با دو نرم افزار بالا یا نرم افزار FPGA Advantage (این جنرال هست و متعلق به برند خاصی نیست) انجام بدین مثل اجزا و طراحی سیستم و VHDL و ... بعد شما FPGA رو فقط از جهت مدل و پینهاش در Protel استفاده کنید.
              البته اگر بخواین پارادایم SoC رو برین کار ازین جهت ساده میشه یعنی میره تو فاز بخشهای جزئی کارتون

              ۴. قبلا توی فروم بحث شده هر کدوم رو دوست داشتین ضمن اینکه واسه حرفه ای شدن هردو رو بهتره بلد باشین ولی من خودم VHDL رو ترجیح میدم اما واسه جواب دقیق سوالتون و اینکه بتونین بهتر انتخاب کنید توی فروم سوالش هست البته اون تاپیکی رو که خواستم پیدا نکردم ولی این رو چک کنیدآ‌(توی یکی از پستها توضیح دادم)
              http://www.eca.ir/forum2/index.php?topic=13582.msg60465#msg60465

              ۵.چیز خاصی به نظرم نمیاد ولی دو سایت FPGA4fun و OpenCore رو چک کنین به اضافه سایتهای شرکتهای آلترا و زیلینکس که خیلی طراحی آماده ای رو دارن....

              دیدگاه


                #8
                پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

                راستی یه تاپیک توی همین بخش هست راجع به چرخش بلادرنگ تصویر با FPGA یه مدتی به ایده اش علاقمند شدم ولی دیگه پیگیر نشدیم :angry:

                دیدگاه


                  #9
                  پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

                  از دوستانی که قبلا یک همچین فیلتری رو کار کردن خواهش میکنم مراحل کار رو توضیح بدن . :cry:
                  دریای آرام دریانورد حرفه ای نمیسازد .

                  دیدگاه


                    #10
                    پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

                    در انتخاب نوع fpga باید به نرخ نمونه برداری تون هم توجه کنید که آیا همچین نرخی را fpga مد نطر ساپورت میکنه یا نه؟

                    و در ضمن باید به دقت (چند بیتی بودن -..)dac و adc هم دقت کنید .

                    برای ریل تایم باید به نرخ نمونه برداریتون دقت کنید و سرعت fpga (سرعت کلاکش)

                    دیدگاه


                      #11
                      پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

                      نوشته اصلی توسط mahdi_123
                      سلام.
                      من اون قسمت فیلتر کردنو متوجه شدم :rolleyes:
                      اگه تصمیم گرفتی با fpga کار کنی،میتونی در عرض چند دقیقه فیلتر مورد نظرت رو تو مطلب طراحی کنی و خود مطلب کد vhdl یا verilogش رو بهت میده.
                      البته خودم تستش نکردما،نمیدونم دقتش در چه حدیه.
                      تو مطلب این دستور رو بنویس:fdatool
                      موفق باشی...
                      این کار فقط واسه شبیه سازی خوبه و عملا غیرقابل سنتز شدن

                      دیدگاه


                        #12
                        پاسخ : راهنمایی در مورد پردازش صدا و پیاده سازی فیلتر در چیپ

                        نوشته اصلی توسط ecb2
                        از دوستانی که قبلا یک همچین فیلتری رو کار کردن خواهش میکنم مراحل کار رو توضیح بدن . :cry:
                        میتونی از core فیلتر FIR که به صورت free روی نرم افزار هست استفاده کنی دیتا شیتش هم هست و کامل توضیح داده

                        دیدگاه

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