📄 uf_cmptbl.m
字号:
function [TblTitle,TblList,TblComponent]=uf_cmptbl(fmodel,forder,annex);
fmodel=lower(fmodel);
if nargin<2, forder=3; end;
if nargin<3, annex=0.099; end;
lb_tmp = 1;
if strcmp(fmodel,'butter'),
if forder<2,
error('输入巴特沃斯滤波器阶数应大于等于2。');
end;
TblTitle='1至9阶巴特沃斯滤波器归一化元件值';
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | 2.0000', ...
' 2 | 1.4142 1.4142', ...
' 3 | 1.0000 2.0000 1.0000', ...
' 4 | 0.7654 1.8478 1.8478 0.7654', ...
' 5 | 0.6180 1.6180 2.0000 1.6180 0.6180', ...
' 6 | 0.5176 1.4142 1.9319 1.9319 1.4142 0.5176', ...
' 7 | 0.4450 1.2470 1.8019 2.0000 1.8019 1.2470 0.4450', ...
' 8 | 0.3902 1.1111 1.6629 1.9616 1.9616 1.6629 1.1111 0.3902', ...
' 9 | 0.3473 1.0000 1.5321 1.8794 2.0000 1.8794 1.5321 1.0000 0.3473', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
elseif strcmp(fmodel,'cheby1'),
if forder<2,
error('输入切比雪夫滤波器阶数应大于等于2。');
end;
TblTitle=['切比雪夫滤波器元件值 Ap=' num2str(annex) 'dB'];
switch annex, % Ap(dB)
case 0.011, %
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | ', ...
' 2 | ', ...
' 3 | 0.6395 0.9786 0.6395', ...
' 4 | 0.6349 1.203 1.203 0.6349', ...
' 5 | 0.7664 1.310 1.588 1.310 0.7664', ...
' 6 | 0.7275 1.380 1.607 1.607 1.380 0.7275', ...
' 7 | 0.8068 1.397 1.757 1.634 1.757 1.397 0.8068', ...
' 8 | 0.7670 1.433 1.718 1.754 1.754 1.718 1.433 0.7670', ...
' 9 | 0.8242 1.431 1.813 1.712 1.913 1.712 1.813 1.431 0.8242', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
case 0.028,
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | ', ...
' 2 | ', ...
' 3 | 0.7750 1.0684 0.7750', ...
' 4 | 0.7402 1.307 1.307 0.7402', ...
' 5 | 0.8973 1.359 1.727 1.359 0.8973', ...
' 6 | 0.8366 1.449 1.684 1.684 1.449 0.8366', ...
' 7 | 0.9350 1.431 1.874 1.634 1.874 1.431 0.9350', ...
' 8 | 0.8788 1.487 1.791 1.792 1.792 1.791 1.487 0.8788', ...
' 9 | 0.9511 1.459 1.922 1.696 2.009 1.696 1.922 1.459 0.9511', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
case 0.044,
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | ', ...
' 2 | ', ...
' 3 | 0.8533 1.1036 0.8533', ...
' 4 | 0.7994 1.354 1.354 0.7994', ...
' 5 | 0.9732 1.372 1.803 1.372 0.9732', ...
' 6 | 0.8989 1.478 1.721 1.721 1.478 0.8989', ...
' 7 | 1.010 1.437 1.941 1.622 1.941 1.437 1.010', ...
' 8 | 0.9430 1.507 1.828 1.808 1.808 1.828 1.507 0.9430', ...
' 9 | 1.025 1.462 1.985 1.677 2.066 1.677 1.985 1.462 1.025', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
case 0.099,
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | ', ...
' 2 | ', ...
' 3 | 1.0285 1.1468 1.0285', ...
' 4 | 0.9277 1.434 1.434 0.9277', ...
' 5 | 1.144 1.372 1.972 1.372 1.144', ...
' 6 | 1.036 1.516 1.788 1.788 1.516 1.036', ...
' 7 | 1.178 1.423 2.094 1.574 2.094 1.423 1.178', ...
' 8 | 1.086 1.526 1.902 1.830 1.830 1.902 1.526 1.086', ...
' 9 | 1.193 1.443 2.132 1.618 2.203 1.618 2.132 1.443 1.193', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
case 0.177,
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | ', ...
' 2 | ', ...
' 3 | 1.1893 1.1540 1.1893', ...
' 4 | 1.041 1.482 1.482 1.041', ...
' 5 | 1.302 1.346 2.129 1.346 1.302', ...
' 6 | 1.159 1.529 1.838 1.838 1.529 1.159', ...
' 7 | 1.335 1.389 2.240 1.515 2.240 1.389 1.335', ...
' 8 | 1.215 1.523 1.963 1.840 1.840 1.963 1.523 1.215', ...
' 9 | 1.349 1.405 2.274 1.551 2.339 1.551 2.274 1.405 1.349', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
case 0.28,
TblList=str2mat( ...
' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
' 1 | ', ...
' 2 | ', ...
' 3 | 1.3451 1.1412 1.3451', ...
' 4 | 1.146 1.513 1.513 1.146', ...
' 5 | 1.456 1.307 2.283 1.307 1.456', ...
' 6 | 1.277 1.528 1.878 1.878 1.528 1.277', ...
' 7 | 1.488 1.343 2.388 1.451 2.388 1.343 1.488', ...
' 8 | 1.340 1.508 2.019 1.844 1.844 2.019 1.508 1.340', ...
' 9 | 1.502 1.357 2.420 1.481 2.480 1.481 2.420 1.357 1.502', ...
' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
otherwise,
lb_tmp = 0;
TblList=str2mat( ...
' N |', ...
' 1 |', ...
' 2 |', ...
' 3 |', ...
' 4 |', ...
' 5 |', ...
' 6 |', ...
' 7 |', ...
' 8 |', ...
' 9 |', ...
' N |' );
ls_space = [' ';' ';' ';' ';' ';' ';' ';' ';' ';' ';' '];
cmpTbl = zeros(9,10);
l = 1;
for n = 1:9,
[cmp, Rl] = uf_chebycmp(annex,n);
cmpTbl(n,1:n+1) = [Rl cmp];
end;
for n = 1:10,
if n == 1,
ls_title = [' Rl';' Rl'];
else,
m = n - 1;
if mod(m,2),
ls_title = [' C' int2str(m);' L' int2str(m)];
else,
ls_title = [' L' int2str(m);' C' int2str(m)];
end;
end;
if n <= 2,
lsa_tmp = num2str(cmpTbl(:,n),'%0.5f');
lsa_tmp = str2mat( ...
ls_title(1,:), ...
lsa_tmp, ...
ls_title(2,:) );
else,
l = l + 1;
lsa_tmp = num2str(cmpTbl(l:9,n),'%0.5f');
lsa_tmp = str2mat( ...
ls_title(1,:), ...
ls_space(1:l-1,:), ...
lsa_tmp, ...
ls_title(2,:) );
end;
TblList = [TblList ls_space lsa_tmp ls_space];
end;
TblList = { TblList; ...
' '; ...
' 注:该表上、下栏中的元件排列分别对应于Π型、T型电路。'; ...
' 偶数阶切比雪夫滤波器原型的负载电阻值(Rl)不等于信号源内阻(设为1)。'};
% TblList = str2mat(TblList, ...
% ' 注:偶数阶切比雪夫滤波器原型的负载电阻值(Rl)不等于信号源内阻(设为1)。');
% TblList=str2mat( ...
% ' N | C1 L2 C3 L4 C5 L6 C7 L8 C9', ...
% ' 1 | ', ...
% ' 2 | ', ...
% ' 3 | ', ...
% ' 4 | ', ...
% ' 5 | ', ...
% ' 6 | ', ...
% ' 7 | ', ...
% ' 8 | ', ...
% ' 9 | ', ...
% ' N | L1 C2 L3 C4 L5 C6 L7 C8 L9' );
end;
elseif strcmp(fmodel,''),
end;
if lb_tmp,
TblComponent = [lb_tmp str2num(TblList(forder+1,5:size(TblList,2)))];
TblList = { TblList; ...
' '; ...
' 注:该表上、下栏中的元件排列分别对应于Π型、T型电路。'};
else,
TblComponent = cmpTbl(forder,1:forder+1);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -