Rozpatrzmy układ o transmitancji \(H(s)=\frac{100s+100}{s^{2}+110s+1000}\).
Zadanie 1
Wyznacznyć charakterystykę amplitudową \(M(\omega)\) układu o transmitancji \(H(s)\)
\(M(\omega)=\begin{vmatrix}H(\imath \omega )\end{vmatrix}=\begin{vmatrix}\frac{100\imath \omega +100}{(\imath \omega )^{2}+110\imath \omega +1000}\end{vmatrix}=\begin{vmatrix}\frac{100\imath \omega +100}{110\imath \omega +1000-\omega^{2}}\end{vmatrix}=\)
zgodnie z algebrą moduł ilorazu równy jest ilorazowi modułów, tak wiec
\(=\begin{vmatrix}\frac{100\imath \omega +100}{110\imath \omega +1000-\omega^{2}}\end{vmatrix}=\frac{\begin{vmatrix}100\imath \omega +100\end{vmatrix}}{\begin{vmatrix}110\imath \omega +1000-\omega^{2} \end{vmatrix}}=\frac{\sqrt{100^{2}\omega^{2}+100^{2}}}{\sqrt{110^{2}\omega^{2}+(1000-\omega^{2})^{2}}}\)
Zadanie 2
Wykreślić w matlabie charakterystykę amplitudową \(M(\omega)\) układu o transmitancji \(H(s)\)
w = logspace(-4,6,1000); % w od 10^-4 do 10^6
m = sqrt(100^2*w.^2+100^2)./sqrt(110*w.^2+(1000-w.^2).^2);
loglog(w,m);
title('Charakterystyka amplitudowa układu o transmitancji H(s)');
xlabel('w');
ylabel('M(w)');

Zadanie 3
Zmodyfikować skrypt z poprzedniego zadania w taki sposób aby wykorzystać funkcje plot, a uzyskać identyczny wykres.
w = logspace(-4,6,1000); % w od 10^-4 do 10^6
m = sqrt(100^2*w.^2+100^2)./sqrt((110*w).^2+(1000-w.^2).^2);
plot(log10(w),20*log10(m));
title('Charakterystyka amplitudowa układu o transmitancji H(s)');
xlabel('log10(w)');
ylabel('20*log10(M(w))');

Zadanie 4
Wykreślić na wykresie z zadanie 3 aproksymacje diagramu bodego.
Krok 1
W pierwszym kroku określamy stały czynnik układu. Aby go obliczyć dzielimy wyrazy wolne liczniki i mianownika \(C = \frac{100}{1000} = 0.1\)
Krok 2
Kolejnym krokiem jest wyznaczenie zer i biegunów transmitancji. Zera transmitancji to miejsca zerowe licznika transmitancji \(s=-1\), nastomiast biegunty transmitancji to miejsca zerowe mianowika transmitancji \(s=-10 \wedge s=-100\)
Krok 3
Zaczynamy kreślić aproksymacje w punkcie \(\omega=0\) na wysokośći obliczonego w kroku 1 współczynnika C a dokładniej na wysokości \(20log(C)\). Każde zero transmitancji podnosi charakterystykę o \(20\frac{db}{oktawe}\), a kazdy biegun transmitancji opuszcza charakterystykę o \(20\frac{db}{oktawe}\).
Na odcinku \(\omega=0\) do \(\omega=1\) (pierwsze zero tansmitancji) charakterystyka jest płaska.
plot(log10(w),20*log10(m));
hold on
w1 = logspace(-4,0,100); % w od 10^-4 do 10^0
m1 = ones(1,length(w1))*20*log10(0.1);
plot(log10(w1),m1,'red');
Następnie na odcinku od \(\omega=1\) do \(\omega=10\) charakterystyka wznosi się z prędkością \(20\frac{db}{oktawe}\). Oktawa to 10 krotna zmiana wartości. w związku z tym dane mamy 2 punkty w skali logarytmicznej \(A=(log_{10}(1),20log_{10}(0.1))\) i \(B=(log_{10}(10),20log_{10}(0.1)+20)\). Możemy wyznaczy równanie prostej przechodzącej przez dwa punkty.
Następnie na odcinku od \(\omega=10\) do \(\omega=100\) z racji bieguna charakterystyka znów jest stała. Idąc dalej napotykamy kolejny biegun który ponownie zakrzywia charakterystykę o \(20\frac{db}{oktawe}\). Ponownie możemy wyznaczyć dwa punkty i wykreślić prostą przechodzącą przez te dwa punkty.
plot(log10(w),20*log10(m));
hold on
w1 = logspace(-4,0,100); % w od 10^-4 do 10^0
m1 = ones(1,length(w1))*20*log10(0.1);
plot(log10(w1),m1,'red');
w2 = logspace(0,1,100);
m2 = polyval([(-20)/(log10(1)-log10(10)) -(-20)/(log10(1)-log10(10))*log10(1)+20*log10(0.1)],log10(w2));
plot(log10(w2),m2,'red');
w3 = logspace(1,2,100);
m3 = ones(1,length(w3))*m2(end);
plot(log10(w3),m3,'red');
w4 = logspace(2,6,100);
m4 = polyval([(20)/(log10(100)-log10(1000)) -(20)/(log10(100)-log10(1000))*log10(100)+m3(end)],log10(w4));
plot(log10(w4),m4,'red');
hold off
W efekcie powinniśmy otrzymać wykres jak na rys 3.