为什么陷波滤波器系数10(5 5分子和分母)巴特沃斯订单2

6视图(30天)
你好,
实现巴特沃斯阻带滤波器(缺口),订单是2
获得10个系数,
在matlab设计
你能解释为什么我得到10系数,是正确的或者是wwrong跟我解释。

接受的答案

马修•诺伊
马修•诺伊 2021年10月1日
你好
你的IIR滤波器尺寸远远大于所需订单2
请参见下面的例子(寻找陷波滤波器)
%
%食谱公式音频EQ biquad滤波器系数
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%由罗伯特·Bristow-Johnson < rbj@audioimagination.com >
%
%
%所有滤波器传输函数(来自模拟原型
%为每个EQ滤波器类型如下所示),使用的数字化
%双线性变换。BLT扭曲已经考虑了频率
%显著频率搬迁(这是正常的“prewarping”
%是必要的,当使用BLT)和带宽调整(自
%的带宽压缩映射从模拟到数字时使用BLT)。
%
%,给定一个biquad传递函数定义为:
%
% b0 + b1 * z ^ 1 + b2 * z ^ 2
% H (z) = - - - - - - - - - - - - - - - - - - - - - - - - (Eq - 1)
% a0 + * z ^ 1 a1 + a2 * z ^ 2
%
%显示6系数代替5这样,根据您的建筑物,
%你可能正常化a0是1,也许还b0 1(和收集
%,成一个整体增益系数)。那么你的传递函数
%的样子:
%
% (b0 /) + (b1 / a0) * z ^ 1 + (b2 / a0) * z ^ 2
% H (z) = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Eq 2)
% 1 + (a1 / a0) * z ^ 1 + (a2 / a0) * z ^ 2
%
%或
%
% 1 + (b1 / b0) * z ^ 1 + (b2 / b0) * z ^ 2
% H (z) = (b0 /) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Eq 3)
% 1 + (a1 / a0) * z ^ 1 + (a2 / a0) * z ^ 2
%
%
%最直接的实现将是“直接形式1”
% (Eq 2):
%
% y [n] = (b0 /) * x [n] + (b1 / a0) * * (n - 1) + (b2 / a0) * x [2]
(%)- a1 / a0 * y (n - 1) - (a2 / a0) * y [2] (Eq 4)
%
%这可能是最好的和最简单的方法来实现的
% 56 k和其他定点或浮点建筑业的两倍
%宽蓄电池。
%
%
%
%开始与这些用户定义的参数:
%
% Fs(采样频率)
%
% f0(“无论happenin’,的人。”Center Frequency or
%转角频率,或货架中点频率不同
%的滤波器类型。“重大频率”)。
%
% dBgain(仅用于峰值和搁置过滤器)
%
% Q (EE的定义,除了peakingEQ *的问
%的经典EE问:调整定义是这样做的
% N的增加dB紧随其后的N个相同的问和dB
% f0 / Fs的结果在一个精确的平面单位增益滤波器或“连接”)。
%
% _or_ BW,八度的带宽(3 dB频率带通滤波器
%和切口或之间的中点(dBgain / 2)获得频率
%见顶情商)
%
% _or_年代,“货架斜率参数(仅供搁置EQ)。S = 1时,
%架子上斜坡陡峭如它可以并保持单调
%增加或减少增益与频率。架子上斜坡,
% dB /八度,仍然是所有其他值成正比的年代
%固定f0 / Fs和dBgain。
%
%
%
%计算几中间变量:
%
% = sqrt (10 ^ (dBgain / 20))
% = 10 ^ (dBgain / 40)(见顶和搁置EQ滤波器)
%
% w0 = 2 *π* f0 / Fs
%
% cos (w0)
% sin (w0)
%
%α=罪(w0) / (2 * Q)(例:问)
% =罪(w0) * sinh (ln (2) / 2 * BW * w0 / sin (w0))(例:BW)
% =罪(w0) / 2 *√((A + 1 / A) * (1 / S - 1) + 2)(例:S)
%
%供参考:带宽和Q之间的关系
% 1 / Q = 2 * sinh (ln (2) / 2 * BW * w0 /罪(w0))(数字滤波器w BLT)
%或1 / Q = 2 * sinh (ln (2) / 2 * BW)(模拟滤波器原型)
%
%货架斜率和Q之间的关系
% 1 / Q =√(一个+ 1 /)* (1 / S - 1) + 2)
%
% 2 *倍根号(A) *α=罪w0 *√((^ 2 + 1) * (1 / S - 1) + 2 *)
%为搁置EQ滤波器是一个方便的中间变量。
%
%
%最后,计算任何滤波器的系数类型你想要的:
%(模拟原型,H (s),显示每个过滤器
%为归一化频率类型。)
% % % % % % % % % % % % % % % % % % % %输入% % % % % % % % % % % % % % %
Fs = 1 e4;
f0 = 100;
% % % % % % % % % % % % % % % % % % % %输出% % % % % % % % % % % % % % %
w0 = 2 *π* f0 / Fs;
% % % % % % % % % % % % % % %模拟% % % % % % % % % % % % % % %
%频率= logspace (1 (log10 (f / 2.5)), 300);
频率= logspace (3300);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% LPF: H (s) = 1 / (s ^ 2 + s / Q + 1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Q = 10;
α=罪(w0) / (2 * Q);
b0 = (1 - cos (w0)) / 2;
b1 = 1 - cos (w0);
b2 = (1 - cos (w0)) / 2;
a0 = 1 +α;
a1 = 2 * cos (w0);
a2 = 1 -α;
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = mydbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(1);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(通滤波器:H (s) = 1 / (s ^ 2 + s / Q + 1)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%高通滤波器:H (s) = s ^ 2 / (s ^ 2 + s / Q + 1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Q = 10;
α=罪(w0) / (2 * Q);
b0 = (1 + cos (w0)) / 2;
b1 = - (1 + cos (w0));
b2 = (1 + cos (w0)) / 2;
a0 = 1 +α;
a1 = 2 * cos (w0);
a2 = 1 -α;
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = mydbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(2);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(高通滤波器:H (s) = s ^ 2 / (s ^ 2 + s / Q + 1)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%瘘:H (s) = (s / Q) / (s ^ 2 + s / Q + 1)(常量0分贝增益峰值)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Q = 10;
α=罪(w0) / (2 * Q);
b0 =α;
b1 = 0;
b2 = - t1;
a0 = 1 +α;
a1 = 2 * cos (w0);
a2 = 1 -α;
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = dbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(3);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(带通滤波器:H (s) = (s / Q) / (s ^ 2 + s / Q + 1)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%切口:H (s) = (s ^ 2 + 1) / (s ^ 2 + s / Q + 1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Q = 10;
α=罪(w0) / (2 * Q);
b0 = 1;
b1 = 2 * cos (w0);
b2 = 1;
a0 = 1 +α;
a1 = 2 * cos (w0);
a2 = 1 -α;
%
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = dbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(4);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(等级:H (s) = (s ^ 2 + 1) / (s ^ 2 + s / Q + 1)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% APF: H (s) = (s ^ 2 - s / Q + 1) / (s ^ 2 + s / Q + 1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Q = 10;
α=罪(w0) / (2 * Q);
b0 = 1 -α;
b1 = 2 * cos (w0);
b2 = 1 +α;
a0 = 1 +α;
a1 = 2 * cos (w0);
a2 = 1 -α;
%
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = dbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(5);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(APF: H (s) = (s ^ 2 - s / Q + 1) / (s ^ 2 + s / Q + 1)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig% %
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% peakingEQ: H (s) =(^ 2 +年代* (/ Q) + 1) / (s ^ 2 + s / (A * Q + 1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
= 4;
Q = 3;
α=罪(w0) / (2 * Q);
b0 = 1 +α*;
b1 = 2 * cos (w0);
b2 = 1 -α*;
a0 = 1 +α/;
a1 = 2 * cos (w0);
a2 = 1 -α/;
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = dbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(6);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(“peakingEQ: H (s) =(^ 2 +年代* (/ Q) + 1) / (s ^ 2 + s / (A * Q) + 1 ');
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig% %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% lowShelf: H (s) = * (s ^ 2 +(倍根号(A) / Q) * s + A) / (A * s ^ 2 +(倍根号(A) / Q) * s + 1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
= 4;
Q = 3;
α=罪(w0) / (2 * Q);
b0 = * ((+ 1) - (A - 1) * cos (w0) + 2 *倍根号(A) *α);
b1 = 2 * * ((A - 1) - (+ 1) * cos (w0));
b2 = * ((+ 1) - (A - 1) * cos (w0) - 2 *倍根号(A) *α);
a0 = (+ 1) + (A - 1) * cos (w0) + 2 *倍根号(A) *α;
a1 = 2 * ((A - 1) + (+ 1) * cos (w0));
a2 = (+ 1) + (A - 1) * cos (w0) - 2 *倍根号(A) *α;
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = dbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(7);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(“lowShelf: H (s) = * (s ^ 2 +(倍根号(A) / Q) * s + A) / (A * s ^ 2 +(倍根号(A) / Q) * s + 1)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
fixfig% % %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% highShelf: H (s) = * (* s ^ 2 +(倍根号(A) / Q) * s + 1) / (s ^ 2 +(倍根号(A) / Q) * s + A)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
= 4;
Q = 3;
α=罪(w0) / (2 * Q);
b0 = * ((+ 1) + (A - 1) * cos (w0) + 2 *倍根号(A) *α);
b1 = 2 * * ((A - 1) + (+ 1) * cos (w0));
b2 = * ((+ 1) + (A - 1) * cos (w0) - 2 *倍根号(A) *α);
a0 = (+ 1) - (A - 1) * cos (w0) + 2 *倍根号(A) *α;
a1 = 2 * ((A - 1) - (+ 1) * cos (w0));
a2 = (+ 1) - (A - 1) * cos (w0) - 2 *倍根号(A) *α;
num1z = (b0 b1 b2);
den1z = (a0 a1 a2);
(g1, p1) = dbode (num1z den1z 1 / Fs, 2 *π*频率);
g1db = 20 * log10 (g1);
图(8);
次要情节(2,1,1),semilogx(频率、g1db“b”网格);
标题(“highShelf: H (s) = * (* s ^ 2 +(倍根号(A) / Q) * s + 1) / (s ^ 2 +(倍根号(A) / Q) * s + A)”);
ylabel (“数据库”);
次要情节(2,1,2),semilogx(频率,p1,“b”网格);
包含(频率(赫兹)”);
ylabel (“阶段(°)”)
% % %
%
%
%
%供参考:双线性变换(频率补偿扭曲)
%替代:
%
% 1 1 - z ^ 1
%(规范化)< - - - - - - - - - - - - - - - - - - - - - - - -
% tan (w0/2) 1 + z ^ 1
%
%和利用这些三角恒等式:
%
%的罪(w0) 1 - cos (w0)
% tan (w0/2) = - - - - - - - - - - - - - (tan (w0/2)) ^ 2 = - - - - - - - - - - - - -
% 1 + cos (w0) 1 + cos (w0)
%
%
%导致这些替换:
%
%
% 1 + cos (w0) 1 + 2 * z z ^ ^ 1 + 2
% 1 < - - - - - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - -
% 1 + cos (w0) 1 + 2 * z z ^ ^ 1 + 2
%
%
% 1 + cos (w0) 1 - z ^ 1
% s < - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% sin (w0) 1 + z ^ 1
%
% 1 + cos (w0) 1 - z ^ 2
% = - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - -
%的罪(w0) 1 + 2 * z z ^ ^ 1 + 2
%
%
% 1 + cos (w0) 1 - 2 * z z ^ ^ 1 + 2
% s ^ 2 < - - - - - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - -
% 1 - cos (w0) 1 + 2 * z z ^ ^ 1 + 2
%
%
%的因素:
%
% 1 + cos (w0)
% - - - - - - - - - - - - - - - - - - -
% 1 + 2 * z z ^ ^ 1 + 2
%
%是常见的分子和分母的所有条款,可以考虑
%,因此被排除在上面的替换导致:
%
%
% 1 + 2 * z z ^ ^ 1 + 2
% 1 < - - - - - - - - - - - - - - - - - - - - - - - -
% 1 + cos (w0)
%
%
% 1 - z ^ 2
% s < - - - - - - - - - - - - - - - - - - - - - - - -
% sin (w0)
%
%
% 1 - 2 * z z ^ ^ 1 + 2
% s ^ 2 < - - - - - - - - - - - - - - - - - - - - - - - -
% 1 - cos (w0)
%
%
%此外,所有条款,分子和分母,可以乘
%常见(sin (w0)) ^ 2因素,最终导致这些替换:
%
%
% 1 <——(1 + 2 * z z ^ ^ (1 + 2) * (1 - cos (w0))
%
% s <罪——(1 - z ^ 2) * (w0)
%
% s ^ 2 <——(1 - 2 * z z ^ ^ (1 + 2) * (1 + cos (w0))
%
% 1 + s ^ 2 < - 2 * (1 - 2 * cos (w0) * z z ^ ^ (1 + 2)
%
%
%以上biquad系数公式出来后一点
%的简化。
7评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!