Produce pulse of desired power

9 ビュー (過去 30 日間)
Apo
Apo 2014 年 6 月 20 日
回答済み: Dishant Arora 2014 年 6 月 20 日
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?

回答 (1 件)

Dishant Arora
Dishant Arora 2014 年 6 月 20 日
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.

カテゴリ

Help Center および File ExchangeSwitches and Breakers についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by