本發(fā)明涉及fpga硬件領(lǐng)域,尤其涉及數(shù)字信號(hào)處理領(lǐng)域,具體是指一種數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、本發(fā)明以farrow濾波器的理論為基礎(chǔ),理想的濾波器分為上下兩個(gè)部分,上半部分系數(shù)固定,下半部分輸入可變的延時(shí)系數(shù)△k,得到輸出的信號(hào)的小數(shù)延時(shí)為(1-△k)*tclk.△k取值在0.0~1.0之間。如圖一所示,四階farrow濾波器的上半部分為五個(gè)fir濾波器,五個(gè)相鄰更新周期的數(shù)據(jù)分別與對(duì)應(yīng)系數(shù)相乘并累加,得到五個(gè)新的數(shù)據(jù)送入farrow濾波器的下半部分,與△k進(jìn)行乘加運(yùn)算。
2、濾波器的階數(shù)越高,濾波效果越好,同時(shí)在fpga中實(shí)現(xiàn)所占用的芯片資源越大。farrow濾波器下半部分例化次數(shù)越多,即△k越多,插值后數(shù)據(jù)的精度越高,同時(shí)相應(yīng)的會(huì)增加時(shí)間資源及fpga芯片資源?,F(xiàn)有技術(shù)主要為理論方面或在matlab對(duì)數(shù)據(jù)模型進(jìn)行處理,當(dāng)前在運(yùn)用fpga來(lái)實(shí)現(xiàn)系數(shù)間的插值時(shí),多主要集中于實(shí)現(xiàn)固定的插值倍數(shù),不能夠根據(jù)系數(shù)的更新率及系數(shù)長(zhǎng)度靈活的調(diào)整系數(shù)的插值倍數(shù)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種滿足精度高、準(zhǔn)確度高、適用范圍較為廣泛的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)如下:
3、該數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其主要特點(diǎn)是,所述的方法包括以下步驟:
4、(1)根據(jù)更新信號(hào)以及所需插值倍數(shù)生成各模塊控制信號(hào);
5、(2)根據(jù)所需插值倍數(shù)生成farrow濾波器下半部分系數(shù);
6、(3)接收串行數(shù)據(jù)組,儲(chǔ)存到多個(gè)存儲(chǔ)器中并根據(jù)控制模塊使能信號(hào)進(jìn)行緩存移位;
7、(4)進(jìn)行farrow濾波運(yùn)算;
8、(5)存儲(chǔ)多組串行數(shù)據(jù),并進(jìn)行排列組合;
9、(6)對(duì)數(shù)據(jù)進(jìn)行緩存后等間隔輸出。
10、較佳地,所述的步驟(1)具體包括以下步驟:
11、(1.1)根據(jù)數(shù)據(jù)的更新周期以及插值倍數(shù)n,在兩次更新信號(hào)間均勻等間隔地生成n個(gè)新的更新信號(hào);
12、(1.2)根據(jù)一個(gè)更新周期內(nèi)輸入farrow模塊的數(shù)據(jù)長(zhǎng)度以及所需的插值倍數(shù)生成使能信號(hào)。
13、較佳地,所述的生成的更新信號(hào)用于控制后續(xù)數(shù)據(jù)等間隔輸出以及作為farrow模塊的后續(xù)模塊的更新信號(hào);所述的生成的使能信號(hào)用于存儲(chǔ)模塊的地址以及用于生成farrow濾波器下半部分△k的指示信號(hào)。
14、較佳地,所述的步驟(3)具體為:
15、對(duì)farrow濾波器的上半部分進(jìn)行4次移位。
16、較佳地,所述的步驟(4)具體為:
17、將經(jīng)過(guò)4次移位后的串行數(shù)據(jù)加上原始串行數(shù)據(jù)5組作一列,進(jìn)行4階farrow濾波器的運(yùn)算。
18、較佳地,所述的步驟(5)具體包括以下步驟:
19、將經(jīng)過(guò)farrow濾波器下半部分運(yùn)算的數(shù)據(jù)分別存進(jìn)八組bram存儲(chǔ)器中,通過(guò)狀態(tài)機(jī)切換八組串行存儲(chǔ)的結(jié)果;
20、存儲(chǔ)一組后,切換存儲(chǔ)后續(xù)一組;
21、在存儲(chǔ)第二組的同時(shí),對(duì)第一組8個(gè)并行存儲(chǔ)的bram存儲(chǔ)器進(jìn)行讀操作,對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行縱向讀取,得到重新排列后的數(shù)據(jù)。
22、較佳地,所述的步驟(6)具體為:
23、將排列組合后的數(shù)據(jù)經(jīng)過(guò)一層fifo緩存輸出,將產(chǎn)生的新更新信號(hào)作fifo讀使能,使所有數(shù)據(jù)完成等間隔輸出。
24、該數(shù)字信號(hào)處理中用于實(shí)現(xiàn)基于fpga進(jìn)行系數(shù)間倍數(shù)可變插值處理的裝置,其主要特點(diǎn)是,所述的裝置包括:
25、處理器,被配置成執(zhí)行計(jì)算機(jī)可執(zhí)行指令;
26、存儲(chǔ)器,存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令,所述的計(jì)算機(jī)可執(zhí)行指令被所述的處理器執(zhí)行時(shí),實(shí)現(xiàn)上述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法的各個(gè)步驟。
27、該數(shù)字信號(hào)處理中用于實(shí)現(xiàn)基于fpga進(jìn)行系數(shù)間倍數(shù)可變插值處理的處理器,其主要特點(diǎn)是,所述的處理器被配置成執(zhí)行計(jì)算機(jī)可執(zhí)行指令,所述的計(jì)算機(jī)可執(zhí)行指令被所述的處理器執(zhí)行時(shí),實(shí)現(xiàn)上述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法的各個(gè)步驟。
28、該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其主要特點(diǎn)是,其上存儲(chǔ)有計(jì)算機(jī)程序,所述的計(jì)算機(jī)程序可被處理器執(zhí)行以實(shí)現(xiàn)上述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法的各個(gè)步驟。
29、采用了本發(fā)明的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),通過(guò)信號(hào)控制模塊所產(chǎn)生的各下級(jí)模塊的諸如使能信號(hào)、觸發(fā)信號(hào)等指示信號(hào)以及生成的濾波器下半部分系數(shù)來(lái)控制整體farrow模塊進(jìn)行倍數(shù)插值,使用者可根據(jù)自己所需的插值倍數(shù)進(jìn)行靈活的調(diào)整,當(dāng)數(shù)據(jù)更新周期較長(zhǎng)時(shí)或者每個(gè)更新周期內(nèi)需要進(jìn)行插值的數(shù)據(jù)較少時(shí),使用者可以選擇進(jìn)行更多倍的插值,以避免時(shí)間資源的浪費(fèi)同時(shí)提高數(shù)據(jù)經(jīng)過(guò)插值后的精度。
1.一種數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的步驟(1)具體包括以下步驟:
3.根據(jù)權(quán)利要求2所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的生成的更新信號(hào)用于控制后續(xù)數(shù)據(jù)等間隔輸出以及作為farrow模塊的后續(xù)模塊的更新信號(hào);所述的生成的使能信號(hào)用于存儲(chǔ)模塊的地址以及用于生成farrow濾波器下半部分△k的指示信號(hào)。
4.根據(jù)權(quán)利要求1所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的步驟(3)具體為:
5.根據(jù)權(quán)利要求1所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的步驟(4)具體為:
6.根據(jù)權(quán)利要求1所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的步驟(5)具體包括以下步驟:
7.根據(jù)權(quán)利要求1所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法,其特征在于,所述的步驟(6)具體為:
8.一種數(shù)字信號(hào)處理中用于實(shí)現(xiàn)基于fpga進(jìn)行系數(shù)間倍數(shù)可變插值處理的裝置,其特征在于,所述的裝置包括:
9.一種數(shù)字信號(hào)處理中用于實(shí)現(xiàn)基于fpga進(jìn)行系數(shù)間倍數(shù)可變插值處理的處理器,其特征在于,所述的處理器被配置成執(zhí)行計(jì)算機(jī)可執(zhí)行指令,所述的計(jì)算機(jī)可執(zhí)行指令被所述的處理器執(zhí)行時(shí),實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法的各個(gè)步驟。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)程序,所述的計(jì)算機(jī)程序可被處理器執(zhí)行以實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的數(shù)字信號(hào)處理中基于fpga實(shí)現(xiàn)系數(shù)間倍數(shù)可變插值處理的方法的各個(gè)步驟。