- The CPSD output changes with `fs` because it affects the frequency resolution and scaling. If you use `fs = 1/64`, the output should scale proportionally to this factor. The output should scale inversely with the sampling frequency.
cpsd, amplitude normalization and frecuency of samplig
6 次查看(过去 30 天)
显示 更早的评论
I would extract from cpsd the amplitude of a signal, i.e. the variance of a noise or in other cases the amplitude of sinusoidal wave.
I'm using as a sample a white noise. I would obtain from the mean performed over cpsd power spectrum sigma=1 (the original value of the signal).
Which is the right normalization of the output?
cpsd(S(:),S(:),w'*l_tot/sum(w),1,2*floor(l_tot/2)+1)'
possible options:
mean( sqrt(S(:)) );
sqrt( mean(S(:)) );
sqrt( mean(S(:))/length(S(:)) );
I am a bit confused. Moreover I notice that introducing the frecuency samplig fs in the arguments of the function, output changes, and I cannot find the proportional constant among
cpsd(S(:),S(:),w'*l_tot/sum(w),1,2*floor(l_tot/2)+1)
cpsd(S(:),S(:),w'*l_tot/sum(w),1,2*floor(l_tot/2)+1,1/64)
which in principle has to be proportional to 1/64, but I cannot find this relationship.
Thanks in advance!
0 个评论
采纳的回答
Sugandhi
2024-9-13
编辑:Sugandhi
2024-9-13
Hello Sebastiano,
To extract the amplitude or variance from the CPSD of a white noise signal, you should use the normalization:
sqrt(mean(S(:))/length(S(:)))
This helps you get the average power per sample, which is what you need to reflect the original variance of the signal.
This approach helps you relate the CPSD output to the original variance of the signal.
Regarding the sampling frequency (`fs`):
CPSD output scales with the sampling frequency. If you change `fs`, expect the CPSD values to adjust accordingly.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!