I have a scenario where I have two OQPSK modulated signals and I need to increase the power of one signal by 3 dBm while keeping the other signal at the same power level. Could someone guide me on how to achieve this in Matlab.

  • 1
    $\begingroup$ You don't need to specify the reference when you talk of a difference in dB scale. The letter m in dBm specifies a 0 dB reference of 1 mW. $\endgroup$ Nov 13, 2015 at 10:41

2 Answers 2


To increase the power of x by 3 dB:

x .*= 10^(3/20)
  • 5
    $\begingroup$ hey Olli, someone downvoted your accurate and sincere answer. welcome to Stack Exchange. (maybe they downvoted you because they tried it verbatim and you left off the semicolon. and they were sending their console output to a paper printer and length(x) is like $2^{16}$.) $\endgroup$ Apr 7, 2017 at 5:45

For example both signal $x_1$ and $x_2$ has the same value (amplitude), then we want to amplify the second signal to be 3 dB more than $x_1$ (I call it SNR, signal to noise ratio, the noise is signal itself).

% demoDB: add 3 dB to  signal
Fs=2000;                        % Sampling Frequency
Fc=10;                          % Carrier Frequency
t=0:1/Fs:1;                     % define evaluation time
signal=sin(2*pi*Fc*t);          % Sample signal waveform
SNR=3;                         % SNR 3 dB will be added to signal 

scaledSignal = std(signal)/std(signal)*(sqrt(10^(SNR/10)))*signal;

subplot(211); plot (signal)
subplot(212); plot(scaledSignal)

% alternatively you can what Olli want to suggest
x2= signal.* 10^(3/20);

Both plot and method give the same result

  • $\begingroup$ Isn't this part std(signal)/std(signal) redundant? $\endgroup$
    – Vass
    Jun 16, 2020 at 15:17
  • $\begingroup$ and shouldn't the 10^(SNR/10) be 10^(SNR/20)? $\endgroup$
    – Vass
    Jun 16, 2020 at 16:23
  • $\begingroup$ Yes, the use of std is redundant, but 10^(SNR/10) is correct. I don't know why. $\endgroup$
    – sugab
    Jun 17, 2020 at 1:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.