久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

FFT算法的使用說明與C語言版實現源碼

查看數: 32612 | 評論數: 45 | 收藏 29
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-6-9 22:20

正文摘要:

如果對時間要求不是很高的話,用51單片機做fft計算進行頻率分析也可以熟悉算法并了解fft的本質

回復

ID:477236 發表于 2019-9-16 15:23
/*****************************************************************
函數原型:void IFFT(struct compx *xin)
函數功能:對輸入的復數組進行快速逆傅里葉變換(IFFT)
輸入參數:*xin復數結構體組的首地址指針,struct型
輸出參數:無
作者:瓶子
*****************************************************************/
void IFFT(struct compx *xin)
{
        float temp;
        int i;

        xin[0].real /= FFT_N;                                xin[0].imag /= FFT_N;
        xin[FFT_N >> 1].real /= FFT_N;        xin[FFT_N >> 1].imag /= FFT_N;

        for (i = 1; i < FFT_N >> 1; i++)
        {
                temp = xin[i].real / FFT_N;
                xin[i].real = xin[FFT_N - i].real / FFT_N;
                xin[FFT_N - i].real = temp;
                temp = xin[i].imag / FFT_N;
                xin[i].imag = xin[FFT_N - i].imag / FFT_N;
                xin[FFT_N - i].imag = temp;
        }
        FFT(xin);
}

基于以上代碼的逆FFT參考代碼,希望大家有用

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

ID:675767 發表于 2024-1-24 13:59
牛人真多啊
ID:75737 發表于 2023-10-27 20:44
FFT哪里有詳細點的學習資料呀!這程序能看懂,但不知道原理!
ID:444657 發表于 2023-4-24 14:30
wanghaojie 發表于 2021-9-7 09:31
=這里,樓主應該寫錯了

這是三目運算符
ID:444657 發表于 2023-4-24 14:29
(i=0?FFT_N:(FFT_N/2)); 這里是三目運算符,樓主沒有錯。你還要加強下C基礎的學習。
ID:1018419 發表于 2022-4-14 17:03
正好需要,頻譜燈必要的算法
ID:934203 發表于 2021-9-7 09:31
MCU丶NOOB 發表于 2021-7-20 18:48
s[ i].real=sqrt(s[ i].real*s[ i].real+s[ i].imag*s[ i].imag)/(i=0?FFT_N:(FFT_N/2));
里面i=0?是什么 ...

=這里,樓主應該寫錯了
ID:934203 發表于 2021-9-7 09:24
MCU丶NOOB 發表于 2021-7-20 18:48
s[ i].real=sqrt(s[ i].real*s[ i].real+s[ i].imag*s[ i].imag)/(i=0?FFT_N:(FFT_N/2));
里面i=0?是什么 ...

某頻率點的幅值為:該點復數的模值除以N/2(n=1時是直流分量,其幅值是該點的模值除以N)。
ID:227340 發表于 2021-7-21 11:25
為什么要除以FFT_N/2
ID:227340 發表于 2021-7-21 11:02
為什么計算出來的幅值都是零點幾
ID:227340 發表于 2021-7-20 18:48
s[ i].real=sqrt(s[ i].real*s[ i].real+s[ i].imag*s[ i].imag)/(i=0?FFT_N:(FFT_N/2));
里面i=0?是什么意思 有bug吧
ID:582255 發表于 2021-1-28 11:32
有采樣的函數嗎?先采樣再FFT這樣才更有實用價值啊
ID:615301 發表于 2021-1-28 02:57
感謝樓主分享
ID:398872 發表于 2020-11-7 13:00

感謝樓主分享
ID:828979 發表于 2020-10-12 22:39
這個程序沒怎么看懂
ID:596103 發表于 2020-10-10 09:11
感謝分享,這個有采樣的程序嗎
ID:514250 發表于 2020-6-1 13:33
感謝樓主分享
ID:381834 發表于 2020-4-18 23:16
學習了,謝謝樓主分享!
ID:67123 發表于 2020-2-26 09:47
這個也是查表嗎?
ID:662720 發表于 2019-12-12 20:04
感謝分享,等有積分了馬上下載
ID:168554 發表于 2019-9-29 15:38
LeoXie 發表于 2019-4-12 18:01
樓主你好,測試算出來的誤差有點大是什么原因

fx = 1500 * sin(PI * 2 * i * 350.0 / 44800) +

我雖然不懂,但是我看你的三角生成的有問題呀。。/ 44800 這事采樣頻率吧,這個應該是/采樣點數呀。。
ID:553031 發表于 2019-9-29 05:04
謝謝分享!
ID:235062 發表于 2019-8-23 16:26
下載了,等有時間看看
ID:583141 發表于 2019-7-27 09:30
感謝樓主
ID:578513 發表于 2019-7-5 15:15
謝謝樓主分享!
ID:500396 發表于 2019-5-16 08:38
謝謝樓主分享!
ID:374767 發表于 2019-4-27 15:29
感謝分享
ID:474344 發表于 2019-4-22 22:02
挺好學習學習
ID:457471 發表于 2019-4-13 12:04
感謝分享!
ID:500722 發表于 2019-4-12 18:01
樓主你好,測試算出來的誤差有點大是什么原因

