最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[DSP學(xué)習(xí)筆記]基于TMS320F28335的FFT以及加窗函數(shù)的實現(xiàn)

2023-01-19 22:50 作者:七草稀飯  | 我要投稿

首先我們先將C2000 wave中我們所需要的函數(shù)庫給導(dǎo)入到我們的新建工程中(可見于我實現(xiàn)FIR濾波文章中導(dǎo)入函數(shù)庫的操作)。

工程中可見有以下文件。(僅FFT可刪除濾波有關(guān)文件)

接著新建INPUT.c與window.c

借助MATLAB我們來生成所需的輸入信號與窗函數(shù)

生成輸入信號的MATLAB程序如下:

將record.txt的文件內(nèi)容復(fù)制到INPUT.c中,如下:


僅截取了部分

接下我們進(jìn)行窗函數(shù)的生成。

1.加窗之前,首先我們要明白我們?yōu)槭裁匆哟啊?/p>

在實際應(yīng)用中,我們采集到的信號通常是較長的非周期時間序列,在進(jìn)行FFT時,需要對信號進(jìn)行截斷。截斷后得到的信號通常是非周期信號,所以FFT結(jié)果就變成了連續(xù)的譜線,周期信號的頻率-幅值不再是一條垂直的直線,而是一條曲線,同時幅值下降,泄露到曲線其他頻率點,即我們常說的頻譜泄露。而窗函數(shù)一個周期函數(shù),窗函數(shù)與截斷信號相乘后,會變成比較接近周期函數(shù)的波形(實際上就是利用窗函數(shù)進(jìn)行調(diào)制)。加窗后的信號進(jìn)行FFT后,得到的頻譜曲線會更窄,趨向于垂直直線。因此對頻譜泄露有一定改善。

2.知道為什么要加窗后,我們再來根據(jù)實際情況來選擇我們所需要的窗函數(shù)。

通常情況下,我們不對輸入信號進(jìn)行處理,而直接截斷情況下相當(dāng)于給信號加了一個矩形窗。

如果我們對于FFT后的結(jié)果要求精確的幅值,平頂窗是我們的首選。

如果我們對應(yīng)FFT后的結(jié)果要求精確的頻率點,則可以選擇漢寧窗。

3.選擇完窗函數(shù),我們還要對FFT后的結(jié)果乘以他們對應(yīng)的恢復(fù)系數(shù)(窗函數(shù)對信號有衰減),如下表:

了解完以上知識,我們便可以繼續(xù)我們的實驗。

在MATLAB命令行窗口敲入window,進(jìn)入下列界面并完成下列配置。(本次測試選用漢寧窗)

點擊文件,導(dǎo)出,導(dǎo)出到工作區(qū)。

?但是,我們工程實際應(yīng)用,還需對得到的窗函數(shù)進(jìn)行處理,將其轉(zhuǎn)化為Q16型(在官方給出的例程中有提出)。故我們通過編寫MATLAB文件實現(xiàn)轉(zhuǎn)換,并保存到本地的window.txt文件中。


?將window.txt的內(nèi)容復(fù)制到window.c中,如下:


僅截取了部分

接下來我們對RFFT.c文件進(jìn)行編寫,有以下函數(shù)

初始化函數(shù):

對幅度進(jìn)行計算的函數(shù):

對幅值與頻率點計算的函數(shù)

需注意的是,F(xiàn)FT的返回值不是幅值,我們需對其進(jìn)行轉(zhuǎn)換。

首先對FFT的結(jié)果進(jìn)行取模,使用RFFT_f32_mag()函數(shù),得到幅度。

接著對幅度再進(jìn)行相應(yīng)的處理,如下表:

即,直流分量的幅值等于幅度除以采樣點數(shù),其余的的幅值等于幅值除以采樣點數(shù)的一半。

在主函數(shù)中,對RFFT_Init()和RFFT_Caculate()完成調(diào)用,即可。

準(zhǔn)備階段結(jié)束,進(jìn)入仿真。

仿真結(jié)果如下:

頻率點:

對應(yīng)幅值:

直流分量:

實驗結(jié)果與輸入信號相吻合,測試結(jié)束。

本文如有錯誤,也請多多指出。

[DSP學(xué)習(xí)筆記]基于TMS320F28335的FFT以及加窗函數(shù)的實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
迭部县| 新泰市| 瓮安县| 油尖旺区| 武义县| 通州区| 洛扎县| 栾城县| 永春县| 新兴县| 平定县| 古交市| 沂南县| 缙云县| 城口县| 呼图壁县| 宜阳县| 吴忠市| 遵化市| 沅江市| 昔阳县| 兰考县| 乐山市| 天柱县| 额敏县| 镇远县| 白玉县| 阳朔县| 诏安县| 信丰县| 行唐县| 绍兴市| 平罗县| 万州区| 宜春市| 隆德县| 瓮安县| 白城市| 璧山县| 和政县| 五大连池市|