在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何實現FFT算法并通過CCS圖形窗口查看結果?

冬至子 ? 來源:創龍教儀-木江鵬 ? 作者:創龍教儀-木江鵬 ? 2023-09-21 14:38 ? 次閱讀

1、傅里葉變換

傅里葉變換可以將一個信號從時域變換到頻域。時域信號在經過傅立葉變換的分解之后,變為了不同正弦波信號的疊加,我們再去分析這些正弦波的頻率,可以將一個信號變換到頻域。有些信號在時域上是很難看出什么特征的,但是如果變換到頻域之后,就很容易看出特征了。這就是很多信號分析采用FFT變換的原因。

2、離散傅里葉變換

離散傅里葉變換作為信號處理中最基本和最常用的運算,在信號處理領域占有基礎性的地位,如果直接按照離散傅里葉變換的公式進行計算,求出N點X(k)需要N^2次復數運算、N(N-1)次復數加法,當N很大時,運算量是非常大的,這對于實時處理是無法接受的。

image.png

3、FFT算法

傅里葉快速算法的提出,使傅里葉變換成為一種真正實用的算法。根據傅立葉變換的對稱性和周期性,我們可以將DFT運算中有些項合并。 在計算機上進行的DFT,使用的輸入值是時域的信號值,輸入采樣點的數量決定了轉換的計算規模。變換后的頻譜輸出包含同樣數量的采樣點,但是其中有一半的值是冗余的,通常不會顯示在頻譜中,所以真正有用的信息是N/2+1個點。FFT算法的原理是通過許多小的更加容易進行的變換去實現大規模的變換,降低了運算要求,提高了與運算速度。FFT不是DFT的近似運算,它們完全是等效的,FFT的過程大大簡化了在計算機中進行DFT的過程。

image.png

4、程序流程

程序流程設計中首先產生測試信號,接著確定FFT基和旋轉因子,然后進行FFT和FFT逆變換運算,最后輸出FFT結果

image.png

5、數字信號處理庫

本實驗中的FFT算法是基于TI提供的數字信號處理庫完成的。 DSPLIB 包含優化的、C語言可調用的通用信號處理例程,用于計算密集型實時應用程序。 調用這些例程的運行速度比直接用C語言編寫的等效代碼快得多,可以縮短應用程序開發時間。實驗中使用的是 dsplib_c674x_3_4_0_0 。

6、dsplib_c674x_3_4_0_0

在CCS5.5 的安裝路徑安裝DSPLIB后,會有相應的文件夾出現,包含組件庫、頭文件、測試示例和源碼等。

image.png

7、函數源碼

FFT運算函數

程序使用DSPLIB 的庫來進行FFT運算,調用的程序源碼和使用說明可以安裝DSPLIB后 查看。

調用的FFT函數中:

第一個參數是樣本中FFT 的長度;

第二個參數是指向數據輸入的指針;

第三個參數是指向復雜旋轉因子的指針;

第四個參數是指向復雜輸出數據的指針;

第五個參數是指向包含64 個條目的位反轉表的指針。如果樣本的FFT長度可以表示為 4 的冪;

第六個參數是4,否則 第六個參數是 2 ;

第五個參數是從主FFT開始的樣本中的子 FFT偏移索引 。;

第六個參數是樣本中主FFT的大小。

image.png

FFT逆變換函數

程序使用DSPLIB 的庫來進行FFT逆變換,調用的程序源碼和使用說明可以安裝DSPLIB后查看。

調用的IFFT函數中:

第一個參數是樣本中FFT 的長度;

第二個參數是指向數據輸入的指針;

第三個參數是指向復雜旋轉因子的指針;

第四個參數是指向復雜輸出數據的指針;

第五個參數是指向包含64 個條目的位反轉表的指針 ;

如果樣本的FFT長度可以表示為 4 的冪,第六個參數是4,否則第六個參數是2 ;

第七個參數是從主FFT開始的復雜樣本中的子FFT偏移索引 ;

第八個參數是樣本中主FFT的大小。

image.png

8、二進制位翻轉

