📄 dfdpass.m
字号:
function twoaxis=dfdpass(num,den,speca,filnumb,moreaxis)
% dfdpass.m DFD Plot attenuation in passband
% 0:25 8/3/99
%
% Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.03.08
% tosic@telekom.etf.bg.ac.yu
% lutovac@galeb.etf.bg.ac.yu
%
% Copyright (c) 1999 by Tosic & Lutovac
% $Revision: 1.0 $ $Date: 1999/03/08 03:07:42 $
%
% References:
% Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
% Advanced Filter Design for Signal Processing
% Using MATLAB and Mathematica
initaxis = [0.13 0.11 0.775 0.815];
if filnumb == 1
twoaxis = 0;
if moreaxis ~= 0
delete(gca);
set(gca, 'Position', initaxis);
end
f1 = 0; f2 = speca(1);
f = f1:(f2-f1)/100:f2;
p = 2*pi*f;
A = -20*log10(abs(freqz(num,den,p)));
plot(f, A, [0 speca(1)], [speca(3) speca(3)], 'r:');
xlabel('frequency');
ylabel('attenuation (dB)');
title('Passband');
a = axis;
a(1) = f1;
a(2) = f2;
axis(a);
%set(gca,'Color',[0 0 0]);
elseif filnumb == 2
twoaxis = 0;
if moreaxis ~= 0
delete(gca);
set(gca, 'Position', initaxis);
end
f1 = speca(2); f2 = 0.5;
f = f1:(f2-f1)/100:f2;
p = 2*pi*f;
A = -20*log10(abs(freqz(num,den,p)));
plot(f, A, [speca(2) 0.5], [speca(3) speca(3)], 'r:');
xlabel('frequency');
ylabel('attenuation (dB)');
title('Passband');
a = axis;
a(1) = f1;
a(2) = f2;
axis(a);
%set(gca,'Color',[0 0 0]);
elseif filnumb == 3
twoaxis = 0;
if moreaxis ~= 0
delete(gca);
set(gca, 'Position', initaxis);
end
f1 = speca(2); f2 = speca(3);
f = f1:(f2-f1)/100:f2;
p = 2*pi*f;
A = -20*log10(abs(freqz(num,den,p)));
plot(f,A, ...
[speca(2) speca(3)],[speca(6) speca(6)],'r:')
xlabel('frequency');
ylabel('attenuation (dB)');
title('Passband');
a = axis;
a(1) = f1;
a(2) = f2;
axis(a);
%set(gca,'Color',[0 0 0]);
elseif filnumb == 4
twoaxis=1;
subplot(211);
f1 = 0; f2 = speca(1);
f = f1:(f2-f1)/100:f2;
p = 2*pi*f;
A = -20*log10(abs(freqz(num,den,p)));
plot(f,A, ...
[0 speca(1)],[speca(5) speca(5)],'r:');
xlabel('frequency');
ylabel('attenuation (dB)');
title('Passband 1');
a = axis;
a(1) = f1;
a(2) = f2;
axis(a);
%set(gca,'Color',[0 0 0]);
subplot(212);
f1 = speca(4); f2 = 0.5;
f = f1:(f2-f1)/100:f2;
p = 2*pi*f;
A = -20*log10(abs(freqz(num,den,p)));
plot(f,A, ...
[speca(4) 0.5],[speca(7) speca(7)],'r:');
xlabel('frequency');
ylabel('attenuation (dB)');
title('Passband 2');
a = axis;
a(1) = f1;
a(2) = f2;
axis(a);
%set(gca,'Color',[0 0 0]);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -