Produce pulse of desired power

조회 수: 7 (최근 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 CenterFile Exchange에서 Switches and Breakers에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by