999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

滑動短時傅里葉變換的FPGA 實現(xiàn)

2020-05-30 03:21:38邵瑞付永慶
應用科技 2020年2期
關鍵詞:信號設計

邵瑞,付永慶

哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001

短時傅里葉變換作為一種常用的時-頻分析方法,在語音信號、信號識別等方面應用十分廣泛[1-3],其基本思想是在傅里葉變換的基礎上實現(xiàn)時域的局部化。對于時變信號,短時傅里葉變換采用一個滑動窗截取信號,并且認為窗內的信號是平穩(wěn)的,對這些信號進行傅里葉變換,可以得到信號在某一時刻的頻譜。通常情況下,為了克服窗與窗內數(shù)據(jù)的關聯(lián)性,相鄰兩窗會有所重疊,重疊的長度越長對分析該信號的頻譜越準確。本文設置每次滑動的數(shù)據(jù)長度為滑動窗長度的1/4。

1 滑動短時傅里葉變換的原理

離散序列信號的短時傅里葉變換的定義為

式中:x(m)為待分析的信號;w(n)為分析窗函數(shù);X(ejω)即為待分析信號每個窗的傅里葉變換。離

n散短時傅里葉變換通過滑動窗截取信號,并對該信號進行離散傅里葉變換,提取出信號的局部頻域信息。

2 FPGA 的介紹及設計環(huán)境

本設計所采用的開發(fā)板為Altera 公司提供的Stratix ii-EP2S180C3,使用的軟件環(huán)境為Quartus ii 13.0,波形仿真采用了第三方軟件Modelsim,開發(fā)板的實物圖如圖1所示。

圖1 Stratix ii-EP2S180C3 開發(fā)板

本設計充分利用Altera 公司所提供的IP 核,簡化了以往設計的過程,設計利用ROM 核存儲漢明窗的數(shù)據(jù)。FIFO 核實現(xiàn)滑動窗。通過使用FFT 核實現(xiàn)傅里葉變換,要根據(jù)設計需求進行FFT 核模式的選取,并根據(jù)芯片手冊進行FFT 核時序的編寫。利用這些工具可以很方便地實現(xiàn)滑動短時傅里葉變換的功能,不需要推導復雜的數(shù)學公式,相對于文獻[4-6]中的復雜數(shù)學公式推導更簡潔,更容易使用現(xiàn)有工具進行實現(xiàn)。

3 設計思路總框圖

設計的前提條件是希望判斷下一段信號在各個窗內頻譜特征,根據(jù)頻譜特征可以檢驗信號所含有的頻率成分,用于信號解調,設計總體框圖如圖2 所示。

圖2 滑動短時傅里葉變換的FPGA 設計框圖

設計中為了避免數(shù)據(jù)堵塞及丟失,應用了乒乓思想[7],使用了4 個相同的FIFO。4 個FIFO 通過輸入數(shù)據(jù)選擇流單元進行控制,使用FIFO_cnt的計數(shù)大小判定當前哪個FIFO 寫入數(shù)據(jù)。設計中每次滑動窗更新數(shù)據(jù)長度為90,則當FIFO1_cnt的大小大于90,此時FIFO2 就要準備進行寫入數(shù)據(jù);當FIFO2_cnt 的大小大于90,此時FIFO3 就要準備進行寫入數(shù)據(jù);當FIFO3_cnt 的大小大于90,此時FIFO4 就要準備進行寫入數(shù)據(jù)。至此一個循環(huán)下,F(xiàn)IFO 的寫使能都打開了。輸出數(shù)據(jù)流選擇單元也是通過FIFO_cnt 的數(shù)據(jù)大小來決定當前哪個FIFO 的數(shù)據(jù)輸出,每個時刻只有一個數(shù)據(jù)輸出,其FIFO 間的滑動圖如圖3 所示,90、180、270、360 分別代表FIFO 中的4 個地址段。

圖3 滑動窗(FIFO)控制設計

漢寧窗的實現(xiàn)采用了ROM 核,存放漢寧窗[8]函數(shù)數(shù)據(jù)。通過MATLAB 生成360 點Hanning 窗函數(shù)系數(shù)表,由于該數(shù)據(jù)為浮點數(shù),而本設計中采用定點化運算,將系數(shù)表生成mif 文件,作為ROM 的初始化文件。

FIFO 核和ROM 核的使用中設計一個共同的使能,當FIFO 核有數(shù)據(jù)讀出時,ROM 核也會有數(shù)據(jù)讀出,兩者同步輸出:送入乘法器進行加窗計算,輸出數(shù)據(jù)位寬24 位,送給后端的FFT 模塊進行計算,根據(jù)FFT 的輸出有效信號source_valid 的高低指示,進行判斷信號特征,解調信號。

4 FPGA 具體實現(xiàn)

4.1 滑動窗口設計

滑動窗使用了異步FIFO[9],F(xiàn)IFO 選擇結構如圖4 所示。其中FIFO 的大小設置的512,數(shù)據(jù)位寬是16,讀時鐘Rdclk 和寫時鐘Wrclk 的大小相差5 倍,F(xiàn)IFO 的讀寫使能分別為Rdreq、Wrreq,輸出滿標志位Wrfull,空標志位Rdempty。

