Thông báo

Collapse
No announcement yet.

Hobby project ... FFT/IFFT

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Hobby project ... FFT/IFFT

    Có bạn nào hứng thú làm project FFT/IFFT hok?
    Mình tính thực hiện từng bước như thế này:
    - 16 Point FFT
    - 256 point FFT
    - 1026 Point FFT
    - 16k Point FFT
    Có ai bàn ra bàn vô gì ko?

  • #2
    Biến đổi Fourier dùng để phân tích 1 tín hiệu trong miền thời gian ==> miền tần số. Một số chỗ mình thắc mắc, cùng giải quyết nhé:
    - Trong các hệ thống điện tử, tầm quan trọng của FFT. ví dụ? làm FFT để làm gì?
    - Sử dụng chip FPGA nào?
    - Mình quen dùng verilog=> dùng verilog nhé.
    - Khi tăng số điểm FFT có hiệu ứng gì?
    - Tài liệu để thực hiện FFT trên FPGA, từ lý thuyết đã học chuyển sang FPGA thế nào.
    Hi vọng bài viết giúp X được cho bạn.

    Comment


    • #3
      Trong các hệ thống điện tử, tầm quan trọng của FFT. ví dụ? làm FFT để làm gì?
      Theo tôi thì dùng FFT có 2 lợi điểm:

      1) Đơn giản hơn vì làm multiplication dễ hơn convolution (time convolution == frequency multiplication). Khi biến đổi qua miền tần số rồi thì cách lọc nhiễm sẽ đơn giản hơn.
      2) Có thể chia ra làm nhiều chặng để đơn giản hóa. Ví dụ 16 điểm có thể dùng 4x4 hoặc 8x2 hoặc 2x2x2x2.

      Khi tăng số điểm FFT có hiệu ứng gì?
      Càng nhiều điểm càng chính xác hơn khi gây tạo lại nguồn sóng gốc (original signal)

      Tài liệu để thực hiện FFT trên FPGA, từ lý thuyết đã học chuyển sang FPGA thế nào.
      Thường thì mấy hãng FPGA cho khách hàng RTL làm sẵn. Nếu hiểu lý thuyết thì có thể thay đổi một vài chi tiết để có một thiết kế theo mô hình sẵn của họ. Nếu mô hình sẵn có không phù hợp với điều kiện của thiết kế (tốc độ, diện tích, năng lượng hoặc cho ASIC, thì phải tự thiết kế từ đầu.

      Trên mạng có rất nhiều tin tức về FFT và nhiều cách thiết kế khác nhau tùy theo specification cho nên tôi nghĩ nên bàn về specification trước để mọi người cùng tham khảo cụ thể hơn.

      Tony
      Chúc một ngày vui vẻ
      Tony
      email : dientu_vip@yahoo.com

      Comment


      • #4
        To bác tony: mấy project về bộ lọc số đã triển khai chưa bác. Em định tham gia project vể bộ lọc trước chứ project FFT/IFFT em sợ chưa đủ công lực.
        To bác jefflieu: em rất thích cái project này

        Comment


        • #5
          Nguyên văn bởi cachep Xem bài viết
          To bác tony: mấy project về bộ lọc số đã triển khai chưa bác. Em định tham gia project vể bộ lọc trước chứ project FFT/IFFT em sợ chưa đủ công lực.
          To bác jefflieu: em rất thích cái project này
          Cachep tự mở thread riêng ra thì mọi người sẽ đóng góp. Tôi nghĩ FFT/IFFT thì khá khó. Bộ lọc FIR thì dễ hơn nhiều. Mong cachep xung phong làm project lead cho bộ lọc FIR.

          Tony
          Chúc một ngày vui vẻ
          Tony
          email : dientu_vip@yahoo.com

          Comment


          • #6
            Nguyên văn bởi lick Xem bài viết
            Biến đổi Fourier dùng để phân tích 1 tín hiệu trong miền thời gian ==> miền tần số. Một số chỗ mình thắc mắc, cùng giải quyết nhé:
            - Trong các hệ thống điện tử, tầm quan trọng của FFT. ví dụ? làm FFT để làm gì?
            - Sử dụng chip FPGA nào?
            - Mình quen dùng verilog=> dùng verilog nhé.
            - Khi tăng số điểm FFT có hiệu ứng gì?
            - Tài liệu để thực hiện FFT trên FPGA, từ lý thuyết đã học chuyển sang FPGA thế nào.
            -FFT dùng để xem xét phần tần số của tín hiệu, dùng trong các máy phân tích phổ (spectrum analyzer), ... khi cho tín hiệu qua các máy này, các bạn sẽ thấy trong tín hiệu chứa các tần số nào.
            FFT dùng trong các bộ lọc, các máy analysis và trong hệ thống TV số sử dụng điều chế OFDM.
            http://en.wikipedia.org/wiki/Orthogo...n_multiplexing

            -Sử dụng FPGA nào chưa quan trọng. Mình làm và simulation trên modelsim/ISE. PHải làm sao cho chạy trên FPGA nào cũng được.

            -Dùng ngôn ngữ gì cũng được.

            - FFT có 2 điểm quan trọng là : tần số lấy mẫu, sampling frequency Ts. Và số lượng mẫu N.
            Khi tăng tần số lấy mẫu, cho phép tăng độ rộng của phổ quan sát được... độ rộng này bằng 1/Ts/2 (nyquist frequency), và khi tăng số lượng mẫu cho phép tăng độ phân giải của phổ quan sát được. ví dụ Ts = 1us --> Fs = 1MHz --> Fnyquist = 500KHz, nếu N = 1000 thì độ phân giải của bạn là 1MHz/1000 = 1kHz, bạn chỉ thấy được các tần số ở 1, 2, 3KHz. Nếu N = 10000 thì độ phân giải tăng lên --> 100Hz

            - Tài liệu về FFT, về lý thuyết thì khá nhiều trên net, về FPGA thì mình sẽ download từ các trang web IEEE, ScienceDirect, ... mọi người phụ tìm ... mình sẽ nhờ bạn bè download giúp.

            Comment


            • #7
              Với lối vào là tín hiệu tươn tư, liên tục ta cần lấy mẫu sau đó thực hiện FFT. Tần số lấy mẫu cho phép ta quan sát tín hiệu trong giải thông nhất định ( < Fs/2).

              - Phải thực hiện việc lấy mẫu bên ngoài FPGA? và các mẫu này lấy được thông qua bộ ADC. Như vậy mỗi mẫu sẽ được lưu trong thanh ghi N bit ( N bit ADC) ==> thực hiện FFT??
              - Trong FPGA để thực hiện FFT, cần có bộ trễ, bộ cộng, bộ nhân?? sau khi tính toán xong sẽ xuất lối ra cũng là dãy số. Làm sao để biết được phổ tần số của tín hiệu nhỉ? tức là tín hiệu sẽ phân bố trên dải tần nào.??
              Hi vọng bài viết giúp X được cho bạn.

              Comment


              • #8
                Nguyên văn bởi tonyvandinh Xem bài viết
                Cachep tự mở thread riêng ra thì mọi người sẽ đóng góp. Tôi nghĩ FFT/IFFT thì khá khó. Bộ lọc FIR thì dễ hơn nhiều. Mong cachep xung phong làm project lead cho bộ lọc FIR.

                Tony
                Cá chép làm đi. Mọi người cùng vào chém.
                Hi vọng bài viết giúp X được cho bạn.

                Comment


                • #9
                  Nguyên văn bởi lick Xem bài viết
                  Với lối vào là tín hiệu tươn tư, liên tục ta cần lấy mẫu sau đó thực hiện FFT. Tần số lấy mẫu cho phép ta quan sát tín hiệu trong giải thông nhất định ( < Fs/2).

                  - Phải thực hiện việc lấy mẫu bên ngoài FPGA? và các mẫu này lấy được thông qua bộ ADC. Như vậy mỗi mẫu sẽ được lưu trong thanh ghi N bit ( N bit ADC) ==> thực hiện FFT??
                  - Trong FPGA để thực hiện FFT, cần có bộ trễ, bộ cộng, bộ nhân?? sau khi tính toán xong sẽ xuất lối ra cũng là dãy số. Làm sao để biết được phổ tần số của tín hiệu nhỉ? tức là tín hiệu sẽ phân bố trên dải tần nào.??
                  Trên thực tế là vậy, nhưng nếu làm thì Không cần ADC gì hết, dùng Matlab (hoặc C) để tạo ra tín hiệu để test. Ví dụ muốn tạo tín hiệu có 2 tần số f1, f2:
                  for(i=0;i<1000;i++)
                  {x(n) = sin(2*pi*f1*n*Ts) + sin(2pi*f2*nTs)}
                  Ts = chu kì lấy mẫu.

                  Comment


                  • #10
                    Em đang làm FFT processor radix 2-2 1024 điểm , các anh chị đi trước có j chỉ giáo em với !!! Đang làm đồ án 2 về cái này mà thấy đau đầu quá xá . Em đang viết code C để test phần cứng , anh ( Chị ) có tài liệu về C để mô mô phỏng chức năng phần cứng thì chỉ cho em với ! Em vốn dốt C , vì yêu cầu là viết C chứ hem được dùng Matlab . Em thanks nhiều nhiều

                    Comment


                    • #11
                      Làm đồ án, bất kể về cái gì, vui lòng sang chuyên mục Hỗ trợ học tập. Phân còn lại của diễn đàn dành cho người làm chuyên nghiệp; có thể là SV, nhưng ít nhất cách suy nghĩ và làm việc là chuyên nghiệp.
                      Phần mềm tự do hoặc không dùng máy tính nữa !.

                      Comment


                      • #12
                        Nguyên văn bởi tonyvandinh Xem bài viết
                        Cachep tự mở thread riêng ra thì mọi người sẽ đóng góp. Tôi nghĩ FFT/IFFT thì khá khó. Bộ lọc FIR thì dễ hơn nhiều. Mong cachep xung phong làm project lead cho bộ lọc FIR.

                        Tony
                        Bác Tony,
                        Từ bé đến giờ đúng là em chưa 1 lần nào làm lead đờ. Em đang định theo làm member của 1 cái project nào đó, ví dụ như cái project FFT/IFFT để tích lũy kinh nghiệm rồi sau đó mới xung phong lamg project leader .
                        Em

                        Comment


                        • #13
                          Nguyên văn bởi cachep Xem bài viết
                          Bác Tony,
                          Từ bé đến giờ đúng là em chưa 1 lần nào làm lead đờ. Em đang định theo làm member của 1 cái project nào đó, ví dụ như cái project FFT/IFFT để tích lũy kinh nghiệm rồi sau đó mới xung phong lamg project leader .
                          Em
                          Chưa làm bao giờ thì có thích thú để làm. Tự làm mới học nhiều hơn là đứng ngoài xem.
                          1) Mở thread mới
                          2) Ra tiêu chuẩn (specification) của thiết kế (mời mọi người đóng góp)
                          3) Kết thúc tiêu chuẩn.
                          4) Đề ra những bước thực hiện (thiết kế, thử nghiệm, cho từng khối rồi cho cả thiết kế...)
                          5) Thu thập những kinh nghiệm (tốt lẫn xấu)
                          6) Hoàn chỉnh lại thiết kế nếu được
                          7) vân vân

                          Cứ làm đi, mọi người sẽ phụ cho. Đâu phải đi đánh trận mà sợ :-)

                          Tony
                          Chúc một ngày vui vẻ
                          Tony
                          email : dientu_vip@yahoo.com

                          Comment


                          • #14
                            Nguyên văn bởi nguyenchipon Xem bài viết
                            Em đang làm FFT processor radix 2-2 1024 điểm , các anh chị đi trước có j chỉ giáo em với !!! Đang làm đồ án 2 về cái này mà thấy đau đầu quá xá . Em đang viết code C để test phần cứng , anh ( Chị ) có tài liệu về C để mô mô phỏng chức năng phần cứng thì chỉ cho em với ! Em vốn dốt C , vì yêu cầu là viết C chứ hem được dùng Matlab . Em thanks nhiều nhiều
                            Mời mọi người xuống link dưới đây để lấy thêm chi tiết và khởi sự nhe:

                            http://www.librow.com/articles/article-10

                            Tôi nghĩ mình nên bắt đầu bằng 8 hoặc 16 điểm trước rồi dùng nó làm cơ bản để làm những FFT nhiều điểm hơn.

                            Tony
                            Chúc một ngày vui vẻ
                            Tony
                            email : dientu_vip@yahoo.com

                            Comment


                            • #15
                              Nguyên văn bởi tonyvandinh Xem bài viết
                              Chưa làm bao giờ thì có thích thú để làm. Tự làm mới học nhiều hơn là đứng ngoài xem.
                              1) Mở thread mới
                              2) Ra tiêu chuẩn (specification) của thiết kế (mời mọi người đóng góp)
                              3) Kết thúc tiêu chuẩn.
                              4) Đề ra những bước thực hiện (thiết kế, thử nghiệm, cho từng khối rồi cho cả thiết kế...)
                              5) Thu thập những kinh nghiệm (tốt lẫn xấu)
                              6) Hoàn chỉnh lại thiết kế nếu được
                              7) vân vân

                              Cứ làm đi, mọi người sẽ phụ cho. Đâu phải đi đánh trận mà sợ :-)

                              Tony
                              Em chào bác Tony.
                              Em sẽ mở threat mới ra tiếu chuẩn, các bước thực hiện theo ý kiến chủ quan. Mong bác và các bác khác chỉnh sửa nếu cho gì chưa chính xác.
                              Em

                              Comment

                              Về tác giả

                              Collapse

                              jefflieu Email minh trực tiếp nếu bạn cần download tài liệu gấp Tìm hiểu thêm về jefflieu

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X