Skip to content

Commit a97a4c1

Browse files
singalsukv2019i
authored andcommitted
Audio: EQIIR: Tune: Add plot for equalizer response error
The added plot is useful especially with parametric IIR equalizer tuning to see achieved response error vs. target. A numerical mean(abs()) value of error is printed to help see filter parameters change impact. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com> (cherry picked from commit 3b753ec)
1 parent 6f3bc03 commit a97a4c1

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/audio/eq_iir/tune/sof_eq_plot.m

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,17 @@ function sof_eq_plot(eq, fn)
7575
eq.f, eq.iir_eq_db + offs_iir, '--',...
7676
eq.f, eq.fir_eq_db + offs_fir, '--');
7777
legend('Target', 'Combined', 'IIR', 'FIR', 'Location', 'NorthWest');
78+
eq.diff_db = eq.tot_eq_db + offs_tot - eq.err_db_s;
7879
end
7980
if eq.enable_fir && eq.enable_iir == 0
8081
semilogx(eq.f, eq.err_db_s, eq.f, eq.fir_eq_db + offs_fir);
8182
legend('Target', 'FIR', 'Location', 'NorthWest');
83+
eq.diff_db = eq.fir_eq_db + offs_fir - eq.err_db_s;
8284
end
8385
if eq.enable_fir == 0 && eq.enable_iir
8486
semilogx(eq.f, eq.err_db_s, eq.f, eq.iir_eq_db + offs_iir);
8587
legend('Target', 'IIR', 'Location', 'NorthWest');
88+
eq.diff_db = eq.iir_eq_db + offs_iir - eq.err_db_s;
8689
end
8790
grid on;
8891
ax=axis; axis([eq.p_fmin eq.p_fmax min(max(ax(3:4), -40), 40)]);
@@ -91,6 +94,15 @@ function sof_eq_plot(eq, fn)
9194
tstr = sprintf('Filter target vs. achieved response: %s', eq.name);
9295
title(tstr);
9396

97+
fh=figure(fn); fn = fn+1;
98+
semilogx(eq.f, eq.diff_db)
99+
grid on;
100+
ax=axis; axis([eq.p_fmin eq.p_fmax -5 5]);
101+
xlabel('Frequency (Hz)');
102+
ylabel('Magnitude (dB)');
103+
tstr = sprintf('Response difference mean abs %.4f dB: %s', mean(abs(eq.diff_db)), eq.name);
104+
title(tstr);
105+
94106
%% FIR filter
95107
if length(eq.b_fir) > 1
96108
% Response

0 commit comments

Comments
 (0)