MATLAB: Inputting Power Spectral Density into System Transfer Function to obtain Output PSD

MATLABpower spectral densitypower spectrumpsdspectral densitytransfer function

I have come across the relation where and refer to the output and input spectral densities respectively, and is the system transfer function.
If I have already defined the system transfer function in the complex frequency domain using the following (for example)
s = tf('s');
H = (1+s*T2)/(1+s*(T2 + T1));
How would I go about inputting an arbitrary Power Spectral Density in this transfer function with the goal of observing the output spectral density? I am assuming the above relation is still valid in the complex frequency space but I may be wrong.
Any help would be greatly appreciated!

Best Answer

hello
if your input PSD is a numerical vector defined for a frequency vector freq, you simply have to do dot products like this :
PSD_input = .... vector
freq = .... vector
s = j*2*pi*freq; % complex pulsation vector
% compute transfer function modulus
tf_mod = abs((1+s*T2)./(1+s*(T2 + T1));
% PSD out
PSD_out = (tf_mod.^2).*PSD_input; % that's all folks !