成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • FIR數(shù)字濾波器設(shè)計(jì)
    • 一、窗函數(shù)法設(shè)計(jì)FIR濾波器
    • 二、頻率采樣法設(shè)計(jì)FIR濾波器
    • 三、最優(yōu)化方法設(shè)計(jì)FIR數(shù)字濾波器
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

干貨 | FIR數(shù)字濾波器設(shè)計(jì)(下)

2024/01/29
8424
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大俠好,歡迎來(lái)到FPGA技術(shù)江湖,江湖偌大,相見(jiàn)即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。

今天給大俠帶來(lái)FIR數(shù)字濾波器設(shè)計(jì),由于篇幅較長(zhǎng),分三篇。今天帶來(lái)第三篇,F(xiàn)IR數(shù)字濾波器設(shè)計(jì),包括窗函數(shù)法設(shè)計(jì)FIR濾波器、頻率采樣法設(shè)計(jì)FIR濾波器以及基于firls函數(shù)和remez函數(shù)的最優(yōu)化方法設(shè)計(jì)FIR濾波器。話不多說(shuō),上貨。

這里也超鏈接了上、中兩篇,方便參考學(xué)習(xí)。

FIR數(shù)字濾波器設(shè)計(jì)(上)

FIR數(shù)字濾波器設(shè)計(jì)(中)

數(shù)字濾波器的輸入輸出均為數(shù)字信號(hào),信號(hào)通過(guò)數(shù)字濾波器后,可以改變頻率成分的相對(duì)比例或?yàn)V除某些頻率成分。數(shù)字濾波器可以分為IIR數(shù)字濾波器和FIR數(shù)字濾波器。

本篇只介紹FIR數(shù)字濾波器的設(shè)計(jì),可以根據(jù)所給定的頻率特性直接設(shè)計(jì)FIR數(shù)字濾波器。FIR數(shù)字濾波器在保證幅度特性滿足要求的同時(shí),能夠做到嚴(yán)格的線性特性。

本篇采用了窗函數(shù)法、頻率采樣法以及基于firls函數(shù)和remez函數(shù)的最優(yōu)化方法設(shè)計(jì)FIR濾波器。對(duì)FIR濾波器進(jìn)行了詳細(xì)的理論分析,并且對(duì)應(yīng)于每種方法都給出了設(shè)計(jì)實(shí)例。通過(guò)編寫(xiě)MATLAB語(yǔ)言程序,運(yùn)行程序,得到幅頻和相頻特性圖。

對(duì)于窗函數(shù)和firls函數(shù)設(shè)計(jì)的濾波器,還通過(guò)建立Simulink系統(tǒng)模塊進(jìn)行仿真,觀察濾波器濾波情況。

FIR數(shù)字濾波器設(shè)計(jì)

 FIR數(shù)字濾波器的設(shè)計(jì)方法有窗函數(shù)法、頻率采樣法和基于firls函數(shù)和remez函數(shù)的最優(yōu)化方法。MATLAB語(yǔ)言中的數(shù)字信號(hào)處理工具箱,提供了一些濾波器的函數(shù),使FIR濾波器的運(yùn)算更加方便和快捷。

在MATLAB中提供的濾波函數(shù)有fir1(),此函數(shù)以經(jīng)典的方法實(shí)現(xiàn)加窗線性相位FIR數(shù)字濾波器設(shè)計(jì),可以設(shè)計(jì)出低通、高通、帶通和帶阻濾波器;fir2函數(shù)設(shè)計(jì)的FIR濾波器,其濾波的頻率特性由矢量f和m決定,f和m分別為濾波器的期望幅頻響應(yīng)的頻率相量和幅值相量。

Firls()和remez()的基本格式用于設(shè)計(jì)I型和II型線性相位FIR濾波器,I型和II型的區(qū)別是偶函數(shù)還是奇函數(shù)。freqz()用于求數(shù)字濾波器的頻率響應(yīng)。并且提供了各種窗函數(shù)的函數(shù),比如,hamming()是海明窗函數(shù),hanning()是漢寧窗函數(shù),kaiser()是凱澤窗函數(shù),使在設(shè)計(jì)的過(guò)程中,不用自己重新設(shè)計(jì)窗函數(shù)。

