Produce pulse of desired power

11 views (last 30 days)
Apo
Apo on 20 Jun 2014
Answered: Dishant Arora on 20 Jun 2014
Suppose you produce a pulse x in discrete samples of duration dt each according to a function. I was given some notes in which it shows that if I want it to let it have a specific power I have to first normalize it by doing
energy = sum((x.^2).*dt) %first calculate the pulse energy
x = x./sqrt(energy) %normalize its energy to 1
then you calculate the target energy
power = 0 %target power in dBm
power = (10^(power/10))/1000 %target power in W
energy = power*len(x)*dt %target energy of the pulse
and finally you scale the pulse so that it has the target power
x = x .* sqrt(energy) %the pulse at the target power
My question is, how does that really work? Why dividing `x` by `sqrt(E)` normalize it to unit energy? And why multiplying the resulting normalized `x` by the new `sqrt(E)` brings it to the target power? Why not just divide by `E` for example? and then multiply by `E`? Does it have any relation to RMS values? And finally is it something that can be used in any arbitrary pulses, e.g. in sinusoids as well?

Answers (1)

Dishant Arora
Dishant Arora on 20 Jun 2014
Because maximum absloute value of a sample in sequence can't exceed sqrt(E) and can be equal to sqrt(E) if and only if its a single valued sequence. that's why we normalize it with sqrt(E) not E itself.

Community Treasure Hunt

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

Start Hunting!

Translated by