Is the unit of Cxy from cpsd in decibel?

2 vues (au cours des 30 derniers jours)
Kay
Kay le 20 Oct 2011
Hi,
I want to use the Signal Processing Toolbox to compute the Cross spectrum gain and phase for my sequences X and Y. I wondered the Cxy that cpsd gives me is in the units of dB? I saw the example and it says the unit is dB/rad/freq, how can I convert it to dB?
Thank you so much!

Réponse acceptée

Wayne King
Wayne King le 20 Oct 2011
Hi, no, the output is the cross spectrum, it is complex-valued. If you want the output in db. Use
10*log10(abs(Pxy));
For example:
Fs = 1000;
t = 0:1/Fs:.296;
x = cos(2*pi*t*200)+randn(size(t));
y = cos(2*pi*t*100)+randn(size(t));
[Pxy,F] = cpsd(x,y,[],[],[],Fs);
plot(F,10*log10(abs(Pxy))); grid on;
% compare to
figure;
cpsd(x,y,[],[],[],Fs);
  4 commentaires
Wayne King
Wayne King le 20 Oct 2011
yes, angle(Pxy) gives you the phase. The difference between 10*log10() and 20*log10() is the difference between magnitude and magnitude squared, they are both in dB per unit frequency.
Kay
Kay le 20 Oct 2011
is dB same as dB/Hz?
if not, how do I get rid it?

Connectez-vous pour commenter.

Plus de réponses (2)

Kay
Kay le 1 Déc 2011
I'm getting some offset of the result after cpsd, do you know if the algorithm of the cpsd would give me a larger set of numbers as a result?
thanks, Kay
  1 commentaire
Wayne King
Wayne King le 1 Déc 2011
offset after what result?

Connectez-vous pour commenter.


Giandomenico
Giandomenico le 31 Jan 2013
Modifié(e) : Giandomenico le 31 Jan 2013
I have a problem with cpsd amplitude. I generate a 20s signal with two harmonic components at 5 and 10Hz, both with an amplitude of 10, then I perform the cpsd I have the two components at the right frequencies, but both with an amplitude of 1000??? it should be 100, right?
fs=512; % sampling frequency
L=10240; % samples
t=(0:L-1)'/fs;
x=10*sin(2*pi*10*t)+10*sin(2*pi*5*t);
[Gxx, f]=cpsd(x,x,rectwin(L),0,L,fs);
plot(f,abs(Gxx),'.r')
Where I am wrong?

Catégories

En savoir plus sur Signal Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by