Simulink是MATLAB眾多工具包中的一員,對(duì)于建模,Simulink提供了一個(gè)圖形化的用戶界面(GUI)。Simulink包括一個(gè)復(fù)雜的由接收器、信號(hào)源、線性和非線性組件以及連接件組成的模塊庫(kù)。定義完一個(gè)模型后,就可以通過(guò)Simulink的菜單或者在MATLAB的命令窗口輸入命令對(duì)它進(jìn)行仿真。使用Scopes或者其他的顯示模塊,可以在運(yùn)行仿真時(shí)觀察到仿真的結(jié)果。另外,還可以在仿真時(shí)改變參數(shù),并且立即就可看到變化。

一、窗函數(shù)法設(shè)計(jì)FIR濾波器

設(shè)我們所要設(shè)計(jì)的FIR濾波器的傳輸函數(shù)是 , 是與其對(duì)應(yīng)的單位脈沖響應(yīng),因此

         

(3-1)

                 

 (3-2)

如果我們能夠在已知的情況下,求出,經(jīng)過(guò)Z變換可得到濾波器的系統(tǒng)函數(shù)。通常情況下理想數(shù)字濾波器的單位脈沖相應(yīng)是無(wú)限長(zhǎng)的,且是非因果序列。獲得有限脈沖響應(yīng)濾波器的一種可能方法是對(duì)截取一段來(lái)近似代替,可是這樣會(huì)改變?cè)瓉?lái)的濾波器指標(biāo),出現(xiàn)吉布斯效應(yīng)誤差。

窗函數(shù)法就是用被稱為窗函數(shù)的有限加權(quán)序列w(n)來(lái)修正式(1)的傅里葉基數(shù)以求得要求的有限脈沖響應(yīng)序列,即:

 

                          (3-3)

 

w(n)是有限長(zhǎng)序列,當(dāng)n<0或n>N-1時(shí),w(n)=0。

這種方法的重點(diǎn)在于選擇某種合適的窗函數(shù)。要求窗函數(shù)主瓣寬度盡可能窄,以獲得最小的過(guò)渡帶;旁瓣相對(duì)值盡可能小,以使得通帶波紋小,并且阻帶衰減大。

下面介紹幾種常用的窗函數(shù):

1、矩形窗(Rectangle Window)

                            (3-4)

其頻率函數(shù)為:

(3-5)

2、三角形窗(Bartlett Window)

              

(3-6)

其頻率函數(shù)為:

              

(3-7)

3、漢寧(Hanning)窗,又稱升余弦窗

                  

(3-8)

利用傅里葉變換得到頻率函數(shù)為:

(3-9)

當(dāng)  時(shí),,所以窗函數(shù)的幅度函數(shù)為:

             (3-10)

4、漢明(Hamming)窗,又稱改進(jìn)的升余弦窗

(3-11)

 

其幅度函數(shù)為:

        

(3-12)

5、布萊克曼(Blankman)窗,又稱二階升余弦窗

       

(3-13)

其幅度函數(shù)為:

 (3-14)

6、凱澤(Kaiser)窗

                

(3-15)

其中:β是一個(gè)可自由選擇的參數(shù),是第一類修正零階貝塞爾函數(shù)。

 

上述窗函數(shù)的基本參數(shù)如下表:

窗函數(shù)法設(shè)計(jì)濾波器的步驟:

1)根據(jù)技術(shù)要求確定等待求值濾波器的單位取樣響應(yīng)。

2)根據(jù)對(duì)過(guò)渡帶和阻帶衰減的要求,選擇窗函數(shù)的形式,并估計(jì)窗口長(zhǎng)度N。

3)計(jì)算濾波器的單位取樣響應(yīng)

                            (3-16)

 

上式中, 是前面所選擇好的窗函數(shù)。

4)檢驗(yàn)技術(shù)指標(biāo)是否滿足要求。根據(jù)下式計(jì)算:

(3-17)

如果不滿足要求,根據(jù)具體情況重復(fù)步驟(2)(3)(4)步,直到滿足要求為止。

