- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
窗口設計法(時域)
;但一般來說,理想頻響是分段恒定,在邊界頻率處有突變點,所以,這樣得到的理想單位脈衝回應hd(n)往往都是無限長序列,而且是非因果的。但FIR的h(n)是有限長的,問題是怎樣用一個有限長的序列去近似無限長的hd(n)。最簡單的辦法是直接截取一段hd(n)代替h(n)。這種截取可以形象地想像為h(n)是通過一個“窗口”所看到的一段hd(n),因此,h(n)也可表達為h(n)和一個“窗函數”的乘積,即
h(n)=w(n)hd(n)
在這裏窗口函數就是矩形函數RN(n),當然以後我們還可看到,為了改善設計濾波器的特性,窗函數還可以有其他的形式,相當於在矩形窗內對hd(n)作一定的加權處理。;設計步驟:;一.矩形窗口法;
;
;對頻響起作用的是它的幅度函數
;理想頻響也可以寫成幅度函數和相位函數的表示形式
Hd(ejω)=Hd(ω)e-jωα
其中幅度函數為
兩個信號時域的乘積對應於頻域卷積,所以有;
;4個特殊頻率點看卷積結果:;(2)ω=ωc時,一半重疊,
H(ωc)=0.5H(0);
;(3)ω=ωc–2π/N時,第一旁瓣(負數)在通帶外,出現正肩峰;
H(ωc-2π/N)=maxH(0);;
(4)ω=ωc+2π/N時,第一旁瓣(負數)在通帶內,出現負肩峰。
H(ωc+2π/N)=min;;矩形窗的卷積過程;窗口函數對理想特性的影響:
①改變了理想頻響的邊沿特性,形成過渡帶,寬為,
等於WR(ω)的主瓣寬度。(決定於窗長)
②過渡帶兩旁產生肩峰和餘振(帶內、帶外起伏),取決於
WR(ω)的旁瓣,旁瓣多,餘振多;旁瓣相對值大,肩峰強
,與N無關。(決定於窗口形狀)
③N增加,過渡帶寬減小,肩峰值不變。
因主瓣附近
其中x=Nω/2,所以N的改變不能改變主瓣與旁瓣的比例關係,只能改變WR(ω)的絕對值大小和起伏的密度,當N增加時,幅值變大,頻率軸變密,而最大肩峰永遠為8.95%,這種現象稱為吉布斯(Gibbs)效應。
;;改變窗函數的形狀,可改善濾波器的特性,窗函數有
許多種,但要滿足以下兩點要求:;
;三部分矩形窗頻譜相加,使旁瓣互相抵消,能量集中在主瓣,旁瓣大大減小,主瓣寬度增加1倍,為。
?;;
;窗口函數的頻譜N=51,A=20lg|W(ω)/W(0)|;
;5.凱塞窗
以上四種窗函數,都是以增加主瓣寬度為代價來降低旁瓣。凱塞窗則可自由選擇主瓣寬度和旁瓣衰減。;圖2凱塞窗函數;
;??過渡帶寬
At阻帶最小衰減;在窗口函數方面,MATLAB可計算以下的窗口函數:
W=hanning(N)
W=hamming(N)
W=blackman(N)
W=kaiser(N,beta)
變數N是窗函數的長度,beta就是凱塞窗的參數β,它可以利用以上討論的公式計算,W是返回的窗口函數,長度為N。
對於凱塞窗,MATLAB還提供了一個根據濾波器設計指標計算窗口函數的參數的函數檔,其調用形式如下:
[M,Wc,beta,ftype]=kaiserord(f,a,dev,fs)
f為通帶和阻帶邊界頻率,最高為fs/2;a為相應頻帶的幅度值;dev為波動值;fs缺省為2。M是濾波器階數;Wc邊界頻率;beta即β;ftype是濾波器類型,低通為low。;5.2.3用MATLAB實現窗口設計法;例4用窗函數法設計一線性相位高通濾波器。該濾波器在通帶和阻帶具有相同的波動幅度??0.01,通帶範圍為0.35?~?,阻帶範圍為0~0.2?。
解採用fir1的函數,凱塞窗,MATLAB程式如下:
f=[0.20.35];a=[01];
dev=[0.010.01];
[M,Wc,beta,ftype]=kaiserord(f,a,dev);
h=fir1(M,Wc,ftype,kaiser(M+1,beta));
[h1,w1]=freqz(h,1);
figure(1)
stem([0:M],h)
xlabel(n);ylabel(h(n))
figure(2)
plot(
文档评论(0)