圖4 異步FIFO 的結構

設計中需要4 個FIFO,4 個FIFO 輪換輸出數(shù)據(jù),4 個FIFO 的切換采用了狀態(tài)機的思想,狀態(tài)機設計了8 種狀態(tài),如圖5 所示。當一個狀態(tài)完成之后,再切換到下一個狀態(tài),否則一直處于當前狀態(tài)。

圖5 滑動窗的狀態(tài)機設計

圖6 為滑動窗口的仿真波形,剛開始時,F(xiàn)ifo1_wreq 的電平為高,F(xiàn)IFO1 開始寫入數(shù)據(jù);當寫到第90 個數(shù)據(jù)時,此時FIFO2 的Fifo2_wreq 置成高電平,F(xiàn)IFO2 開始寫入數(shù)據(jù);此時State 同時發(fā)生跳轉;當FIFO2 寫數(shù)據(jù)寫到第90 個時,F(xiàn)IFO3的Fifo3_wreq 被置高電平,F(xiàn)IFO3 開始寫數(shù)據(jù);此時state 在此發(fā)生了跳轉,數(shù)據(jù)繼續(xù)進行寫入;當FIFO3 寫入數(shù)據(jù)寫到第90 個數(shù)據(jù)時,此時FIFO1寫到了第270 個數(shù)據(jù),F(xiàn)IFO4 的Fifo4_wreq 被置成高電平,開始寫數(shù)據(jù);此時4 個FIFO 的Wreq 都被制成高電平,寫入數(shù)據(jù)。當FIFO1 再寫進18 個數(shù)據(jù)時就要開始讀數(shù)據(jù),F(xiàn)ifo1_rdreq 變?yōu)?,維持讀時鐘的72 個高電平,360 個數(shù)據(jù)被寫進FIFO1時,同時也讀空了,之后開始新的循環(huán)。

圖6 滑動窗口的仿真波形

當FIFO1 在寫進288 個數(shù)據(jù)時就要開始讀數(shù)據(jù),F(xiàn)ifo1_rdreq 變?yōu)?,維持讀時鐘的72 個高電平,360 個數(shù)據(jù)被寫進FIFO1 時,同時也讀空了,此時FIFO1 的讀使能就被關閉;當FIFO2 在寫進288 個數(shù)據(jù)時,F(xiàn)IFO2 就要開始讀數(shù)據(jù),F(xiàn)ifo2_rdreq變?yōu)?,維持讀時鐘的72 個高電平,360 個數(shù)據(jù)被寫進FIFO2 時,同時也讀空了,F(xiàn)ifo2_rdeq 變?yōu)?;同理FIFO3、FIFO4。4 個FIFO 輪流輸出數(shù)據(jù),每次只有一個讀使能有效。

圖7 為滑動窗模塊的仿真波形,可以看到每個窗相鄰的將有3/4 的數(shù)據(jù)是重復的,4 個FIFO輪換輸出數(shù)據(jù)。

圖7 滑動窗口控制仿真波形

4.2 Hanning 窗函數(shù)設計

Hanning 窗使用了ROM[10],ROM 采用Altera公司提供的IP 核,ROM 中的地址線由于只能為2 的整次數(shù)冪,取最貼近碼元寬度的512 作為該ROM 的地址數(shù),數(shù)據(jù)位寬為A/DC 的輸出數(shù)據(jù)寬度12,ROM 值在初始化時被賦予了漢寧窗的數(shù)據(jù),其結構如圖8 所示。

Hanning 窗數(shù)據(jù)仿真波形為圖9,在每個時鐘的上升沿數(shù)據(jù)從ROM 端讀出,其數(shù)據(jù)波形如圖中的q 所示。

4.3 乘法器設計

乘法器的結構如圖10 所示。

圖8 ROM 窗結構

圖9 ROM 讀出的數(shù)據(jù)顯示波形

圖10 乘法器設計的結構圖

輸入端數(shù)據(jù)Dataa、Datab 分別來自于FIFO 輸出的數(shù)據(jù)和ROM 窗內的數(shù)據(jù),二者相乘之后的結果為24 位,為信號加過窗的數(shù)據(jù),數(shù)據(jù)送給FFT 模塊進行計算。

4.4 傅里葉變換模塊設計

傅里葉變換[11]部分選擇FFT 核[12],F(xiàn)FT 核可以設置FFT 變換的數(shù)據(jù)長度、輸入數(shù)據(jù)精度、運算中旋轉因子數(shù)據(jù)精度,并提供了4 種運算結構,可以根據(jù)板子的運算速度及硬件資源情況進行選擇使用。由于數(shù)據(jù)是實時采集進來的,所以設計結構中選擇了流模式。流模式的運算分2 個進程:載入數(shù)據(jù)及輸出數(shù)據(jù)進程和FFT 變換運算過程,且這2 個進程可以同一時間處理。當FFT 變換啟動時,輸入數(shù)據(jù)首先在時鐘的控制下輸入信號到FFT 核內部的存儲器內,當一幀數(shù)據(jù)載入完成后才開始計算,F(xiàn)FT 變換后的數(shù)據(jù)在FFT 變換完成后再輸出到相應的端口,流模式下的FFT 結構如圖11 所示。

