Azzera filtri
Azzera filtri

How can I get 2 signal differences in log scale?

2 visualizzazioni (ultimi 30 giorni)
Lucky
Lucky il 4 Lug 2013
Can anybody help me, please!! I have a problem, hope you can help me! I have 2 signals in logarithmic scale, their power levels are different. The plot is here: https://www.dropbox.com/s/17dkngq0a4dqzgc/plot.bmp
I need to subtract this 2 signals and get their power level differences in dB, for example, for 1K level difference is appx. 30 dB. All results I need to plot in log scale as well. I used 10^(db/20) to get them into power scale, but do not know how to get them back to dB scale. So, which command to choose to subtract them in log-scale??
Thank you in advance!!

Risposte (2)

Matt J
Matt J il 4 Lug 2013
Wouldn't it just be the inverse of 10^(db/20), i.e.,
db=20*log10(power)
  2 Commenti
Lucky
Lucky il 4 Lug 2013
thank you for your answer, but I tried this, the argument should be a number log10(20) for example, but I have a signal curve, log10(signal) doesn't work for me.. should I calculate to each frequency dB values by this formula??
Matt J
Matt J il 4 Lug 2013
Works fine for me
>> signal=1:5; db=20*log10(signal)
db =
0 6.0206 9.5424 12.0412 13.9794

Accedi per commentare.


Iain
Iain il 4 Lug 2013
You can get the ratio between the power levels simply by taking dB1 - dB2. This is probably more sensible unless the numbers are very similar.
p1 = 10^(10*dB); % etc
dp = p1 - p2
ddB = 10*log10(dp); %
Thats to do it through power. For voltage or current:
i1 = 10^(20*dB1);
di = i1 - i2
ddB = 10*log10(di);
  1 Commento
Lucky
Lucky il 4 Lug 2013
thank you, now its more clear, but the next question is, how to extract values (dBs from X axes) from my signal figures? As I understand, these formulas work only for real values?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by