اطلاعیه

Collapse
No announcement yet.

fft in c

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

    fft in c

    سلام و خسته نباشید ...میخواستم دوستانی که توی زمینه پردازش سیگنال تخصص دارن یه کمکی بکنن به ما
    میخواستم با استفاده از lpc1768 یک برنامه برای پردازش سیگنال فرضا صوت بنویسم .....تا اونجایی که متوجه شدم باید از fft یا همون تبدیل فوریه سریع استفاده بشه...
    توی نت هم چیزهایی پیدا کردم اما بعضی ها 2 بعدی بود و برای پردازش تصویر کاربرد داشتن....

    اما من چیز زیادی راجع به پیاده سازیش نمیدونم اگر میشه کمک راهنمایی کنید
    منتظر جواب هاتون هستیم

    #2
    پاسخ : fft in c

    سلام
    بهترین کار اینه که کتابخونه ش رو پیدا کنی
    عبارت هایی مثل زیر رو جستجو کن:
    کد:
    c fft library for lpc1768
    c fft code for lpc1768
    ...
    اینکه شما fft چند نقطه ای با چه رزولوشنی (دقتی) نیاز داری هم مهمه...
    :read:
    1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
    2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
    3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

    دیدگاه


      #3
      پاسخ : fft in c

      سلام این عبارات را جستجو کردم و از خود سایت کیل چیزی پیدا کردم ولی مربوط به اسپکتروم بود(یعنی چی؟!)
      و اینکه اگر ممکنه یه توضیحی از این fft و پیاده سازیش و همینی که میگید چند نقطه ای هست ارایه بدید.....؟؟
      من میخوام باهاش یک کلمه را تشخیص بدم ...
      شما خودتون پیاده سازی کردید؟

      دیدگاه


        #4
        پاسخ : fft in c

        نوشته اصلی توسط hero.seller17
        سلام این عبارات را جستجو کردم و از خود سایت کیل چیزی پیدا کردم ولی مربوط به اسپکتروم بود(یعنی چی؟!)
        و اینکه اگر ممکنه یه توضیحی از این fft و پیاده سازیش و همینی که میگید چند نقطه ای هست ارایه بدید.....؟؟
        من میخوام باهاش یک کلمه را تشخیص بدم ...
        شما خودتون پیاده سازی کردید؟
        سلام

        اگر به یوتیوب دسترسی دارین توصیه میکنم حتما این 3 سری آموزش REALTIME SIGNAL PROCESSING رو که از طرف اقای ELI HUGHES ارایه میشه رو ببینید. خیلی کامل اموزش دادن. این هم لینک فیلم ها:
        https://www.youtube.com/playlist?list=PLWM8NW5LEukgM-D5eRMtKZ8R2WfXnqKGp

        این هم پروژه MONKEYJAM که یک کتابخونه برای پردازش سیگنال داره:
        https://community.freescale.com/docs/DOC-100149
        در سایت بالا هم میتونی کتابخونه ها رو دانلود کنی و هم میتونی سخت افزار لازم (مثل pcb , schematic) پیدا کنی.

        برای استفاده از پروژه بالا به یک کتابخونه DSP نیاز داری. داخل keil این کتابخونه ها پیدا میشه ولی استفاده از پروژه بالا داخل keil خودش مکافات هست. همچنین پروژه بالا نیاز به floating point unit داره که توی هسته های CortexM4 پیدا میشه. البته به صورت نرم افزاری هم قابل انجام هست ولی سرعت پردازش خیلی کم میشه.

        دیدگاه


          #5
          پاسخ : fft in c

          نوشته اصلی توسط hero.seller17
          سلام این عبارات را جستجو کردم و از خود سایت کیل چیزی پیدا کردم ولی مربوط به اسپکتروم بود(یعنی چی؟!)
          و اینکه اگر ممکنه یه توضیحی از این fft و پیاده سازیش و همینی که میگید چند نقطه ای هست ارایه بدید.....؟؟
          من میخوام باهاش یک کلمه را تشخیص بدم ...
          شما خودتون پیاده سازی کردید؟
          بر روی لینک زیر کلیک کن:
          اسپکتروم آنالایزر چیست
          اما در مورد fft و رزولوشن یه مثال پردازش گفتاری میزنم:
          رزولوشن به دو چیز بستگی داره
          FFT Fundamentals
          سرعت نمونه برداری + تعداد نقاط
          مثلا اگه سرعت نمونه برداری شما 16000 نمونه در ثانیه باشه
          و fft شما 1024 نقطه ای باشه
          شما باید سیگنال صوتی رو به فریم های 1024 نقطه ای تبدیل کنی
          و بعد ازشون fft بگیری
          در این حالت رزولوشن میشه 16000 تقسیم بر 1024
          یعنی حدود 15.6 هرتز!
          یعنی عدد اول fft مقدار میانگین رو نشون میده
          عدد دوم متناظر با فرکانس 15.6 هرتزه
          عدد سوم متناظر با 2*15.6 هرتزه و ...
          اما در مورد تشخیص کلمه یکی از روش ها همین اسپکتروم آنالیز هست
          بحثش خیلی تخصصیه و شما باید یکسری از مفاهیم مربوط به DSP (پردازش دیجیتال سیگنال)
          رو مسلط باشی تا بتونی سریع جلو بری!
          ...
          لینک زیر هم یه نگاه بنداز:
          Voice Recognition Robotic Car
          ...
          :read:
          1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
          2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
          3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

          دیدگاه


            #6
            پاسخ : fft in c

            sسلام جناب mohammadh1387 .من خودم یک کتابخانه dsp دیدم توی keil اما مربوط به پردازش صوت نبود!!!!یا شاید من چیزی نفهمیدم :icon_razz:
            اون floating point unit چی هست؟
            و من میخوام از lpc1768 که cortex_m3 هست استفاده کنم....
            و این بحث نقاط توی fft چی هست؟! :question: یعنی چی 1024 نقطه؟
            با تشکر از همتون

            دیدگاه


              #7
              پاسخ : fft in c

              نوشته اصلی توسط hero.seller17
              و این بحث نقاط توی fft چی هست؟! :question: یعنی چی 1024 نقطه؟
              بحث نقاط برمیگرده به اینکه:
              در دیجیتال داده ها گسسته هستن! پیوسته نیستن
              بنابراین تبدیل فوریه در اینجا به تبدیل فوریه گسسته تبدیل میشه
              به اصطلاح بهش میگن DFT
              لینکهای زیر رو ببین:
              Discrete Fourier Transform 1
              Discrete Fourier Transform 2
              Discrete Fourier Transform 3
              روشی که برای محاسبه اون استفاده میشه بهش میگن: FFT
              Fast Fourier Transform 1
              Fast Fourier Transform 2
              حالا چون سیستم گسسته ست، پس تعداد نقاط برای ما اهمیت داره
              یعنی از چند نقطه تبدیل بگیریم؟ 10 نقطه؟ 100 نقطه؟ 1000 نقطه؟ و ...
              روش FFT بر روی مضارب 2 میچرخه. یعنی: 64، 128، 256، 512، 1024 و ...
              اونم بخاطر ماهیت روششه
              در عمل DFT بسیار سنگینه و با ابداع FFT سرعت محاسبات به شدت زیاد شده.
              1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
              2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
              3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

              دیدگاه


                #8
                پاسخ : fft in c

                نوشته اصلی توسط hero.seller17
                sسلام جناب mohammadh1387 .من خودم یک کتابخانه dsp دیدم توی keil اما مربوط به پردازش صوت نبود!!!!یا شاید من چیزی نفهمیدم :icon_razz:
                اون floating point unit چی هست؟
                و من میخوام از lpc1768 که cortex_m3 هست استفاده کنم....
                و این بحث نقاط توی fft چی هست؟! :question: یعنی چی 1024 نقطه؟
                با تشکر از همتون
                ممنون از اطلاعات آقای رستمی عزیز

                توی fft شما 2 عملگر پر کاربرد دارین. یکی ضرب و دیگری جمع هست. اگر به لینکهایی که آقای رستمی و من دادم یک سر بزنی, متوجه میشی منظورم چی هست. اگر یک نگاه به مشخصات CortexM3 و CortexM4 بندازی میبینی که سری M4 شامل قسمت Floating Point Unit میشه ولی M3 این قسمت رو نداره. اهمیت اش هم به این دلیل هست که توی سری M4 که FPUموجود هست محاسبات اعشاری به این قسمت سپرده میشه و چون به صورت سخت افزاری این محاسبات انجام میشه دیگه CPU درگیر پردازش نمیشه. در حالتی که FPU موجود نباشه باید از کتابخونه های مخصوص پردازش اعداد اعشاری استفاده کرد. این کار به صورت اتوماتیک هنگام ساخت پروژه انجام میشه و شما درگیر این کار نمی شی ولی در نهایت تمام بار پردازش روی CPU میفته و در نتیجه سرعت پردازش کمتر از حالتی خواهد بود که از یک واحد جدا مثل FPU برای این کار استفاد بشه

                دیدگاه


                  #9
                  پاسخ : fft in c

                  ببخشید شاید این پرسش به این تاپیک ربطی نداشته باشه..اما راجع به الگوریتم pca هم ایا ممکنه بگید چی هست و کجا کاربرد داره؟با تشکر :job:

                  دیدگاه


                    #10
                    پاسخ : fft in c

                    نوشته اصلی توسط hero.seller17
                    ببخشید شاید این پرسش به این تاپیک ربطی نداشته باشه..اما راجع به الگوریتم pca هم ایا ممکنه بگید چی هست و کجا کاربرد داره؟با تشکر :job:
                    به شخصه، اطلاعای ندارم در موردش
                    توی نت جستجو کن موارد خوبی هست
                    به عنوان مثال برای تشخیص چهره:
                    Face Recogntion Using PCA Algorithm
                    FACE RECOGNITION
                    و با تعریف ویکی:
                    Principal Component Analysis
                    ...
                    :read:
                    1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
                    2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
                    3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                    دیدگاه


                      #11
                      پاسخ : fft in c

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

                      دیدگاه


                        #12
                        پاسخ : fft in c

                        من همینقدر میدونم:
                        لینک زیر رو ببین
                        Gaussian Scatter PCA
                        [glow=blue,2,300]یکی[/glow] از کارهایی که این روش میکنه اینه که اون مرکز جدید رو برات پیدا میکنه!
                        در واقع یک انتقال برای داده هاست...
                        1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
                        2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
                        3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                        دیدگاه

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