Величины откликов параметрического эквалайзера - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь объединить несколько частотных графиков, которые относятся к амплитудным характеристикам фильтров параметрического эквалайзера в 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

1 Ответ

0 голосов
/ 21 мая 2019

Мне удалось поднять вершину, настроив параметр gain 2.На рисунке ниже показаны значения 4,8, 2,4, 1,2, 0,6 и 0,2.Это то, что вы ищете?

enter image description here

Вы смотрели документацию freqz , чтобы убедиться, что вызаговор, что вы собираетесь?

...