⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dfdpass.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 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 + -