اطلاعیه

Collapse
No announcement yet.

کسی تا بحال یک FFT را پیاده سازی کرده؟

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

    کسی تا بحال یک FFT را پیاده سازی کرده؟

    با سلام خدمت تمامی دوستان عزیز.
    کسی یک fft به فرض هشت نقطه ای را پیاده سازی کرده یا خیر
    ؟
    اگر کسی این کار را انجام داده ، لطفا به من یه راهنمایی بده.
    ممنون.
    خدایا! از من در گذر آنچه را از من بدان داناتری و اگر بار دیگر به آن بازگردم، تو نیز به بخشایش باز گرد.
    خدایا! آنچه از اعمال نیکو تصمیم گرفتم و انجام ندادم ببخشای.
    خدایا! ببخشای آنچه را که با زبان به تو نزدیک شدم ولی با قلب آن را ترک کردم.
    خدایا! ببخشای نگاه های اشارت آمیز و سخنان بی فایده و خواسته های بی مورد دل و لغزش های زبان را.

    #2
    پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

    سلام.
    من تا حالا این کارو نکردم. اما یه APP دارم که واسه سایت ARM هستش و تو اون نحوه پیاده سازی FFT روی میکروهای ARM را کامل توضیح داده است. حتما دانلودش کن و بخونش.

    دیدگاه


      #3
      پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

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

      دیدگاه


        #4
        پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

        سلام.
        حتما کد را بزارید.

        دیدگاه


          #5
          پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

          می توانید از سایت www.opencores.org تعداد زیادی Core های آماده از جمله FFT را دانلود نمائید.

          دیدگاه


            #6
            پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

            سلام ببخشید دیر شد این فایل مطلب به زودی VHDL هم میزازم
            %============================== in the name of go ==================
            function y = FFT_HS(x)

            x(2^ceil(log2(length(x)))+1)=0;
            x(end)=[];
            data=x;
            N = length(x);
            M = log2(N);

            %------------------------------- BIT inverse
            for i=1:1:N-1
            number=0;
            variable=i;
            for j=1:1:M
            if variable >0
            if mod(variable,2) >0
            number=number+2^(M-j);
            end
            variable=fix(variable/2);
            end
            end
            if number > i
            auxiliary_register=x(i+1);
            x(i+1)=x(number+1);
            x(number+1)=auxiliary_register;
            end
            end
            %-------------------------------------- FFT

            for i=1:1:M % For Stage (M Stage)
            t=1;
            for j=0:1:2^(i-1)-1 % For Calculate W
            if j>0
            t=t-N+1+2^i;
            end

            w_register=exp((j*(2^(M-i))*2*pi/N)*(-1i));

            for t=t:2^i:N % For Calculate Butterfly
            %-------------------------
            if j>0
            register = x(t+2^(i-1))*w_register;
            else
            register = x(t+2^(i-1));
            end
            %-----------------------

            auxiliary_register = x(t);

            x(t) = x(t) + register;

            x(t+2^(i-1)) = auxiliary_register - register;

            %------------------------
            end

            end
            end
            y=x;
            من دشمن تو و عقاید تو هستم ولی حاضرم در راه آزادی عقیده ات جانم را فدا کنم. (ولتر)

            دیدگاه


              #7
              پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

              نوشته اصلی توسط borhan
              می توانید از سایت www.opencores.org تعداد زیادی Core های آماده از جمله FFT را دانلود نمائید.
              از شما ممنونم.
              ولی ظاهرا این core ها رایگان نیست.
              اگر شما می توانید دانلود کنید طریقه آن را بگید یا که اگر دانلود کرده اید آن را بفرستید.
              بسیار ممنون.
              خدایا! از من در گذر آنچه را از من بدان داناتری و اگر بار دیگر به آن بازگردم، تو نیز به بخشایش باز گرد.
              خدایا! آنچه از اعمال نیکو تصمیم گرفتم و انجام ندادم ببخشای.
              خدایا! ببخشای آنچه را که با زبان به تو نزدیک شدم ولی با قلب آن را ترک کردم.
              خدایا! ببخشای نگاه های اشارت آمیز و سخنان بی فایده و خواسته های بی مورد دل و لغزش های زبان را.

              دیدگاه


                #8
                پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

                نوشته اصلی توسط eye of day
                سلام ببخشید دیر شد این فایل مطلب به زودی VHDL هم میزازم
                %============================== in the name of go ==================
                function y = FFT_HS(x)

                x(2^ceil(log2(length(x)))+1)=0;
                x(end)=[];
                data=x;
                N = length(x);
                M = log2(N);

                %------------------------------- BIT inverse
                for i=1:1:N-1
                number=0;
                variable=i;
                for j=1:1:M
                if variable >0
                if mod(variable,2) >0
                number=number+2^(M-j);
                end
                variable=fix(variable/2);
                end
                end
                if number > i
                auxiliary_register=x(i+1);
                x(i+1)=x(number+1);
                x(number+1)=auxiliary_register;
                end
                end
                %-------------------------------------- FFT

                for i=1:1:M % For Stage (M Stage)
                t=1;
                for j=0:1:2^(i-1)-1 % For Calculate W
                if j>0
                t=t-N+1+2^i;
                end

                w_register=exp((j*(2^(M-i))*2*pi/N)*(-1i));

                for t=t:2^i:N % For Calculate Butterfly
                %-------------------------
                if j>0
                register = x(t+2^(i-1))*w_register;
                else
                register = x(t+2^(i-1));
                end
                %-----------------------

                auxiliary_register = x(t);

                x(t) = x(t) + register;

                x(t+2^(i-1)) = auxiliary_register - register;

                %------------------------
                end

                end
                end
                y=x;


                ببخشید, علاوه بر کد VHDL کد verilog اون رو هم دارید یانه.
                موضوع دیگه اینکه این کده قابل سنتز و پیاده سازی هستند یا خیر؟
                خدایا! از من در گذر آنچه را از من بدان داناتری و اگر بار دیگر به آن بازگردم، تو نیز به بخشایش باز گرد.
                خدایا! آنچه از اعمال نیکو تصمیم گرفتم و انجام ندادم ببخشای.
                خدایا! ببخشای آنچه را که با زبان به تو نزدیک شدم ولی با قلب آن را ترک کردم.
                خدایا! ببخشای نگاه های اشارت آمیز و سخنان بی فایده و خواسته های بی مورد دل و لغزش های زبان را.

                دیدگاه


                  #9
                  پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

                  برو به سایت www.opencores.org بعد از قسمت پروژه ها Radix 4 FFT رو انتخاب کن.
                  بعد با CVSGET اون رو می تونی دانلود کنی.
                  لینک مستقیمش هم اینه، ولی باید یک register هم در سایت انجام بدی:

                  http://www.opencores.org/download.cgi?rjumpto=won=daolnwod_od?tffc/igc.tegsvc/

                  دیدگاه


                    #10
                    پاسخ : کسی تا بحال یک FFT را پیاده سازی کرده؟

                    سلام.
                    من FFT 512 نقطه ای با dspic 6014A پیاده کردم.تیجه را روی یکLCD نشون می دم.کار با اون خیلی ساده است :icon_razz: microchip تمام توابع لازم برای این کارو در اختیارتون میذاره.

                    دیدگاه

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