FFT和FFT 逆變換函數中的第五個參數brev是指向包含64個表項的位反轉表的指針,因此程序中需要提供64個表項,程序中的位反向表是計算出來的,可以通過代碼提前轉換的。 采用位反轉的原因是因為FFT算法的蝶形內部兩點交叉使數據以反轉的方式輸出而不是數字反轉順序。

image.png

二進制位翻轉表的原理

首先確認二進制數的位數,64個數只需要有6位的二進制位數;

接著將二進制數分成兩部分,前五位一部分,最后一位一部分;

最后進行二進制翻轉,把最后一位放到最高位,剩下的五位進行翻轉依次放入。

image.png

數組內存放的依次是0~63的二進制翻轉結果,我們可以來看一個例子,

(點擊鼠標)以數字5為例,(點擊鼠標)轉換為二進制數是000101

(點擊鼠標)接著進行二進制翻轉,將“00010”看為一個部分,“1”看為一個部分,那么將“1”放到第一位,然后將后面的數據翻轉過來進行放置即可

(點擊鼠標)最后進行十六進制轉換得到0x28,所以在數組的第6個數字為0x28。

image.png

三、操作現象

導入工程,選擇Demo文件夾下的對應工程

編譯工程,生成可執行文件

將CCS連接實驗箱并加載程序

程序加載完成后點擊運行程序

運行程序后,程序執行完成后會在斷點處停下。

點擊"Tools->Graph->Single Time"選擇單時域信號圖,在彈出的界面設置相關參數,可查看DSP計算的FFT結果。

點擊"Tools->Graph->FFT Magnitude",在彈出的界面設置相關參數,可查看CCS計算的FFT結果。

對比后,可發現CCS和DSP計算的FFT結果相同,

實驗結束后,點擊紅色按鈕退出CCS與實驗箱的連接,最后實驗箱斷電即可。