本篇以一個(gè)FIR濾波器的設(shè)計(jì)為例說(shuō)明如何使用MATLAB設(shè)計(jì)數(shù)字濾波器。

設(shè)計(jì)實(shí)例:用窗函數(shù)法設(shè)計(jì)線性相位FIR低通數(shù)字濾波器,要求通帶截止頻率Wp=0.4*,阻帶截止頻率Ws=0.5*, 通帶衰減不大于3db,阻帶衰減不小于40db。

1、程序如下:

Wp=0.4*pi;Ws=0.5*pi;Wdel=Ws-Wp;N=ceil(8*pi/Wdel);Wn=(0.4+0.5)*pi/2;window=hanning(N+1);b=fir1(N,Wn/pi,window);freqz(b,1,512)

程序執(zhí)行后所得幅頻和相頻如下圖所示:

2、用Simulink仿真對(duì)窗函數(shù)設(shè)計(jì)的低通濾波器進(jìn)行濾波:

FIR低通濾波器的Simulink仿真模塊圖如下所示:

輸入信號(hào):s(t)=sin(30πt)+sin(56πt)+sin(70πt)

數(shù)字濾波器參數(shù)設(shè)置:已知濾波器的階數(shù)n=80。

首先在Filter Type中選擇lowpass;

在Design Method選項(xiàng)中選擇FIR Window,接著在Window選項(xiàng)中選取hann;指定Filter Order項(xiàng)中的Specify order為80;

采樣頻率Fs=100Hz,截止頻率Fc=22.5HZ。

設(shè)置完以后點(diǎn)擊窗口下方的Design Filter,在窗口上方就會(huì)看到所設(shè)計(jì)濾波器的幅頻響應(yīng)和相頻響應(yīng)曲線。

設(shè)計(jì)界面如下圖所示:

信號(hào)源參數(shù)設(shè)置:三個(gè)信號(hào)源的頻率分別是15Hz、28Hz、35Hz :

運(yùn)行仿真,得波形如下圖所示:

15HZ信號(hào)波形如下:

     

28HZ信號(hào)波形如下:           

35HZ信號(hào)波形如下:

濾波前的疊加波形如下:         

濾波后波形如下:   

由上圖可知,15Hz、28Hz、35Hz疊加后通過(guò)截止頻率為22.5HZ的FIR低通濾波器,輸出與15Hz信號(hào)波形相似,其它的高頻被阻隔。

二、頻率采樣法設(shè)計(jì)FIR濾波器

1、對(duì)理想濾波器的系統(tǒng)函數(shù)進(jìn)行頻率采樣以得到系統(tǒng)的理想頻響的等間隔采樣值H(k)。

H(k)實(shí)際上是所要求的濾波器的單位采樣響應(yīng)(h(n))的離散傅里葉變換(DFT),如下關(guān)系式:

 (3-18)

  (3-19)

為了減小H(k)的通帶邊緣由于抽樣點(diǎn)的變化而引起的起伏振蕩,可以增加過(guò)渡點(diǎn),加寬過(guò)渡帶以減小通帶的起伏。

每一個(gè)抽樣值產(chǎn)生一個(gè)與 成正比,并位移的頻率響應(yīng),而H(k)與內(nèi)插函數(shù)的線性組合就是FIR濾波器的頻率響應(yīng),增加一點(diǎn)過(guò)渡可以使阻帶衰減提高到-44~54dB,二點(diǎn)過(guò)渡衰減-65~75,三點(diǎn)過(guò)渡衰減-85~95dB。

如果不能使過(guò)渡帶太寬,同時(shí)要求增大阻帶衰減,可以增加取樣點(diǎn)數(shù)N,但這樣會(huì)增加計(jì)算量、延時(shí)和誤差。

頻率取樣型FIR濾波器設(shè)計(jì)步驟:

(1)給定理想濾波器頻率響應(yīng)。

(2)根據(jù)過(guò)渡帶寬和阻帶衰減確定過(guò)渡點(diǎn)數(shù)和h(n)的長(zhǎng)度N。

 (3-20)

 

(3)由IFFT計(jì)算IDFT得到:             

 (3-21)

