Contents

% scaling of 2nd order sections
% lab3_4.m * mw * 02/11/2007

Scaling of freqeuncy responses

disp('second order blocks')
disp(SOS)
N = 1024;
[H1,w] = freqz(SOS(1,1:3),SOS(1,4:6),N); % frequency respons
[H2,w] = freqz(SOS(2,1:3),SOS(2,4:6),N);
[H3,w] = freqz(SOS(3,1:3),SOS(3,4:6),N);
MAX1 = max(abs(H1));                     % scaling factor
MAX2 = max(abs(H2.*H1/MAX1));
MAX3 = max(abs(H3.*(H2/MAX2).*(H1/MAX1)));
fprintf('Scaling factors for section 1, 2 and 3 : %g  , %g  , %g\n\n',1/MAX1,1/MAX2,1/MAX3)
SOSs =SOS;
SOSs(1,1:3) = SOS(1,1:3)/MAX1;
SOSs(2,1:3) = SOS(2,1:3)/MAX2;
SOSs(3,1:3) = SOS(3,1:3)/MAX3;
disp('after scaling')
disp(SOSs)
[H1,w] = freqz(SOSs(1,1:3),SOSs(1,4:6),N);
[H2,w] = freqz(SOSs(2,1:3),SOSs(2,4:6),N);
[H3,w] = freqz(SOSs(3,1:3),SOSs(3,4:6),N);
second order blocks
    1.0000    0.7724    1.0000    1.0000   -1.5743    0.6496
    1.0000   -0.9573    1.0000    1.0000   -1.5520    0.7965
    1.0000   -1.2851    1.0000    1.0000   -1.5629    0.9396

Scaling factors for section 1, 2 and 3 : 0.0271663  , 0.229457  , 0.508501

after scaling
    0.0272    0.0210    0.0272    1.0000   -1.5743    0.6496
    0.2295   -0.2197    0.2295    1.0000   -1.5520    0.7965
    0.5085   -0.6535    0.5085    1.0000   -1.5629    0.9396

Graphics - Frequency responses

FIG1 = figure('Name','lab3_4 : Frequency responses - scaled ',...
    'NumberTitle','off');
subplot(2,2,1),plot(w/pi,abs(H1),w/pi,abs(H2),w/pi,abs(H3)), grid
xlabel('\Omega / \pi \rightarrow'), ylabel('|H_i(ej\Omega)| \rightarrow')
title('Sections 1,2 and 3')
subplot(2,2,3),plot(w/pi,20*log10(abs(H1)),w/pi,20*log10(abs(H2)),...
    w/pi,20*log10(abs(H3))), grid
xlabel('\Omega / \pi \rightarrow'), ylabel('|H_i(e^{j\Omega})| in dB \rightarrow')
title('Sections 1,2 and 3')
subplot(2,2,2),plot(w/pi,abs(H1.*H2.*H3)), grid
xlabel('\Omega / \pi \rightarrow'), ylabel('|H(ej\Omega)| \rightarrow')
title('Cascade')
subplot(2,2,4),plot(w/pi,20*log10(abs(H1.*H2.*H3))), grid
xlabel('\Omega / \pi \rightarrow'), ylabel('|H(e^{j\Omega})| in dB \rightarrow')
title('Cascade')