欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種有限沖激響應(yīng)濾波器的設(shè)計(jì)方法

文檔序號(hào):7534512閱讀:288來(lái)源:國(guó)知局

專利名稱::一種有限沖激響應(yīng)濾波器的設(shè)計(jì)方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)和分布式算法的FIR(有限沖激響應(yīng))濾波器設(shè)計(jì)方法,屬于FIR濾波器
技術(shù)領(lǐng)域
。技術(shù)背景FIR濾波器在科學(xué)研究和實(shí)際生產(chǎn)中有著非常重要的作用,隨著電子設(shè)計(jì)自動(dòng)化技術(shù)的發(fā)展,^用FPGA技術(shù)進(jìn)行FIR濾波器的設(shè)計(jì)已成為可能,由于其集成化高,性能穩(wěn)定等優(yōu)點(diǎn),這種技術(shù)越來(lái)越多的得到推廣和應(yīng)用。目前基于FPGA的FIR濾波器設(shè)計(jì)主要采用分布式算法,由于這種算法中引用了查找表技術(shù),因此比傳統(tǒng)的乘累加方法具有更快的運(yùn)算速度,很好的滿足/實(shí)際高速運(yùn)算的需要。但同時(shí),這種算法也因査找表的引入而消耗了大量FPGA的內(nèi)部資源,使得設(shè)計(jì)成本變高,特別是對(duì)于高階FIR濾波器,這個(gè)問(wèn)題更為突出。為了解決這一問(wèn)題,一般通常采用分割查找表的方法,通過(guò)降低濾波器階數(shù),化整為零,來(lái)減少資源的使用,但實(shí)際上解決的效果有限,資源開銷仍然較大,設(shè)計(jì)成本依然較高。
發(fā)明內(nèi)容針對(duì)現(xiàn)有FIR濾波器設(shè)計(jì)屮存在的的資源開銷較大的問(wèn)題,本發(fā)明提供一種資源開銷小、設(shè)計(jì)成本低的有限沖激響應(yīng)(FIR)濾波器的設(shè)計(jì)方法。本發(fā)明的有限沖激響應(yīng)(FIR)濾波器的設(shè)計(jì)方法是將FIR濾波器的每個(gè)系數(shù)以二進(jìn)制形式表示,展開成一個(gè)系數(shù)陣列,然后對(duì)此陣列進(jìn)行拆分,生成若干具有特殊規(guī)律的新子陣列,每個(gè)子陣列都對(duì)應(yīng)著一個(gè)子?xùn)苏冶?,每個(gè)子查找表的輸出值,直接由其輸入數(shù)據(jù)的相應(yīng)位構(gòu)成,從而不需要查找表單元(lut),最后,將每個(gè)子?xùn)苏冶淼妮敵鲞M(jìn)行累加,即得總査找表的輸出值。具體步驟如下將一個(gè)m+l階的FIR濾波器的每個(gè)系數(shù)以二進(jìn)制形式表示,展開成一個(gè)如下所示的系數(shù)陣列cmWcm["-1]…CJl]c[o]c,—,["]cm—J"-1]...Cm—Jl]cm—,[o]1]...c,[o]C。["]Q"-1]...C0[l]c'。[o]每個(gè)系數(shù)用二進(jìn)制展開后位寬是n+l,其中陣列屮的每個(gè)元素的值只能取o或1,對(duì)此系數(shù)陣列,做如下處理(1)產(chǎn)生新集合a:對(duì)陣列中的(CJ"],C,,卜,M,…C,["],C。["]f列,根據(jù)其中所含元素值為1的項(xiàng)的位置的不同,將該列拆分成數(shù)個(gè)每列中只含一個(gè)元素值為1的項(xiàng)的新子列,從而組成一個(gè)新的集合,該集合中的新了列的個(gè)數(shù)應(yīng)與此列中元素值為1的項(xiàng)的個(gè)數(shù)相同;b:重復(fù)上述操作,應(yīng)用到每列當(dāng)中,從而構(gòu)成n+l個(gè)新集合;c:從這n+l個(gè)新集合中選取了列數(shù)最多的一個(gè),假設(shè)其中含w個(gè)子列,將其他集合中了-列個(gè)數(shù)不足w個(gè)的用所有元素值均為零的子列補(bǔ)齊,使得每個(gè)新集合中子列的個(gè)數(shù)都是w;(2)產(chǎn)生新子陣列a:從各個(gè)新集合中任意選取一個(gè)子列,從而組成一個(gè)新的子陣列,并將已選取的子列從原各個(gè)集合中清除;b:重復(fù)上述步驟w次,從時(shí)組成W個(gè)新的子陣列;(3)輸出子陣列査找表對(duì)每個(gè)新的子陣列,艽查找表的輸入taWe—^為m+l位,輸出toWe—ow為n+l位,假設(shè)k為輸出值中0、間的任意一位,則其對(duì)應(yīng)著子陣列中從右向左第k+l列,假設(shè)該列中在元素值為1的項(xiàng)下面的元素值為0的項(xiàng)的個(gè)數(shù)為s,則有即由輸入數(shù)據(jù)相應(yīng)位的值直接得到輸出數(shù)據(jù)相應(yīng)位的值,每個(gè)子陣列査找表的輸入值與原總陣列查找表的輸入值相同,不再需要lut(査找表單元),依據(jù)此規(guī)律,從而直接由輸入得到輸出數(shù)據(jù)。(4)輸出原總陣列查找表由上述操作,可得到每個(gè)子陣列査找表的輸出值,共w個(gè),最后將這w個(gè)的輸出值累加起來(lái),即得原總陣列查找表的輸出值。其余操作按照現(xiàn)有的分布式算法進(jìn)行。本發(fā)明可很好的減少査找表單元(lut)的使用(w越小,改進(jìn)效果越明顯),從而可以非常有效的節(jié)約FPGA(現(xiàn)場(chǎng)可編程門陣列)內(nèi)部資源,簡(jiǎn)化設(shè)計(jì)過(guò)程,降低設(shè)計(jì)成本,提高設(shè)計(jì)效率。具體實(shí)施方式實(shí)施例以一個(gè)16階的FiR濾波器為例,來(lái)具體闡述本發(fā)明的方法。將其所有系數(shù)以二進(jìn)制的形式展開,構(gòu)成一"系樂(lè)0010101100111010100010000100o丄丄o00010010000000010100o丄oo10000000oo丄o010011000101100010010000100000010000000101000100001000100011000100100000薩0100010001101010100010011000000000100000010101000100110010100010001001100001000110010000010101000010000110101000下面按本發(fā)明的設(shè)計(jì)方法進(jìn)行處理1產(chǎn)生新集合(1)對(duì)左起第一列(0100010000100010f,下四個(gè)新子列(0100000000000000)7',按照其中元素值為1的項(xiàng)位置的不同,拆分成以四項(xiàng),從而構(gòu)成一個(gè)集合(2)同樣的方法,作用到其他各列,從而形成相應(yīng)的集合,從左到右,依次是:第2列第3列{(0000000000000100/,(0000000000000001f};第4列{第5列{第6列第7列第8列第9列第14列{(0100000000000000f,(00001OOOOOOOOOOO)'',(0000000000100000)第15歹!j:{(1000000000000000)7',(0100000000000000)7,(0000000100000000)(3)由以上集合可知,含子列最多的集合其f5,對(duì)w小于5的集合進(jìn)行補(bǔ)"全零子列"(即所有元素值均為零的列)操作,如最左邊的一列(0100010000100010f,其集合相應(yīng)變作(0000000000000000)'},經(jīng)過(guò)上述操作后,每個(gè)新集合所含的子列數(shù)均是52產(chǎn)生新子陣列(1)從各個(gè)集合中任意選取一個(gè)子列,從而組成一個(gè)新的子陣列,如形成:1010101100111010000000000100010000010000000000010100010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000為保證不重復(fù)選取,選到的子列要從原集合中消去。(2)依照這種方法進(jìn)行下去,最后得到5個(gè)新的子陣列:000000000000000000001000000000100000001000000000000000000000000000100100110001011000000100001000000100000001000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001000000001000000011000100000000100001000100011000000100010001100000100000011000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000101000001000000000000000000001000100010001001010000000100000000100001001000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000100000011000000001000000000101010000100000101010003子陣列查找表的輸出以第一個(gè)子陣列為例不妨設(shè)此處1^=3,則其對(duì)應(yīng)第四列(從右向左),其元素值為l的項(xiàng)下面的元素值為0的項(xiàng)的個(gè)數(shù)是15,于是有ta6/e—owf[3]=to6/e—5],依據(jù)此規(guī)律,可得到第一子陣列查找表的輸出值為,a6/e—oW=(fcf6/e—5],fa6/e—/"[12],ta6/e—5],tor6/e—3],to6/e—5],ta6/e_/"[12],to6/e—5],to6/e—5],to6/e—z'"[12],to6/e—/"[14],勵(lì)/e—5],ta6/e—5],to6/e—5],fa6/e—,4],ta6/e—5],勵(lì)/e—3]}由輸入數(shù)據(jù)相應(yīng)位的值直接便得到輸出數(shù)據(jù)的值。4原總陣列查找表的輸出依據(jù)步驟3中的方法,分別得到了五個(gè)子陣列的查找表輸出值,分別記作toWe——1,toWe—oirf_2,—owf—3,—oW—4,toWe—ow/1—5,于是,最后原總陣列查找表的輸出可得toWe_owf—啤=—owf—1+,aWe_ow/_2+——3+—om/"—4+toWe—_5。其余操作按照現(xiàn)有的分布式算法進(jìn)行。通過(guò)這種方法,從而有效的節(jié)約了FPGA內(nèi)部資源的使用,降低了設(shè)計(jì)成本。權(quán)利要求1.一種有限沖激響應(yīng)濾波器的設(shè)計(jì)方法,其特征在于,該方法是將有限沖激響應(yīng)濾波器的每個(gè)系數(shù)以二進(jìn)制形式表示,展開成一個(gè)系數(shù)陣列,然后對(duì)此陣列進(jìn)行拆分,生成若干具有特殊規(guī)律的新子陣列,每個(gè)子陣列都對(duì)應(yīng)著一個(gè)子查找表,每個(gè)子查找表的輸出值,直接由其輸入數(shù)據(jù)的相應(yīng)位構(gòu)成,最后,將每個(gè)子查找表的輸出進(jìn)行累加,即得總查找表的輸出值;具體步驟如下將一個(gè)m+1階的FIR濾波器的每個(gè)系數(shù)以二進(jìn)制形式表示,展開成一個(gè)如下所示的系數(shù)陣列Cm[n]Cm[n-1]…Cm[1]CmCm-1[n]Cm-1[n-1]…Cm-1[1]Cm-1C1[n]C1[n-1]…C1[1]C1C0[n]C0[n-1]…C0[1]C0每個(gè)系數(shù)用二進(jìn)制展開后位寬是n+1,其中陣列中的每個(gè)元素的值只能取0或1,對(duì)此系數(shù)陣列,做如下處理(1)產(chǎn)生新集合a對(duì)陣列中的(Cm[n],Cm-1[n],…C1[n],C0[n])T列,根據(jù)其中所含元素值為1的項(xiàng)的位置的不同,將該列拆分成數(shù)個(gè)每列中只含一個(gè)元素值為1的項(xiàng)的新子列,從而組成一個(gè)新的集合,該集合中的新子列的個(gè)數(shù)應(yīng)與此列中元素值為1的項(xiàng)的個(gè)數(shù)相同;b重復(fù)上述操作,應(yīng)用到每列當(dāng)中,從而構(gòu)成n+1個(gè)新集合;c從這n+1個(gè)新集合中選取子列數(shù)最多的一個(gè),假設(shè)其中含w個(gè)子列,將其他集合中子列個(gè)數(shù)不足w個(gè)的用所有元素值均為零的子列補(bǔ)齊,使得每個(gè)新集合中子列的個(gè)數(shù)都是w;(2)產(chǎn)生新子陣列a從各個(gè)新集合中任意選取一個(gè)子列,從而組成一個(gè)新的子陣列,并將已選取的子列從原各個(gè)集合中清除;b重復(fù)上述步驟w次,從而組成w個(gè)新的子陣列;(3)輸出子陣列查找表對(duì)每個(gè)新的子陣列,其查找表的輸入table_in為m+1位,輸出table_out為n+1位,假設(shè)k為輸出值中0~n間的任意一位,則其對(duì)應(yīng)著子陣列中從右向左第k+1列,假設(shè)該列中在元素值為1的項(xiàng)下面的元素值為0的項(xiàng)的個(gè)數(shù)為s,則有table_out[k]=table_in[s]即由輸入數(shù)據(jù)相應(yīng)位的值直接得到輸出數(shù)據(jù)相應(yīng)位的值,每個(gè)子陣列查找表的輸入值與原總陣列查找表的輸入值相同,依據(jù)此規(guī)律,直接由輸入得到輸出數(shù)據(jù);(4)輸出原總陣列查找表由上述操作,得到每個(gè)子陣列查找表的輸出值,共w個(gè),最后將這w個(gè)的輸出值累加起來(lái),即得原總陣列查找表的輸出值。全文摘要本發(fā)明公開了一種有限沖激響應(yīng)濾波器的設(shè)計(jì)方法,是將FIR濾波器的系數(shù)以二進(jìn)制形式表示,展成一系數(shù)陣列,然后對(duì)此陣列進(jìn)行拆分,生成若干具有特殊規(guī)律的新子陣列,每個(gè)子陣列都對(duì)應(yīng)著一個(gè)子查找表,每個(gè)子查找表的輸出值,直接由其輸入數(shù)據(jù)的相應(yīng)位構(gòu)成,從而不需要查找表單元(lut),最后,將每個(gè)子查找表的輸出進(jìn)行累加,即得總查找表的輸出值。本發(fā)明可很好的減少lut的使用,從而可以非常有效的節(jié)約FPGA內(nèi)部資源,簡(jiǎn)化設(shè)計(jì)過(guò)程,降低設(shè)計(jì)成本,提高設(shè)計(jì)效率。文檔編號(hào)H03H17/02GK101150306SQ20071011325公開日2008年3月26日申請(qǐng)日期2007年10月24日優(yōu)先權(quán)日2007年10月24日發(fā)明者昆王,袁東風(fēng)申請(qǐng)人:山東大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新河县| 金湖县| 永川市| 永福县| 辛集市| 明光市| 桂平市| 甘德县| 嘉义县| 镇远县| 凤阳县| 奉贤区| 连云港市| 竹溪县| 青州市| 新乐市| 泰顺县| 亚东县| 霍邱县| 白银市| 五常市| 永福县| 景德镇市| 拉萨市| 高碑店市| 肥城市| 长葛市| 福安市| 吴堡县| 龙口市| 康马县| 南京市| 泗阳县| 泸水县| 巩留县| 乌恰县| 黄大仙区| 镇原县| 钟山县| 浮山县| 邻水|