設(shè)計(jì)實(shí)例:

頻率采樣法設(shè)計(jì)一個(gè)帶通濾波器

滿足:低阻帶邊緣:w1s=0.2*;低通帶邊緣:w1p=0.35*;高通帶邊緣:w2p=0.65*;高阻帶邊緣:w2s=0.8*。設(shè)計(jì)過(guò)渡帶中的頻率樣本值為t1和t2,取t1=0.109021,t2=0.59417456。

  設(shè)計(jì)程序如下:

M=40;al=(M-1)/2;l=0:M-1;t1=0.109021;t2=0.59417456;Hrs=[zeros(1,5),t1,t2,ones(1,7),t2,t1,zeros(1,9),t1,t2,ones(1,7),t2,t1,zeros(1,4)];k1=0:floor((M-1)/2);k2=floor((M-1)/2)+1:M-1;angh=[-al*(2*pi)/M*k1,al*(2*pi)/M*(M-k2)];H=Hrs.*exp(j*angh);h=real(ifft(H,M));freqz(h,1,512,1000)

實(shí)驗(yàn)得幅頻相頻特性如下圖所示:

三、最優(yōu)化方法設(shè)計(jì)FIR數(shù)字濾波器

MATLAB信號(hào)處理工具箱提供了通用的工具函數(shù)firls和remez,采用不同的優(yōu)化方法可以設(shè)計(jì)最優(yōu)濾波器和多頻帶濾波器。

firls是fir1和fir2函數(shù)的擴(kuò)展,其基本設(shè)計(jì)準(zhǔn)則是利用最小二乘法使期望的頻率響應(yīng)和實(shí)際的頻率響應(yīng)之間的整體誤差最小。

Remez函數(shù)則利用Parks-McClellan算法設(shè)計(jì)線性相位FIR濾波器。

該算法能使期望頻率響應(yīng)和實(shí)際頻率響應(yīng)之間的最大誤差最小。Firls函數(shù)設(shè)計(jì)的濾波器在頻率響應(yīng)上出現(xiàn)等波紋,因此也叫等波紋濾波器。

函數(shù)firls、remez調(diào)用的語(yǔ)法規(guī)則相同。

1) firls。

其調(diào)用格式為:

b=firls(n,f,a)

b=firls(n,f,a,w)

b=firls(n,f,a,’ftype’)

b=firls(n,f,a,w,’ftype’)

該函數(shù)用于設(shè)計(jì)n階FIR濾波器,其幅頻特性由f和a向量確定,f是頻率點(diǎn)向量,其范圍為0~1,是遞增向量;a是指定頻率點(diǎn)的幅度響應(yīng),與f必須同長(zhǎng)度;b為函數(shù)返回的濾波器系數(shù),長(zhǎng)度為n+1,且具有偶對(duì)稱關(guān)系:b(k)=-b(n+2-k),  k=1,2,…,n+1;

b=firls(n,f,a,w)則使用權(quán)系數(shù)w給誤差加權(quán)。

b=firls(n,f,a,w,’ftype’)調(diào)用形式中,參數(shù)’ftype’用于指定所設(shè)計(jì)的濾波器類型,ftype=Hilbert,為奇對(duì)稱的線性相位濾波器。

返回的濾波器系數(shù)滿足b(k)=-b(n+2-k),  k=1,2,…,n+1;ftype=differentiator,則采用特殊加權(quán)技術(shù),生成奇對(duì)稱的線性相位濾波器,使低頻段誤差大大小于高頻段誤差。

2) 函數(shù)remez的基本調(diào)用格式為:b=remez(n,f,a)。

其中各項(xiàng)意義同函數(shù)firls所述。

設(shè)計(jì)實(shí)例:

分別使用函數(shù)firls和remez函數(shù)設(shè)計(jì)20階帶通濾波器,阻帶頻率為ws1=0.3*,ws2=0.7*,通帶頻率為wp1=0.4*,wp2=0.6*,并畫(huà)出幅頻特性曲線。

1、程序如下所示:

