MATLAB: How can i plot the magnitude and phase response for given output

digital signal processingsignal processing

Best Answer

First, code the function you posted an image of. It would be best to create it as a transfer function object, using the tf function. See the relevant documentation for details.
Then, use the bode (link) or lsim (link) functions, depending on what you want to do.
Note that for a SISO system, you will have to use squeeze to plot the result, if you want to plot the outputs of bode and the others.
Example
[mag,phase,wout] = bode(tfobj);
figure(3)
subplot(2,1,1)
semilogx(wout, 20*log10(squeeze(mag)), '-b', 'LineWidth',1) % Bode Plot: Magnitude
ylabel('H(f) (dB)')
grid
subplot(2,1,2)
semilogx(wout, squeeze(phase), '-b', 'LineWidth',1) % Bode Plot: Phase
xlabel('Frequency (rad/sec)')
ylabel('Phase (°)')
grid