我正在尝试在MATLAB中组合几个与参数均衡器滤波器的幅值响应有关的freqz图。我的函数均衡器基于音频处理书中的公式。问题是,我不知道如何绘制哪些顶点会上升,而不只是下降(它现在是怎样的),
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发布于 2019-05-21 23:43:53
我能够通过调整gain 2参数来使顶点上升。下图显示了4.8、2.4、1.2、0.6和0.2的值。这就是你要找的吗?

您是否查看了freqz documentation以确保您正在绘制您想要的内容?
https://stackoverflow.com/questions/56241588
复制相似问题