回 帖 发 新 帖 刷新版面

主题:freq_m函数在哪,或怎么编

clear all; 
Wp=[0.3*pi,0.4*pi]; 
Ws=[0.2*pi,0.5*pi]; 
Ap=3; 
As=18; 
[N,wn]=buttord(Wp/pi,Ws/pi,Ap,As); 
[C,B,A]=dir2cas(b,a) 
[db,mag,pha,grd,w]=freqz_m(b,a); 
subplot(211); 
plot(w/pi,mag); 
title(‘ 数字滤波器幅频响 |H(ejOmega)|') 
subplot(212); 
plot(w/pi,db); 
title(‘ 数字滤波器幅频响 (dB)') 
我要设计这个带通滤波器,可是freqz_m没有找到
问题补充:我用的是matlab7.1

回复列表 (共1个回复)

沙发

已经找到了
function [db, mag, pha, grd,w]=freqz_m(b,a);
%Modified version of freqz subroutine

[H,w]=freqz(b,a,1000,'whole');
H=(H(1:501))'; w=(w(1:501))';
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(b,a,w);

我来回复

您尚未登录,请登录后再回复。点此登录或注册