f=[0 0.3 0.4 0.6 0.7 1];m=[0 0 1 1 0 0];n=20;b=firls(n,f,m);       %firls函數(shù)設(shè)計(jì)FIR數(shù)字濾波器[h,w]=freqz(b);     bb=remez(n,f,m);     %remez函數(shù)設(shè)計(jì)FIR數(shù)字濾波器[hh,w]=freqz(bb);axes('position',[0.2 0.2 0.5 0.5]); plot(w/pi,abs(h),'b:',w/pi,abs(hh),'r-');xlabel('frequency');ylabel('magnitude');grid on;

實(shí)驗(yàn)得幅頻相頻特性如下圖所示:

2、用Simulink仿真對(duì)用firls函數(shù)設(shè)計(jì)的帶通濾波器進(jìn)行濾波:

仿真模塊如下:

輸入信號(hào):s(t)=sin(20πt)+sin(50πt)+sin(90πt)

數(shù)字濾波器參數(shù)設(shè)置:已知濾波器的階數(shù)n=20。

首先在Filter Type中選擇bandpass;

在Design Method選項(xiàng)中選擇FIR least-squares;

指定Filter Order項(xiàng)中的Specify order為20;

采樣頻率Fs=100Hz,Fstop1=15HZ,F(xiàn)pass1=20HZ,F(xiàn)pass2=30HZ,F(xiàn)stop2=35HZ。

設(shè)置完以后點(diǎn)擊窗口下方的Design Filter,在窗口上方就會(huì)看到所設(shè)計(jì)濾波器的幅頻響應(yīng)曲線。

設(shè)計(jì)界面如下圖所示:

信號(hào)源參數(shù)設(shè)置:三個(gè)信號(hào)源的頻率分別是10Hz、25Hz、45Hz :

運(yùn)行仿真,得波形如下圖所示:

(1)10HZ信號(hào)波形如下所示:

   

(2) 25HZ信號(hào)波形如下所示:        

(3)45HZ信號(hào)波形如下所示:

(4)濾波前波形如下所示:

(5)濾波后波形如下所示:

由以上波形可知,10Hz、25Hz、45Hz疊加后通過(guò)通頻帶為20Hz~30Hz的FIR帶通濾波器,輸出與25Hz信號(hào)相似,低頻和高頻部分被阻隔。

第三篇就到這里,本篇在數(shù)字濾波器的設(shè)計(jì)過(guò)程中,采用的設(shè)計(jì)方法是基于MATLAB的數(shù)字濾波器的設(shè)計(jì)。設(shè)計(jì)過(guò)程中充分發(fā)揮了MATLAB語(yǔ)言編程效率高的特點(diǎn)以及Simulink仿真能力強(qiáng)的特點(diǎn),完成各種計(jì)算與圖形繪制工作,使得數(shù)字濾波器的設(shè)計(jì)變得簡(jiǎn)便快捷。通過(guò)FIR數(shù)字濾波器的設(shè)計(jì)實(shí)例,說(shuō)明如何利用MATLAB來(lái)完成數(shù)字濾波器的設(shè)計(jì),設(shè)計(jì)結(jié)果的各項(xiàng)性能指標(biāo)均達(dá)到指定要求,Simulink仿真驗(yàn)證了設(shè)計(jì)方法的正確性。本篇所述設(shè)計(jì)過(guò)程簡(jiǎn)便易行,具有很好的實(shí)際運(yùn)用意義。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫(xiě)文章/發(fā)需求
立即登錄

任何技術(shù)的學(xué)習(xí)就好比一個(gè)江湖,對(duì)于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。

清水县| 疏勒县| 黑龙江省| 宁河县| 安平县| 鹤壁市| 莒南县| 河津市| 奈曼旗| 招远市| 罗江县| 泾源县| 清河县| 石河子市| 会理县| 贵州省| 宣化县| 盐津县| 卓尼县| 万载县| 通海县| 东方市| 彭泽县| 虎林市| 象州县| 勃利县| 留坝县| 宜君县| 昭通市| 万盛区| 循化| 余干县| 海兴县| 伊通| 呼图壁县| 大同市| 江阴市| 滨州市| 盖州市| 宁国市| 苏尼特左旗|