Is the unit of Cxy from cpsd in decibel?

2 Ansichten (letzte 30 Tage)
Kay
Kay am 20 Okt. 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!

Akzeptierte Antwort

Wayne King
Wayne King am 20 Okt. 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 Kommentare
Wayne King
Wayne King am 20 Okt. 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 am 20 Okt. 2011
is dB same as dB/Hz?
if not, how do I get rid it?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Kay
Kay am 1 Dez. 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

Giandomenico
Giandomenico am 31 Jan. 2013
Bearbeitet: Giandomenico am 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?

Kategorien

Mehr zu Signal Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by