模拟特定功率的脉冲

信息处理 matlab 离散信号
2022-01-29 22:13:25

假设您根据一个函数在每个x持续时间的离散样本中产生一个脉冲(例如在 Matlab 中)。dt我得到了一些注释,其中表明如果我想让它具有特定的权力,我必须首先通过做

energy = sum((x.^2).*dt) %first calculate the pulse energy
x = x./sqrt(energy) %normalize its energy to 1

然后你计算目标能量

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

最后你缩放脉冲使其具有目标功率

x = x .* sqrt(energy) %the pulse at the target power

我的问题是,这到底是如何工作的?为什么除以xsqrt(E)一化为单位能量?为什么x用新的归一化结果乘以sqrt(E)目标功率?为什么不只是除以E例如?然后乘以E它与RMS值有什么关系吗?最后,它是否可以用于任意脉冲,例如正弦曲线?

1个回答

好吧,为了一个信号x[k],能量为:

E=dtk=x2[k]

您希望通过除法将能量合二为一x[k]通过一个值a, 因此:

1=dtk=(xa)2[k]
乘以a2变成
a2=dtk=x2[k]
将其与第一个等式进行比较,可以很容易地看出a2=E并且因为E总是积极的,我们可以得出结论a=E. 这就是为什么你除以平方根E.

从那里应该很容易看出为什么将其与E发出能量信号E.