圖11 流模式下的FFT 結構

流模式的時序接口如表1 所示。流模式的FFT 時序圖如圖12 所示。從圖中可以看出,輸入數(shù)據(jù)是連續(xù)的,無論載入數(shù)據(jù)還是FFT 運算,數(shù)據(jù)輸出都是同時進行的。

表1 FFT 核模塊端口介紹

圖12 流模式下的FFT 時序

實際應用中,可以根據(jù)變換有效數(shù)據(jù)輸出時Source_valid 為高電平期間來確定出現(xiàn)峰值的位置,進而根據(jù)位置號推算出信號中包含的信號頻率,進行信號的解調等處理。

流模式下的FFT 工作,Modelsim 的波形如圖13所示。當有數(shù)據(jù)輸入時Sink_valid 為1;當輸入第一個數(shù)據(jù)時,Sink_sop 為高;當輸入最后一個數(shù)據(jù)時,Sink_eop 電平由低變高,維持一個時鐘的高電平。FFT 核計算結束結果輸出,Source_valid 拉高。當輸出數(shù)據(jù)第一個值時,Source_sop 被拉高一個時鐘的高電平,之后變成低電平;當輸出數(shù)據(jù)最后一個值時,Source_eop被拉高一個時鐘的高電平,之后變成低電平。

圖13 流模式下的FFT 仿真波形

5 結論

本文提出了利用Altera 公司提供的現(xiàn)有IP 核進行直接設計實現(xiàn)滑動短時傅里葉變換,從思路到實現(xiàn)上難度都不大,并給出了具體的設計與實現(xiàn),其采用的方法可以用來其他的相關處理。

1)滑動窗口的實現(xiàn)采用了具有數(shù)據(jù)先進先出特點的FIFO 作為數(shù)據(jù)緩存,讀寫時鐘可以不一樣,且不用控制地址線,使用操作都很簡單。

2)設計中使用了Altera 公司提供的FFT 核直接進行傅里葉變換,只需要根據(jù)FFT 手冊進行恰當?shù)臅r序設計,完成自己想要的功能,不需要從原理基礎上設計出一個傅里葉變換模塊,可以減少研發(fā)時間,降低研究成本。

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 在线国产欧美| 国产内射一区亚洲| 国产美女精品人人做人人爽| 国产无码性爱一区二区三区| 国产精品偷伦视频免费观看国产| 精品福利国产| 成人伊人色一区二区三区| 国产情精品嫩草影院88av| 无码av免费不卡在线观看| 欧美成人aⅴ| 国产拍揄自揄精品视频网站| 无码粉嫩虎白一线天在线观看| 国产日本欧美亚洲精品视| 中文无码精品A∨在线观看不卡| 美女高潮全身流白浆福利区| 国产精品一区二区久久精品无码| 99精品国产自在现线观看| 亚洲 成人国产| 四虎精品黑人视频| 人妻免费无码不卡视频| 青青青视频蜜桃一区二区| 亚洲手机在线| a级毛片免费看| 亚洲Av综合日韩精品久久久| 欧美成一级| 国产男人的天堂| 91成人在线观看| 中文纯内无码H| 三上悠亚一区二区| 在线观看国产精品第一区免费| 亚洲成人黄色在线观看| 国产激爽爽爽大片在线观看| 日本中文字幕久久网站| 免费高清a毛片| 亚洲精品天堂在线观看| 亚洲欧洲日韩久久狠狠爱| 国产另类视频| 114级毛片免费观看| 日韩A级毛片一区二区三区| 亚洲 欧美 偷自乱 图片| www.亚洲一区| 欧美A级V片在线观看| 国产成人精品一区二区不卡| 美臀人妻中出中文字幕在线| 亚洲无码视频喷水| 精品视频一区二区观看| 国产精品大白天新婚身材| 国产精品夜夜嗨视频免费视频| 在线日韩一区二区| 久久精品日日躁夜夜躁欧美| 55夜色66夜色国产精品视频| 亚洲一区无码在线| jizz在线观看| 手机在线国产精品| 亚洲成人高清在线观看| 国产天天色| 亚洲中文精品久久久久久不卡| 欧美黄网站免费观看| 91亚洲精选| 国内精品久久久久久久久久影视 | 九九热视频在线免费观看| 日本黄色a视频| 东京热高清无码精品| 日本亚洲成高清一区二区三区| 欧美劲爆第一页| 欧美成人看片一区二区三区| 多人乱p欧美在线观看| 国产精品欧美激情| 国产一区二区免费播放| 欧美区一区二区三| 亚洲福利片无码最新在线播放| 91色老久久精品偷偷蜜臀| 狠狠做深爱婷婷久久一区| 欧美性猛交一区二区三区| 国产伦片中文免费观看| 亚洲第一精品福利| 日本免费a视频| 亚洲欧美日韩色图| 国产精品原创不卡在线| 正在播放久久| 国产精品无码AⅤ在线观看播放| 免费人成视网站在线不卡|