版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
LecFIRDigitalFilters實時信號處理系統(tǒng)演示文稿目前一頁\總數(shù)九十八頁\編于十四點LecFIRDigitalFilters實時信號處理系統(tǒng)目前二頁\總數(shù)九十八頁\編于十四點第3章FIR數(shù)字濾波器目前三頁\總數(shù)九十八頁\編于十四點講授內(nèi)容安排1.數(shù)字濾波器和FIR理論轉(zhuǎn)置結(jié)構(gòu)FIR濾波器FIR濾波器的對稱性線性相位FIR濾波器2.FIR濾波器設(shè)計直接窗函數(shù)設(shè)計法等紋波設(shè)計法3.常系數(shù)FIR濾波器設(shè)計直接FIR設(shè)計轉(zhuǎn)置結(jié)構(gòu)FIR濾波器用分布式算法設(shè)計FIR濾波器IP核FIR濾波器設(shè)計基于DA和基于RAG的FIR濾波器比較目前四頁\總數(shù)九十八頁\編于十四點I.數(shù)字濾波器和FIR理論目前五頁\總數(shù)九十八頁\編于十四點數(shù)字濾波器(1)線性時不變?yōu)V波器(LinearTime-Invariant,LTI)有限脈沖響應(yīng)濾波器(FiniteImpulseResponse,FIR)采樣數(shù)量有限,濾波器在每個采樣時刻進(jìn)行有限次卷積無限脈沖響應(yīng)濾波器(InfiniteImpulseResponse,IIR)濾波器在每個采樣時刻進(jìn)行無限次卷積目前六頁\總數(shù)九十八頁\編于十四點數(shù)字濾波器(2)模擬濾波器利用微分方程和Laplace變換進(jìn)行建模與分析利用RLC元件和運算放大器實現(xiàn)可以用作IIR濾波器設(shè)計的原型數(shù)字濾波器是數(shù)字信號處理的主要組成部分正在逐漸替代模擬濾波器IIR濾波器以模擬濾波器為原型進(jìn)行設(shè)計,F(xiàn)IR濾波器直接用數(shù)字方法進(jìn)行設(shè)計目前七頁\總數(shù)九十八頁\編于十四點FIR濾波器理論(1)對于輸入時間序列x[n],常系數(shù)L階FIR濾波器的輸出y[n]為
為濾波器的系數(shù),對應(yīng)FIR濾波器的脈沖響應(yīng)。用Z域表示F(z)是FIR濾波器的傳遞函數(shù)目前八頁\總數(shù)九十八頁\編于十四點直接形式FIR濾波器結(jié)構(gòu)目前九頁\總數(shù)九十八頁\編于十四點關(guān)鍵路徑:TA
:加法器的延遲,TM
:乘法器的延遲關(guān)鍵路徑延遲:1TM+(M-1)TA
面積:M-1個寄存器,M個乘法器,M-1個加法器遲滯:遲滯為x(0)和y(0),x(1)和y(1),……之間的時鐘周期數(shù)。0時鐘周期遲滯。運算復(fù)雜度:M次乘法/采樣數(shù)+M-1次加法/采樣數(shù)x(n)Z-1Z-1Z-1h0h1h2hM-1y(n)目前十頁\總數(shù)九十八頁\編于十四點FIR濾波器理論(2)FIR濾波器僅有零點存在,系統(tǒng)穩(wěn)定多項式F(z)的根確定零點CIC濾波器(CascadeIntegratorComb
Filter,級聯(lián)積分梳狀濾波器
)具有遞歸性,但遞歸部分產(chǎn)生的極點被非遞歸部分抵消,只有零點。非遞歸實現(xiàn)濾波器均為FIR濾波器,但遞歸實現(xiàn)濾波器可以是FIR濾波器,也可以是IIR濾波器。目前十一頁\總數(shù)九十八頁\編于十四點轉(zhuǎn)置結(jié)構(gòu)FIR濾波器轉(zhuǎn)置結(jié)構(gòu)FIR濾波器是FIR濾波器的常見實現(xiàn)方式,結(jié)構(gòu)上具有如下優(yōu)點:不需要給輸入x[n]提供額外的移位寄存器;不需要為了獲得高流量而在乘積的加法器樹中加入流水線不改變系統(tǒng)功能構(gòu)造方法——利用信號流圖反轉(zhuǎn),是直接形式FIR濾波器的一種變形:將輸入和輸出互換;顛倒信號流的方向;用分支(fork)替換加法器,反之亦然。目前十二頁\總數(shù)九十八頁\編于十四點轉(zhuǎn)置結(jié)構(gòu)FIR濾波器結(jié)構(gòu)目前十三頁\總數(shù)九十八頁\編于十四點x(n)Z-1Z-1Z-1hM-1hM-2hM-3h0y(n)采用信號流圖反轉(zhuǎn)來縮短關(guān)鍵路徑長度
轉(zhuǎn)置結(jié)構(gòu)關(guān)鍵路徑延遲:1TM+1TA
面積:M-1個寄存器,M個乘法器,M-1個加法器遲滯:0時鐘周期遲滯運算復(fù)雜度:M次乘法/采樣數(shù)+M-1次加法/采樣數(shù)缺點:寄存器的大小取決于量化機(jī)制x(n)的扇出太多目前十四頁\總數(shù)九十八頁\編于十四點FIR濾波器VHDL設(shè)計(1)舉例3.1:可編程FIR濾波器考慮線性卷積和 數(shù)據(jù)(或系數(shù))的位寬為Bx,濾波器長度為L,對無符號SOP運算提供log2L個保護(hù)位,對有符號SOP運算提供(log2L)?1個保護(hù)位。
例如,有符號數(shù)據(jù)(或系數(shù))的位寬為9,L=4,則加法器的位寬為9+9+log24?1=19.目前十五頁\總數(shù)九十八頁\編于十四點FIR濾波器VHDL設(shè)計(2)-ThisisagenericFIRfiltergenerator--ItusesW1bitdata/coefficientsbitsLIBRARYlpm;--UsingpredefinedpackagesUSElpm.lpm_components.ALL;LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_arith.ALL;USEieee.std_logic_unsigned.ALL;ENTITYfir_genIS------>InterfaceGENERIC(W1:INTEGER:=9;--InputbitwidthW2:INTEGER:=18;--Multiplierbitwidth2*W1W3:INTEGER:=19;--Adderwidth=W2+log2(L)-1W4:INTEGER:=11;--OutputbitwidthL:INTEGER:=4;--FilterlengthMpipe:INTEGER:=3--Pipelinestepsofmultiplier);目前十六頁\總數(shù)九十八頁\編于十四點FIR濾波器VHDL設(shè)計(3)PORT(clk:INSTD_LOGIC;Load_x:INSTD_LOGIC;x_in:INSTD_LOGIC_VECTOR(W1-1DOWNTO0);c_in:INSTD_LOGIC_VECTOR(W1-1DOWNTO0);y_out:OUTSTD_LOGIC_VECTOR(W4-1DOWNTO0));ENDfir_gen;ARCHITECTUREflexOFfir_genISSUBTYPEN1BITISSTD_LOGIC_VECTOR(W1-1DOWNTO0);SUBTYPEN2BITISSTD_LOGIC_VECTOR(W2-1DOWNTO0);SUBTYPEN3BITISSTD_LOGIC_VECTOR(W3-1DOWNTO0);TYPEARRAY_N1BITISARRAY(0TOL-1)OFN1BIT;TYPEARRAY_N2BITISARRAY(0TOL-1)OFN2BIT;TYPEARRAY_N3BITISARRAY(0TOL-1)OFN3BIT;SIGNALx:N1BIT;SIGNALy:N3BIT;SIGNALc:ARRAY_N1BIT;--CoefficientarraySIGNALp:ARRAY_N2BIT;--ProductarraySIGNALa:ARRAY_N3BIT;--Adderarray目前十七頁\總數(shù)九十八頁\編于十四點FIR濾波器VHDL設(shè)計(4)BEGINLoad:PROCESS------>LoaddataorcoefficientBEGINWAITUNTILclk='1';IF(Load_x='0')THENc(L-1)<=c_in;--StorecoefficientinregisterFORIINL-2DOWNTO0LOOP--Coefficientsshiftonec(I)<=c(I+1);ENDLOOP;ELSEx<=x_in;--GetonedatasampleatatimeENDIF;ENDPROCESSLoad;SOP:PROCESS(clk)------>Computesum-of-productsBEGINIFclk'eventand(clk='1')THENFORIIN0TOL-2LOOP--Computethetransposeda(I)<=(p(I)(W2-1)&p(I))+a(I+1);--filteraddsENDLOOP;a(L-1)<=p(L-1)(W2-1)&p(L-1);--FirstTAPhasENDIF;--onlyaregistery<=a(0);ENDPROCESSSOP;目前十八頁\總數(shù)九十八頁\編于十四點FIR濾波器VHDL設(shè)計(5)--InstantiateLpipelinedmultiplierMulGen:FORIIN0TOL-1GENERATEMuls:lpm_mult--Multiplyp(i)=c(i)*x;GENERICMAP(LPM_WIDTHA=>W1,LPM_WIDTHB=>W1,LPM_PIPELINE=>Mpipe,LPM_REPRESENTATION=>"SIGNED",LPM_WIDTHP=>W2,LPM_WIDTHS=>W2)PORTMAP(clock=>clk,dataa=>x,datab=>c(I),result=>p(I));ENDGENERATE;y_out<=y(W3-1DOWNTOW3-W4);ENDflex;目前十九頁\總數(shù)九十八頁\編于十四點FIR濾波器VHDL設(shè)計(6)設(shè)計使用了184個LE和4個嵌入式乘法器,運行速度為329.06Hz.仿真實例:長度為4的DaubechiesDB4濾波器將系數(shù)量化為9位(含1個符號位),得到目前二十頁\總數(shù)九十八頁\編于十四點FIR濾波器的對稱性(1)利用對稱性可以簡化濾波器結(jié)構(gòu)FIR濾波器沖激響應(yīng)的中心點可作為對稱的中心點。為方便起見,將這個點定義為第0個采樣時刻。這樣的的濾波器具有因果性。對于奇數(shù)階FIR濾波器,其因果數(shù)學(xué)模型為:目前二十一頁\總數(shù)九十八頁\編于十四點FIR濾波器的對稱性(2)FIR濾波器的頻率響應(yīng)可通過計算單位圓上的傳遞函數(shù)得到,令,有:被稱為是濾波器的幅頻響應(yīng),被稱為相位響應(yīng),并滿足數(shù)字濾波器通常采用相位和幅度來表示特性,而不常用z域傳遞函數(shù)或復(fù)域變換。目前二十二頁\總數(shù)九十八頁\編于十四點線性相位FIR濾波器(1)在諸如通信和圖像處理等應(yīng)用系統(tǒng)中,能夠在一定頻率范圍內(nèi)保持相位的完整性是所期望的一項重要的性能指標(biāo)。在設(shè)計濾波器時,必須要確立線性相位對頻率的關(guān)系。組延遲(GroupDelay)—用來衡量系統(tǒng)的相位線性的標(biāo)準(zhǔn)理想的線性相位濾波器在一定頻率范圍內(nèi)的組延遲恒為常數(shù)。若濾波器為對稱或反對稱,則可實現(xiàn)線性相位,并可以采用因果結(jié)構(gòu)實現(xiàn),并利用對稱性來簡化系統(tǒng)結(jié)構(gòu)。目前二十三頁\總數(shù)九十八頁\編于十四點線性相位FIR濾波器(2)只有當(dāng)頻率響應(yīng)F(ω)是純實或純虛函數(shù)時,即濾波器脈沖響應(yīng)保持偶對稱或奇對稱時,組延遲為常數(shù),即例如,一個奇數(shù)階偶對稱的FIR濾波器的頻率響應(yīng)為:目前二十四頁\總數(shù)九十八頁\編于十四點另外一種表示:f(n)=±f(L-1-n),
L為奇、偶皆可。線性相位結(jié)構(gòu)能夠減小電路面積舉例:L為偶數(shù)關(guān)鍵路徑延遲:1TM+(L/2)TA
面積:L-1寄存器L/2乘法器L-1加法器目前二十五頁\總數(shù)九十八頁\編于十四點線性相位FIR濾波器(3) 脈沖響應(yīng)(濾波器系數(shù))為偶對稱,F(xiàn)IR濾波器可以根據(jù)對稱性去掉不必要的乘法器,將乘法器的數(shù)量減少到直接形式的一半,加法器數(shù)量保持為L?1不變。目前二十六頁\總數(shù)九十八頁\編于十四點線性相位FIR濾波器(4)線性相位FIR濾波器的4種相位目前二十七頁\總數(shù)九十八頁\編于十四點流水線FIR濾波器舉例:粗粒度流水線FIR濾波器流水線只能在信號流圖的前饋割集插入x(n)Z-1Z-1Z-1h0h1h2hM-1Z-1Z-1目前二十八頁\總數(shù)九十八頁\編于十四點細(xì)粒度流水線細(xì)粒度流水線可用來縮短轉(zhuǎn)置結(jié)構(gòu)FIR濾波器的關(guān)鍵路徑。x(n)Z-1Z-1Z-1hM-1hM-2hM-3h0y(n)Z-1在此插入寄存器目前二十九頁\總數(shù)九十八頁\編于十四點并行FIR濾波器提高吞吐量,不改變關(guān)鍵路徑長度用途之一:解決輸入/輸出瓶頸問題h0h1h2x(3n+2)x(3n+1)x(3n)y(3n+2)h2h0h1y(3n+1)h1h2h0y(3n)Z-1Z-1目前三十頁\總數(shù)九十八頁\編于十四點II.FIR濾波器設(shè)計目前三十一頁\總數(shù)九十八頁\編于十四點FIR濾波器設(shè)計(1)FIR數(shù)字濾波器設(shè)計步驟:需求分析,確定性能指標(biāo);建立算法模型,用MatlabSignalProcessingToolbox工具包建立系統(tǒng)級或算法級模型;等紋波FIR濾波器設(shè)計;窗函數(shù)FIR濾波器設(shè)計;(最小二乘法FIR濾波器設(shè)計)(IIR濾波器設(shè)計(Butterworth,ChebyshevI和II,橢圓))模型仿真,取得模型參數(shù);根據(jù)Matlab算法模型構(gòu)建電路(或程序);電路(或程序)驗證。目前三十二頁\總數(shù)九十八頁\編于十四點FIR濾波器設(shè)計(2)若濾波器的理想頻率響應(yīng)特性為,則FIR濾波器的設(shè)計問題在于:
尋找傳遞函數(shù),使
逼近;若要求FIR濾波器具有線性相位特性,則脈沖響應(yīng)必須滿足對稱條件。線性相位FIR濾波器常用設(shè)計方法窗函數(shù)法?頻率采樣法等紋波法?目前三十三頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(1)直接FIR濾波器根據(jù)DFT(離散傅立葉變換,DiscreteFourierTransform)在時域和頻域之間的映射關(guān)系,用DFT計算出與目標(biāo)濾波器頻率響應(yīng)相近似的濾波器系數(shù)。實際信號的頻譜具有埃爾米特共軛性(Hermitianconjugate),即實部頻譜為偶對稱,虛部頻譜為奇對稱。若綜合出的濾波器僅有實系數(shù),則目標(biāo)DFT頻譜必須是埃爾米特共軛性的,即。目前三十四頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(2)要得到一個因果的有限長的濾波器,最直接的方法是截斷,即用一個窗函數(shù)對進(jìn)行加窗處理:選擇窗函數(shù)的形狀和長度是窗函數(shù)法的關(guān)鍵!不同窗函數(shù)的區(qū)別在于阻尼振蕩和過渡頻帶寬度擴(kuò)展之間折衷能力不同。目前三十五頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(3)矩形窗的卷積過程目前三十六頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(4)矩形窗對理想頻率響應(yīng)產(chǎn)生兩個影響:使理想頻率特性不連續(xù)點ω=ωe處,形成了一個過渡頻帶,寬度等于矩形窗的頻率響應(yīng)WR(ω)的主瓣寬度△ω=4π/N。在截至頻率ωc的兩邊ω=ωc
±2π/N處(即過渡帶的兩邊),F(xiàn)(ω)出現(xiàn)最大峰值,肩峰的兩側(cè)出現(xiàn)起伏振蕩,振蕩幅度取決于旁瓣的相對幅度,振蕩快慢取決于WR(ω)波動的快慢。目前三十七頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(5)當(dāng)窗口長度N增加,在主瓣附近窗的頻率響應(yīng)為隨著x變大,曲線波動的頻率加快,主瓣和旁瓣幅度都變大,但相對比例保持不變。這個比例由sinx/x決定,即由矩形窗函數(shù)的形狀決定。當(dāng)長度N增加時,只會減小過渡帶寬4π/N,而不會改變肩峰的相對值。因而,當(dāng)長度N增加時,只會減小過渡帶寬4π/N
,而不會改變肩峰的相對值。目前三十八頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(6)長度分別為16和128的FIR濾波器的脈沖響應(yīng)和通頻帶對比與理想濾波器的最大差別出現(xiàn)在過渡頻帶的邊緣,產(chǎn)生吉布斯阻尼振蕩現(xiàn)象。這是由直接逆DFT運算隱含產(chǎn)生的。提高濾波器的長度并不能消除阻尼振蕩,可以通過加“窗”消除。目前三十九頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(7)吉布斯(Gibbs)效應(yīng)在矩形窗情況下,最大相對肩峰值為8.95%,N增加時,4π/N減小,起伏振蕩變密,但最大肩峰則總是8.95%。由于窗譜肩峰的存在,影響到F(ω)通帶的平坦和阻帶的衰減,使阻帶最小衰減只有21dB左右,因此在實際中矩形窗很少采用。為了消除吉布斯效應(yīng),取得較好頻率特性,一般采用其他類型的窗函數(shù),對進(jìn)行加窗處理。目前四十頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(8)常用窗函數(shù)矩形窗三角(Bartlett)窗Hanning窗Hamming窗Blackman窗Kaiser窗目前四十一頁\總數(shù)九十八頁\編于十四點直接窗函數(shù)設(shè)計法(9)等效Kaiserβ參數(shù)通過調(diào)節(jié)β參數(shù)來調(diào)整濾波器的阻尼振蕩。
其中A=20log10εr,既是止帶抑制又是通帶紋波的dB值。Kaiser窗函數(shù)長度的估算公式,誤差為±
2個抽頭。目前四十二頁\總數(shù)九十八頁\編于十四點等紋波設(shè)計法(1)如何減少濾波器傳遞函數(shù)與期望傳遞函數(shù)之間的偏差(紋波誤差)?紋波是除了通帶頻率、止帶頻率和增益之外的一項重要指標(biāo)。采用等紋波算法(極小-極大算法)最小化濾波器與理想傳遞函數(shù)之間的最大紋波誤差。常用的等紋波算法:低通濾波器設(shè)計Matlab函數(shù):firpm(L,F,A,W)Hilbert濾波器對通帶內(nèi)所有頻率都產(chǎn)生90度相移的單位幅值濾波器Matlab函數(shù):firpm(L,F,A,’hilbert’)微分濾波器頻率幅值和ω呈正比線性增加Matlab函數(shù):firpm(L,F,A,’differentiator’)目前四十三頁\總數(shù)九十八頁\編于十四點將指定的頻帶記為A(包括通帶和阻帶),P-M等波紋最佳逼近的設(shè)計的準(zhǔn)則是,選擇FIR濾波器的單位脈沖響應(yīng)f(n)使得在A內(nèi)誤差函數(shù)的最大絕對值最小。等紋波設(shè)計法(2)用Park-McClellan迭代方法設(shè)計等紋波濾波器設(shè)希望設(shè)計的濾波器幅度響應(yīng)為,實際逼近的幅度響應(yīng)為,加權(quán)誤差為,則:將該最小值記為,則有:
目前四十四頁\總數(shù)九十八頁\編于十四點等紋波設(shè)計法(3)Park-McClellan迭代方法基于交替定理交替定理(AlternationTheorem) 設(shè)P(ω)為cos(nω)的線性組合,即 則P(ω)在A上有唯一的最佳逼近函數(shù)的充要條件是加權(quán)誤差函數(shù)在A內(nèi)至少存在r+1個極值頻率點ωi, 且則存在符合公差設(shè)計方案的唯一的Chebyshev多項式,且該多項式具有最小長度。目前四十五頁\總數(shù)九十八頁\編于十四點等紋波設(shè)計法(4)公差設(shè)計方案舉例低通濾波器的長度(多項式的長度)為:目前四十六頁\總數(shù)九十八頁\編于十四點窗口法與等紋波法比較目前四十七頁\總數(shù)九十八頁\編于十四點III.常系數(shù)FIR濾波器設(shè)計目前四十八頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計(1)構(gòu)造方式:用HDL對算法(電路)過程行為建模不同的綜合工具可能給出的結(jié)果不同的電路結(jié)構(gòu)元件實例化(ComponentInstantiation)電路網(wǎng)絡(luò)結(jié)構(gòu)完全由設(shè)計者掌握濾波器系數(shù)編碼—正CSD編碼方式用正CSD編碼的系數(shù)具有較少的非零項在計算SOP時再考慮系數(shù)的符號浮點系數(shù)到定點系數(shù)的轉(zhuǎn)換建立在浮點系數(shù)的定點FIR濾波器的實現(xiàn),需要通過仿真或代數(shù)分析進(jìn)行驗證,以確保設(shè)計規(guī)范的一致性。目前四十九頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計(2)系統(tǒng)動態(tài)溢出保護(hù)最壞情況下L階FIR濾波器的動態(tài)范圍增長位數(shù)G為:總位寬=輸入位寬+動態(tài)增長位數(shù)G舉例:
FIR濾波器脈沖響應(yīng)為f[k]={-1.0,3.75,3.75,-1.0}
則濾波器內(nèi)部數(shù)據(jù)寄存器位數(shù)至少要比輸入多4位才能保證不溢出;
目前五十頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計舉例(1)4抽頭直接FIR濾波器系數(shù)為f[k]={-1.0,3.75,3.75,-1.0}3.7510=21+20+2?1+2?2=11.112目前五十一頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計舉例(2)PACKAGEeight_bit_intIS--UserdefinedtypesSUBTYPEBYTEISINTEGERRANGE-128TO127;TYPEARRAY_BYTEISARRAY(0TO3)OFBYTE;ENDeight_bit_int;LIBRARYwork;USEwork.eight_bit_int.ALL;LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_arith.ALL;ENTITYfir_srgIS------>InterfacePORT(clk:INSTD_LOGIC;x:INBYTE;y:OUTBYTE);ENDfir_srg;ARCHITECTUREflexOFfir_srgISSIGNALtap:ARRAY_BYTE;--Tappeddelaylineofbytes目前五十二頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計舉例(3)BEGINp1:PROCESS------>BehavioralStyleBEGINWAITUNTILclk='1';--Computeoutputywiththefiltercoefficientsweight.--Thecoefficientsare[-13.753.75-1].--DivisionforAlteraVHDLisonlyallowedfor--powers-of-twovalues!y<=2*tap(1)+tap(1)+tap(1)/2+tap(1)/4+2*tap(2)+tap(2)+tap(2)/2+tap(2)/4-tap(3)-tap(0);FORIIN3DOWNTO1LOOPtap(I)<=tap(I-1);--Tappeddelayline:shiftoneENDLOOP;tap(0)<=x;--Inputinregister0ENDPROCESS;ENDflex;目前五十三頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計舉例(4)仿真結(jié)果目前五十四頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計改進(jìn)通過流水線提高乘法器速度輸出加法器應(yīng)該安排在流水線平衡樹中如果系數(shù)可以用2的冪次方編碼,流水線乘法器可以和加法器合并。如果加法器的輸入不是2的冪次方形式,則需要加入額外的流水線寄存器。采用優(yōu)化CSD編碼實現(xiàn)濾波器系數(shù)對于線性相位濾波器,利用系數(shù)對稱特性簡化濾波器結(jié)構(gòu)目前五十五頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計改進(jìn)舉例(1)濾波器系數(shù)采用CSD編碼3.7510=22?2?2=10.0(?1)2線性相位濾波器結(jié)構(gòu)(利用脈沖響應(yīng)對稱特性)目前五十六頁\總數(shù)九十八頁\編于十四點直接FIR濾波器設(shè)計改進(jìn)舉例(2)利用對稱性和CSD編碼可實現(xiàn)最簡結(jié)構(gòu)設(shè)計(不使用加法器樹)利用對稱性、CSD編碼和加法器樹可實現(xiàn)速度最快設(shè)計目前五十七頁\總數(shù)九十八頁\編于十四點直接形式流水線FIR濾波器在某些情況下,某一系數(shù)要比其它系數(shù)加入更多級流水線延遲,這種延遲用f[n]z-d建模目前五十八頁\總數(shù)九十八頁\編于十四點轉(zhuǎn)置結(jié)構(gòu)FIR濾波器(1)轉(zhuǎn)置結(jié)構(gòu)FIR對比直接FIR的優(yōu)勢:利用簡化加法器圖(RAG,ReducedAdderGraph)算法實現(xiàn)重復(fù)系數(shù)的多次使用簡化濾波器結(jié)構(gòu)(減少LE的數(shù)量),提高速度使用進(jìn)位存儲加法器實現(xiàn)流水線加法器利用流水線加法器能提高速度,代價是增加加法器和寄存器的數(shù)量目前五十九頁\總數(shù)九十八頁\編于十四點轉(zhuǎn)置結(jié)構(gòu)FIR濾波器(2)轉(zhuǎn)置結(jié)構(gòu)FIR濾波器結(jié)構(gòu)目前六十頁\總數(shù)九十八頁\編于十四點濾波器系數(shù)實現(xiàn)有時實現(xiàn)常系數(shù)的因子的加法器成本比直接實現(xiàn)系數(shù)的CSD編碼更低。對于轉(zhuǎn)置結(jié)構(gòu)FIR濾波器,系數(shù)具有公共因子的可能性比較高。舉例:對于系數(shù)9和11,首先可以用8+1=9構(gòu)建系數(shù)9,然后用9+2=11構(gòu)建系數(shù)11(代替8+1+2=11)。這樣在結(jié)構(gòu)上就減少了1個加法器。尋找最優(yōu)的RAG圖是NP-Hard問題,只能采用啟發(fā)式算法求解。目前六十一頁\總數(shù)九十八頁\編于十四點RAG算法(1)目前六十二頁\總數(shù)九十八頁\編于十四點RAG算法(2)目前六十三頁\總數(shù)九十八頁\編于十四點RAG算法舉例(1)F6半頻帶濾波器的RAG設(shè)F6半頻帶濾波器的系數(shù)為f[0]=34610,f[1]=20810, f[2]=010,f[3]=-4410,f[4]=910。 采用CSD編碼實現(xiàn),所用的加法器數(shù)量為9目前六十四頁\總數(shù)九十八頁\編于十四點MAG表目前六十五頁\總數(shù)九十八頁\編于十四點RAG算法舉例(2)采用RAG算法化簡:對余下的系數(shù),從具有最低加法器成本和最小值開始使用啟發(fā)式策略:目前六十六頁\總數(shù)九十八頁\編于十四點RAG算法舉例(3)最終得到的簡化加法器圖,加法器數(shù)量由9減少到5,加法器路徑延遲從4減少到3目前六十七頁\總數(shù)九十八頁\編于十四點流水線RAGFIR濾波器(1)基于RAG算法實現(xiàn)的轉(zhuǎn)置結(jié)構(gòu)FIR濾波器的存在的問題由實現(xiàn)RAG加法器帶來的邏輯延遲降低了電路的運行速度(即使是較小的電路也會出現(xiàn))。解決方案:在加法器的輸出端加入一個寄存器實現(xiàn)流水線結(jié)構(gòu)。利用每個LE中嵌入的寄存器,不需要額外的邏輯資源。2的冪次方系數(shù)乘法的實現(xiàn)所需的移位寄存器不包括在內(nèi)。性能提升目前六十八頁\總數(shù)九十八頁\編于十四點流水線RAGFIR濾波器(2)對于全流水線設(shè)計需要在每個加法器的輸入路徑上施加同樣的延遲。目前六十九頁\總數(shù)九十八頁\編于十四點流水線RAGFIR濾波器(3)在實現(xiàn)流水線RAG后,要關(guān)注FIR濾波器系數(shù)的不同延遲。兩種選擇:對所有的系數(shù)輸出加以延遲,使得所有系數(shù)的延遲相同,而不需要改變輸出抽頭延遲線的結(jié)構(gòu)。采用流水線重定時技術(shù),根據(jù)流水線的級數(shù)在抽頭延遲線上保持乘法器輸出時序一致。目前七十頁\總數(shù)九十八頁\編于十四點采用DA算法實現(xiàn)FIR濾波器(1)與傳統(tǒng)SOP結(jié)構(gòu)相比,DA算法在一步中計算所有系數(shù)的特定b位的SOP,主要電路元件為LUT和帶有移位的累加器??紤]3系數(shù)的FIR濾波器,系數(shù)為c[0]=2,c[1]=3,c[2]=1,實現(xiàn)f(c[n],xb[n])的LUT為:目前七十一頁\總數(shù)九十八頁\編于十四點采用DA算法實現(xiàn)FIR濾波器(2)目前七十二頁\總數(shù)九十八頁\編于十四點DA-FIRVHDL設(shè)計(1)LIBRARY
ieee;--UsingpredefinedpackagesUSE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;PACKAGEda_packageIS
--Userdefinedcomponent
COMPONENTcase3
PORT(table_in:IN
STD_LOGIC_VECTOR(2DOWNTO0);table_out:OUT
INTEGER
RANGE0TO6);
END
COMPONENT;ENDda_package;LIBRARY
work;USE
work.da_package.ALL;LIBRARY
ieee;--UsingpredefinedpackagesUSE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;ENTITYdafsmIS
------>Interface
PORT(clk:IN
STD_LOGIC;x_in0,x_in1,x_in2:
IN
STD_LOGIC_VECTOR(2DOWNTO0);y:OUT
INTEGER
RANGE0TO63);ENDdafsm;目前七十三頁\總數(shù)九十八頁\編于十四點DA-FIRVHDL設(shè)計(2)ARCHITECTUREflexOFdafsmIS
TYPESTATE_TYPEIS(s0,s1);
SIGNALstate:STATE_TYPE;
SIGNALx0,x1,x2,table_in:STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALtable_out:INTEGER
RANGE0TO7;BEGINtable_in(0)<=x0(0);table_in(1)<=x1(0);table_in(2)<=x2(0);
PROCESS
------>DAinbehavioralstyle
VARIABLEp:INTEGER
RANGE0TO63;--temp.register
VARIABLEcount:INTEGER
RANGE0TO3;--countsshifts
BEGIN
WAIT
UNTILclk='1';
CASEstateIS
WHENs0=>--Initializationstepstate<=s1;count:=0;p:=0;x0<=x_in0;x1<=x_in1;x2<=x_in2;目前七十四頁\總數(shù)九十八頁\編于十四點DA-FIRVHDL設(shè)計(3)WHENs1=>--Processingstep
IFcount=3THEN
--Issumofproductdone?y<=p;--Outputofresulttoyandstate<=s0;--startnextsumofproduct
ELSEp:=p/2+table_out*4;x0(0)<=x0(1);x0(1)<=x0(2);x1(0)<=x1(1);x1(1)<=x1(2);x2(0)<=x2(1);x2(1)<=x2(2);count:=count+1;state<=s1;
END
IF;
END
CASE;
END
PROCESS;LC_Table0:case3
PORT
MAP(table_in=>table_in,table_out=>table_out);ENDflex;目前七十五頁\總數(shù)九十八頁\編于十四點DA-FIRVHDL設(shè)計(4)系數(shù){2,3,1}的DA算法LUT實現(xiàn)LIBRARY
ieee;USE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;ENTITYcase3IS
PORT(table_in:IN
STD_LOGIC_VECTOR(2DOWNTO0);table_out:OUT
INTEGER
RANGE0TO6);ENDcase3;ARCHITECTURELCsOFcase3ISBEGIN--ThisistheDACASEtablefor--the3coefficients:2,3,1--automaticallygeneratedwithdagen.exe--DONOTEDIT!
目前七十六頁\總數(shù)九十八頁\編于十四點DA-FIRVHDL設(shè)計(5)PROCESS(table_in)
BEGIN
CASEtable_inIS
WHEN"000"=>table_out<=0;
WHEN"001"=>table_out<=2;
WHEN"010"=>table_out<=3;
WHEN"011"=>table_out<=5;
WHEN"100"=>table_out<=1;
WHEN"101"=>table_out<=3;
WHEN"110"=>table_out<=4;
WHEN"111"=>table_out<=6;
WHEN
OTHERS=>table_out<=0;
END
CASE;
END
PROCESS;ENDLCs;目前七十七頁\總數(shù)九十八頁\編于十四點基于邏輯單元的DA-FIR實現(xiàn)低階FIR濾波器實現(xiàn)采用小規(guī)模LUT(FIR階數(shù)L≤4)
,用邏輯單元實現(xiàn)LUT高階FIR濾波器實現(xiàn)像構(gòu)造低階FIR一樣直接用邏輯單元實現(xiàn)大規(guī)模LUT會造成邏輯單元資源緊張,例如2b×b規(guī)模LUT利用FIR濾波器線性相位特性,可以將低階FIR的輸出相加構(gòu)成高階FIR的輸出響應(yīng)LUT實現(xiàn)方式:利用FPGA內(nèi)部存儲模塊,如M4K,實現(xiàn)LUT。優(yōu)點:運算速度恒定,節(jié)省布線資源;問題:M4K數(shù)量較少,應(yīng)該節(jié)約使用! 利用小規(guī)模LUT(4輸入)和多路選擇器構(gòu)成總線結(jié)構(gòu)實現(xiàn)較大規(guī)模LUT將較大規(guī)模LUT劃分成若干小規(guī)模LUT實現(xiàn)目前七十八頁\總數(shù)九十八頁\編于十四點基于邏輯單元的DA-FIR不同實現(xiàn)方式比較目前七十九頁\總數(shù)九十八頁\編于十四點5輸入DA表(1)LIBRARY
ieee;USE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;ENTITYcase5pIS
PORT(clk:IN
STD_LOGIC;table_in:IN
STD_LOGIC_VECTOR(4DOWNTO0);table_out:OUT
INTEGER
RANGE0TO25);ENDcase5p;ARCHITECTURELEsOFcase5pIS
SIGNALlsbs:STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALmsbs0:STD_LOGIC_VECTOR(1DOWNTO0);
SIGNALtable0out00,table0out01:INTEGER
RANGE0TO25;BEGIN--ThesearethedistributedarithmeticCASEtablesfor--the5coefficients:1,3,5,7,9--automaticallygeneratedwithdagen.exe--DONOTEDIT!目前八十頁\總數(shù)九十八頁\編于十四點5輸入DA表(2)
PROCESS
BEGIN
WAIT
UNTILclk='1';lsbs(0)<=table_in(0);lsbs(1)<=table_in(1);lsbs(2)<=table_in(2);lsbs(3)<=table_in(3);msbs0(0)<=table_in(4);msbs0(1)<=msbs0(0);
END
PROCESS;
PROCESS
--ThisisthefinalDAMPXstage.
BEGIN
--Automaticallygeneratedwithdagen.exe
WAIT
UNTILclk='1';
CASEmsbs0(1)IS
WHEN'0'=>table_out<=table0out00;
WHEN'1'=>table_out<=table0out01;
WHEN
OTHERS=>table_out<=0;
END
CASE;
END
PROCESS;
目前八十一頁\總數(shù)九十八頁\編于十四點5輸入DA表(3)
PROCESS
--ThisistheDACASEtable00outof1.
BEGIN
--Automaticallygeneratedwithdagen.exe
WAIT
UNTILclk='1';
CASElsbsIS
WHEN"0000"=>table0out00<=0;
WHEN"0001"=>table0out00<=1;
WHEN"0010"=>table0out00<=3;
WHEN"0011"=>table0out00<=4;
WHEN"0100"=>table0out00<=5;
WHEN"0101"=>table0out00<=6;
WHEN"0110"=>table0out00<=8;
WHEN"0111"=>table0out00<=9;
WHEN"1000"=>table0out00<=7;
WHEN"1001"=>table0out00<=8;
WHEN"1010"=>table0out00<=10;
WHEN"1011"=>table0out00<=11;
WHEN"1100"=>table0out00<=12;
WHEN"1101"=>table0out00<=13;
WHEN"1110"=>table0out00<=15;
WHEN"1111"=>table0out00<=16;
WHEN
OTHERS=>table0out00<=0;
END
CASE;
END
PROCESS;目前八十二頁\總數(shù)九十八頁\編于十四點5輸入DA表(4)PROCESS
--ThisistheDACASEtable01outof1.
BEGIN
--Automaticallygeneratedwithdagen.exe
WAIT
UNTILclk='1';
CASElsbsIS
WHEN"0000"=>table0out01<=9;
WHEN"0001"=>table0out01<=10;
WHEN"0010"=>table0out01<=12;
WHEN"0011"=>table0out01<=13;
WHEN"0100"=>table0out01<=14;
WHEN"0101"=>table0out01<=15;
WHEN"0110"=>table0out01<=17;
WHEN"0111"=>table0out01<=18;
WHEN"1000"=>table0out01<=16;
WHEN"1001"=>table0out01<=17;
WHEN"1010"=>table0out01<=19;
WHEN"1011"=>table0out01<=20;
WHEN"1100"=>table0out01<=21;
WHEN"1101"=>table0out01<=22;
WHEN"1110"=>table0out01<=24;
WHEN"1111"=>table0out01<=25;
WHEN
OTHERS=>table0out01<=0;
END
CASE;
END
PROCESS;ENDLCs;目前八十三頁\總數(shù)九十八頁\編于十四點采用嵌入式陣列模塊(M4K)實現(xiàn)DAFIR濾波器(1)LIBRARYlpm;USElpm.lpm_components.ALL;LIBRARY
ieee;--UsingpredefinedpackagesUSE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;USE
ieee.std_logic_unsigned.ALL;--Containsconversion
--VECTOR->INTEGERENTITYdaromIS
------>Interface
PORT(clk:IN
STD_LOGIC;x_in0,x_in1,x_in2:IN
STD_LOGIC_VECTOR(2DOWNTO0);y:OUT
INTEGER
RANGE0TO63);ENDdarom;ARCHITECTUREflexOFdaromIS
TYPESTATE_TYPEIS(s0,s1);
SIGNALstate:STATE_TYPE;
SIGNALx0,x1,x2,table_in,mem:STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALtable_out:INTEGER
RANGE0TO7;目前八十四頁\總數(shù)九十八頁\編于十四點采用M4K實現(xiàn)DAFIR濾波器(2)BEGINtable_in(0)<=x0(0);table_in(1)<=x1(0);table_in(2)<=x2(0);
PROCESS
------>DAinbehavioralstyle
VARIABLEp:INTEGER
RANGE0TO63;--Temp.register
VARIABLEcount:INTEGER
RANGE0TO3;
BEGIN
--Countstheshifts
WAIT
UNTILclk='1';
CASEstateIS
WHENs0=>--Initializationstepstate<=s1;count:=0;p:=0;x0<=x_in0;x1<=x_in1;x2<=x_in2;
目前八十五頁\總數(shù)九十八頁\編于十四點采用M4K實現(xiàn)DAFIR濾波器(3)WHENs1=>--Processingstep
IFcount=3THEN
--Issumofproductdone?y<=p;--Outputofresulttoyandstate<=s0;--startnextsumofproduct
ELSEp:=p/2+table_out*4;x0(0)<=x0(1);x0(1)<=x0(2);x1(0)<=x1(1);x1(1)<=x1(2);x2(0)<=x2(1);x2(1)<=x2(2);count:=count+1;state<=s1;
END
IF;
END
CASE;
END
PROCESS;
目前八十六頁\總數(shù)九十八頁\編于十四點采用M4K實現(xiàn)DAFIR濾波器(4)rom_1:lpm_rom
GENERIC
MAP(LPM_WIDTH=>3,LPM_WIDTHAD=>3,LPM_OUTDATA=>"UNREGISTERED",LPM_ADDRESS_CONTROL=>"UNREGISTERED",LPM_FILE=>"darom3.mif")
PORT
MAP(address=>table_in,q=>mem);table_out<=CONV_INTEGER(mem);ENDflex;目前八十七頁\總數(shù)九十八頁\編于十四點有符號DAFIR濾波器設(shè)計(1)LIBRARY
ieee;--UsingpredefinedpackagesUSE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;PACKAGEda_packageIS
--UserdefinedcomponentsCOMPONENTcase3s
PORT(table_in:IN
STD_LOGIC_VECTOR(2DOWNTO0);table_out:OUT
INTEGER
RANGE-2TO4);END
COMPONENT;ENDda_package;LIBRARY
work;USE
work.da_package.ALL;LIBRARY
ieee;--UsingpredefinedpackagesUSE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;ENTITYdasignIS
------>Interface
PORT(clk:IN
STD_LOGIC;x_in0,x_in1,x_in2:IN
STD_LOGIC_VECTOR(3DOWNTO0);y:OUT
INTEGER
RANGE-64TO63);ENDdasign;目前八十八頁\總數(shù)九十八頁\編于十四點有符號DAFIR濾波器設(shè)計(2)ARCHITECTUREflexOFdasignIS
TYPESTATE_TYPEIS(s0,s1);
SIGNALstate:STATE_TYPE;
SIGNALtable_in:STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALx0,x1,x2:STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALtable_out:INTEGER
RANGE-2TO4;BEGINtable_in(0)<=x0(0);table_in(1)<=x1(0);table_in(2)<=x2(0);
PROCESS
------>DAinbehavioralstyle
VARIABLEp:INTEGER
RANGE-64TO63;--Temporaryreg.
VARIABLEcount:INTEGER
RANGE0TO4;--Countsthe
BEGIN
--shifts
WAIT
UNTILclk='1';
CASEstateIS
WHENs0=>--Initializationstepstate<=s1;count:=0;p:=0;x0<=x_in0;x1<=x_in1;x2<=x_in2;目前八十九頁\總數(shù)九十八頁\編于十四點有符號DAFIR濾波器設(shè)計(3)WHENs1=>--Processingstep
IFcount=4THEN
--Issumofproductdone?y<=p;--Outputofresulttoyandstate<=s0;--startnextsumofproduct
ELSE
IFcount=3THEN
--Subtractforlastp:=p/2-table_out*8;--accumulatorstep
ELSEp:=p/2+table_out*8;--Accumulationfor
END
IF;--allothersteps
FORkIN0TO2LOOP
--Shiftbitsx0(k)<=x0(k+1);x1(k)<=x1(k+1);x2(k)<=x2(k+1);
END
LOOP;count:=count+1;state<=s1;
END
IF;
END
CASE;
END
PROCESS;LC_Table0:case3s
PORT
MAP(table_in=>table_in,table_out=>table_out);ENDflex;目前九十頁\總數(shù)九十八頁\編于十四點有符號DAFIR濾波器設(shè)計(4)LE表LIBRARY
ieee;USE
ieee.std_logic_1164.ALL;USE
ieee.std_logic_arith.ALL;ENTITYcase3sIS
PORT(table_in:IN
STD_LOGIC_VECTOR(2DOWNTO0);table_out:OUT
INTEGER
RANGE-2TO4);ENDcase3s;ARCHITECTURELEsOFcase3sISBEGIN--ThisistheDACASEtablefor--the3coefficients:-2,3,1--automaticallygeneratedwithdagen.exe--DONOTEDIT!
目前九十一頁\總數(shù)九十八頁\編于十四點有符號DAFIR濾波器設(shè)計(5)PROCESS(table_in)
BEGIN
CASEtable_inIS
WHEN"000"=>table_out<=0;
WHEN"001"=>table_out<=-2;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度初級農(nóng)產(chǎn)品電商平臺風(fēng)險控制與合作合同4篇
- 二零二五年度拍賣標(biāo)的物鑒定合同4篇
- 二零二五年度水資源保護(hù)與利用承包合同范本4篇
- 二零二四年勞動合同工作時間與工資待遇
- 二零二五年度內(nèi)河煤炭運輸服務(wù)合同(安全風(fēng)險評估與控制)4篇
- 二零二五年度民房買賣風(fēng)險評估合同4篇
- 二零二五年度牛羊肉產(chǎn)業(yè)鏈金融服務(wù)方案合同4篇
- 二零二五年度速記技術(shù)成果轉(zhuǎn)化合同1分鐘速記單詞protocol成果轉(zhuǎn)化合作協(xié)議3篇
- 二零二五年度智能農(nóng)業(yè)設(shè)備采購與服務(wù)合同樣本2篇
- 2025年度智慧城市內(nèi)部網(wǎng)絡(luò)優(yōu)化承包合同3篇
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 2024年國家工作人員學(xué)法用法考試題庫及參考答案
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 同等學(xué)力英語申碩考試詞匯(第六版大綱)電子版
- 人教版五年級上冊遞等式計算100道及答案
- 墓地個人協(xié)議合同模板
- 2024年部編版初中語文各年級教師用書七年級(上冊)
- 2024年新課標(biāo)全國Ⅰ卷語文高考真題試卷(含答案)
- 湖南省退休人員節(jié)日慰問政策
- QB/T 5998-2024 寵物尿墊(褲)(正式版)
評論
0/150
提交評論