大家好,又见面了,我是你们的朋友全栈君。
低通滤波器的设计
设计低通滤波器的要求:
设低通滤波器通带截止频率为ωp=0.2π,阻带截止频率为ωs=0.4π,通带波纹Ag=0.5dB,最小阻带衰减Ar=50dB。
wp=0.2*pi;wr=0.4*pi;
trwidth=wr-wp; %过渡带宽度
N=ceil(6.64*pi/trwidth) 1; %滤波器的长度
n=0:1:N-1;
wc=(wr wp)/2;
hd=ideal_lp(wc,N);
w_ham=(hamming(N))’;
h=hd.*w_ham;
[db,mag,pha,grd,w]=freqz_m(h,[1]);
delta_w=2*pi/1000;
Ap=-(min(db(1:1:wp/delta_w 1)));
Ar=-round(max(db(wr/delta_w 1:1:501)));
subplot(221);stem(n,hd);title(‘理想单位脉冲响应hd(n)’)
subplot(222);plot(n,w_ham);title(‘海明窗w(n)’)
subplot(223);stem(n,h);title(‘实际单位脉冲响应h(n)’)
subplot(224);plot(w/pi,db);title(‘幅度响应(dB)’)
子程序:(1)function hd=ideal_lp(~,~)
%Ideal Lowpass filter computation
%[hd]=ideal_lp(wc,N)
% hd=ideal impulse response between 0 to N-1
% wc=cutoff frequency in radians
% N=length of the ideal filter
%
wp=0.2*pi;wr=0.4*pi;
tr_width=wr-wp;
N=ceil(6.64*pi/tr_width) 1; wc=(wr wp)/2;
alpha=(N-1)/2;
n=0:1:(N-1);
m=n-alpha eps;
hd=sin(wc*m)./(pi*m);
(2)function [db,mag,pha,grd,w] = freqz_m(~,~)
% Modified version of freqz subroutine
% ————————————
% [db,mag,pha,grd,w] = freqz_m(h,[1]);
% db = Relative magnitude in dB computed over 0 to pi radians
% mag = absolute magnitude computed over 0 to pi radians
% pha = Phase response in radians over 0 to pi radians
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/203658.html原文链接:https://javaforall.cn