image.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 正弦波
    +關注

    關注

    11

    文章

    651

    瀏覽量

    56284
  • 二進制
    +關注

    關注

    2

    文章

    803

    瀏覽量

    42151
  • DSP芯片
    +關注

    關注

    9

    文章

    152

    瀏覽量

    30571
  • 數字信號處理器

    關注

    5

    文章

    478

    瀏覽量

    27735
  • 傅里葉變換
    +關注

    關注

    6

    文章

    442

    瀏覽量

    43021
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于FPGA的超高速FFT硬件實現

    是處理數字信號如圖形、語音及圖像等領域的重要變換工具??焖俑道锶~變換(FFT)是DFT的快速算法。FFT算法的硬件
    發表于 06-14 00:19

    【創龍TMS320C6748開發板試用】+ 官方FFT測試與CCS波形查看功能

    *150*(i/Fs))+15*sin(2*PI*350*(i/Fs));如上方法,再建一個窗口,查看幅值。一定是與matlab的結果相同的。以上就是對官方FFT測試的
    發表于 10-14 23:10

    FFT 算法的一種 FPGA 實現

    FPGA實現FFT 處理器的硬件結構。接收單元采用乒乓RAM 結構, 擴大了數據吞吐量。中間數據緩存單元采用雙口RAM , 減少了訪問RAM 的時鐘消耗。計算單元采用基 2 算法, 流水線結構, 可在
    發表于 11-21 15:55

    如何在FPGA上實現硬件上的FFT算法

    =64 點的基-4DIT信號流其輸入數據序列是按自然順序排列的,輸出結果需經過整序。64點數據只需進行3次迭代運算,每次迭代運算含有N/4=16個蝶形單元。2 FFT算法的硬件實現2.
    發表于 06-17 09:01

    請問怎么利用TI提供的FFT的匯編算法

    小弟用ti提供的高度優化了的FFT匯編算法,一直用不好。 這樣的:一個正弦函數,用數組離散化,256個點,通過黑匣子(匯編FFT算法,我不懂
    發表于 03-17 10:38

    DSP操作教程 4-7 快速傅立葉變換(FFT算法CCS顯示)

    一、實驗目的 了解FFT的作用,掌握FFT 算法算法原理、計算量和算法特點,實現
    發表于 09-20 11:13

    基于CCS的DSP算法仿真實驗設計

    摘要:簡要介紹了CCS軟件的主要功能,利用CCS軟件,設計數字信號處理實驗課程,實現FFT算法的譜分析和FIR濾波器。
    發表于 11-09 16:07 ?104次下載

    利用FFT IP Core實現FFT算法

    利用FFT IP Core實現FFT算法 摘要:結合工程實踐,介紹了一種利用FFT IP Core實現
    發表于 01-16 10:04 ?7080次閱讀
    利用<b class='flag-5'>FFT</b> IP Core<b class='flag-5'>實現</b><b class='flag-5'>FFT</b><b class='flag-5'>算法</b>

    用FPGA實現FFT算法

    用FPGA實現FFT算法 引言  DFT(Discrete Fourier Transformation)是數字信號分析與處理如圖形、語音及圖像等領域的重
    發表于 10-30 13:39 ?1712次閱讀
    用FPGA<b class='flag-5'>實現</b><b class='flag-5'>FFT</b><b class='flag-5'>算法</b>

    用C語言實現FFT算法

    用C語言實現FFT算法 /*****************fft programe*********************/#include "typedef.h" #inc
    發表于 10-30 13:39 ?6453次閱讀

    存儲深度對FFT結果的影響

    存儲深度對FFT結果的影響     在DSO中,通過快速傅立葉變換(FFT)可以得到信號的
    發表于 08-25 08:06 ?974次閱讀

    實數FFT算法的設計及其C語言實現

    首先分析實數FFT算法的推導過程,然后給出一種具體實現FFT算法的C語言程序,可以直接應用于需要FFT
    發表于 01-13 11:32 ?1.1w次閱讀
    實數<b class='flag-5'>FFT</b><b class='flag-5'>算法</b>的設計及其C語言<b class='flag-5'>實現</b>

    淺談FFT算法原理 基于FPGA的FFT算法的硬件實現

    FFT算法中,數據的寬度通常都是固定的寬度。然而,在FFT的運算過程中,特別是乘法運算中,運算的結果將不可避免地帶來誤差。因此,為了保證結果
    發表于 05-25 05:23 ?2.7w次閱讀
    淺談<b class='flag-5'>FFT</b><b class='flag-5'>算法</b>原理 基于FPGA的<b class='flag-5'>FFT</b><b class='flag-5'>算法</b>的硬件<b class='flag-5'>實現</b>

    用FPGA實現FFT算法的方法

    摘要:在對FFT(快速傅立葉變換)算法進行研究的基礎上,描述了用FPGA實現FFT的方法,對其中的整體結構、蝶形單元及性能等進行了分析。
    的頭像 發表于 04-12 19:28 ?5946次閱讀

    基2FFT的verilog代碼實現及仿真

    上文基2FFT算法推導及python仿真推導了基2FFT的公式,通過python做了算法驗證
    的頭像 發表于 06-02 12:38 ?2129次閱讀
    基2<b class='flag-5'>FFT</b>的verilog代碼<b class='flag-5'>實現</b>及仿真
    主站蜘蛛池模板: 成 人 在 线 免费 8888 www | 午夜三级网站 | 天天做人人爱夜夜爽2020毛片 | 日本大黄在线观看 | 免费黄色三级 | 天天干成人网 | 五月四房婷婷 | 人人艹人人艹 | japanese 69hdxxxx日本| 四大名著成人高h肉版 | 日韩一级片视频 | 女的扒开尿口让男人桶爽 | 亚欧免费视频一区二区三区 | 6080yy午夜不卡一二三区 | 成人理伦 | 午夜伦理在线观看 | 欧美1区 | 亚洲午夜大片 | 国产欧美视频在线 | 青草午夜精品视频在线观看 | a亚洲 | h在线免费观看 | 中国一级特黄高清免费的大片 | 男人j进女人j的视频一进一出 | 婷婷色站| 天天做天天添天天谢 | 免费高清在线视频色yeye | 4虎成人 | 天天碰夜夜 | 特级片毛片 | 国产福利小视频在线观看 | 美国一级大黄香蕉片 | 成人免费看黄网站无遮挡 | 特级全黄一级毛片视频 | 亚洲精品电影天堂网 | 天天尻 | 成人区精品一区二区毛片不卡 | 水果视频色版 | 免费看大黄| 亚洲色图久久 | 高清成年美女黄网站色大 |