fx = 1500 * sin(PI * 2 * i * 350.0 / 44800) +
             2700 * sin(PI * 2 * i * 8400.0 / 44800) +
             4000 * sin(PI * 2* i * 18550.0 / 44800);

i: 1, 350  - 1515.876709
i: 2, 700  - 0.000037
i: 3, 1050  - 13.832612
i: 4, 1400  - 0.000021
i: 5, 1750  - 0.000106
i: 6, 2100  - 0.000004
i: 7, 2450  - 63.505074
i: 8, 2800  - 28.065117
i: 9, 3150  - 8.681163
i: 10, 3500  - 0.000003
i: 11, 3850  - 27.872404
i: 12, 4200  - 0.000009
i: 13, 4550  - 28.500025
i: 14, 4900  - 0.000009
i: 15, 5250  - 0.000394
i: 16, 5600  - 0.000023
i: 17, 5950  - 0.000057
i: 18, 6300  - 0.000031
i: 19, 6650  - 14.382548
i: 20, 7000  - 0.000009
i: 21, 7350  - 117.270576
i: 22, 7700  - 0.000043
i: 23, 8050  - 23.529263
i: 24, 8400  - 2862.641113
i: 25, 8750  - 3.221907
i: 26, 9100  - 0.000009
i: 27, 9450  - 0.000341
i: 28, 9800  - 0.000022
i: 29, 10150  - 43.866310
i: 30, 10500  - 0.000080
i: 31, 10850  - 67.757050
i: 32, 11200  - 0.000032
i: 33, 11550  - 1.971847
i: 34, 11900  - 0.000046
i: 35, 12250  - 16.637976
i: 36, 12600  - 0.000021
i: 37, 12950  - 0.000365
i: 38, 13300  - 0.000002
i: 39, 13650  - 15.182350
i: 40, 14000  - 67.564186
i: 41, 14350  - 2.074305
i: 42, 14700  - 0.000011
i: 43, 15050  - 60.110844
i: 44, 15400  - 0.000009
i: 45, 15750  - 122.913864
i: 46, 16100  - 0.000014
i: 47, 16450  - 0.000136
i: 48, 16800  - 0.000023
i: 49, 17150  - 0.000022
i: 50, 17500  - 0.000009
i: 51, 17850  - 25.744360
i: 52, 18200  - 0.000009
i: 53, 18550  - 4473.796387
i: 54, 18900  - 0.000032
i: 55, 19250  - 13.660447
i: 56, 19600  - 89.433647
i: 57, 19950  - 1.869473
i: 58, 20300  - 0.000012
i: 59, 20650  - 0.000831
i: 60, 21000  - 0.000022
i: 61, 21350  - 128.387222
i: 62, 21700  - 0.000014
i: 63, 22050  - 66.304977
ID:500722 發表于 2019-4-12 15:38
打算移植試一試
ID:490893 發表于 2019-3-16 15:16
我怎么測試下來 時間遠遠不止呢,我用的24MHZ 的 STC51     執行128 的 FFT 需要 50多mS啊
ID:95916 發表于 2019-1-9 10:14
感謝分享,研究一下
ID:460863 發表于 2019-1-3 13:02
請問還需要用到什么程序嗎,能不能給個完整的ad采樣然后FFT的呢
ID:460795 發表于 2019-1-3 11:28
下來看看
ID:453542 發表于 2018-12-24 15:31
下下來測試下先。
ID:235223 發表于 2018-12-6 17:13
有誰試用過可行嗎
ID:124617 發表于 2018-10-27 10:38
不錯,正在搞信號處理方面的
ID:263813 發表于 2018-10-3 22:52
可以使用,結果還在測試中,調用create_sin_tab得改改
ID:385237 發表于 2018-8-12 11:18
我試了一下,keil編譯的時候顯示空間不足,郁悶了。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚欧午夜 | 在线观看国产wwwa级羞羞视频 | 久久久久久国产精品 | 国产一区免费视频 | 色婷婷综合久久久中字幕精品久久 | 国产999在线观看 | 成人在线不卡 | 一级做a爰片性色毛片16 | 国产精品国产三级国产aⅴ入口 | 99精品视频一区二区三区 | 国产精品网页 | av香港经典三级级 在线 | 国产精品永久久久久久久www | 亚洲一区二区三区高清 | 欧美亚洲成人网 | 亚洲视频二区 | 麻豆精品国产91久久久久久 | 免费精品视频一区 | 成人网av | 久久久久久亚洲精品 | 亚洲一区二区三区免费观看 | 97视频在线看| 国产欧美精品一区二区色综合朱莉 | 自拍偷拍中文字幕 | 国产精品视频中文字幕 | 免费观看a级毛片在线播放 黄网站免费入口 | 久久久久久久久久久久久九 | 欧美一区二区三区免费电影 | 国产精品特级毛片一区二区三区 | 五月天综合网 | 欧美精品一区二区三区在线播放 | 性网站免费 | 丁香五月网久久综合 | 国产欧美精品一区二区 | 日韩欧美在线不卡 | 久久99精品国产 | 亚洲午夜网 | 欧美一级一 | 亚洲一区二区三区免费在线观看 | 日韩欧美电影在线 | 亚洲视频精品在线 |