我正在尝试组合几个与MATLAB中参数均衡器滤波器的幅度响应有关的频率图。我将函数均衡器基于音频处理书中的公式。问题是我不知道如何绘制哪个顶点会上升,而不仅仅是下降(现在如何),

https://www.researchgate.net/profile/Joshua_Reiss/publication/302067841/figure/fig13/AS:667906585141254@1536252747583/Magnitude-responses-of-low-frequency-shelving-filters-with-complementary-gains-12-dB.png
地势在上升和下降。我应该更改哪个变量以使其看起来像这样,或者如果代码有问题,我该如何解决?

%%%FUNCTION
function [num1,den1] = equalizer(G0,G,w,delta_w)
%G0 - gain 1
%G - gain 2
%w - center frequency
%delta_w - bandwidth
GB = sqrt(G0*G); %gain parameter
beta = sqrt((GB^2-G0^2)/(G^2-GB^2))*tan(delta_w/2);
beta = tan(delta_w/2);
num = [(G0+G*beta)/(1+beta); ((-2*G0*cos(w))/(1+beta)); ((G0-G*beta)/(1+beta))]';
den = [1; ((-2*cos(w))/(1+beta)); ((1-beta)/(1+beta))]';

num1 = num;
den1 = den;

end

%%%SCRIPT
figure;
freqz(equalizer(1, 0.6, pi/2, pi/4)); hold on
freqz(equalizer(1, 0.2, pi/2, pi/4)); hold on
hold off

最佳答案

通过调整gain 2参数,我可以使顶点向上移动。下图显示了4.8、2.4、1.2、0.6和0.2的值。这是您要找的东西吗?

matlab - 参数均衡器的幅度响应-LMLPHP

您是否查看过freqz documentation以确保您正在计划要绘制的内容?

09-26 04:18