MATLAB Answers

Peak to average power ratio (PAPR)

85 views (last 30 days)
Mar
Mar on 28 Feb 2012
Edited: Yasir Ahmed on 22 Jan 2021
Hello,
Given a predefined PAPR (e.g. 10dB) and a signal, I want to generate a noisy signal so that
PAPR = 10*log10(PowerPeakAmplitude/PowerAverage):
This is what I've tried so far:
function noisy_signal = addNoiseToSignal(signal,papr)
% calculate the power of the peak amplitude peakPowerValue = max(signal.^2);
% signal length N = length(signal);
% calculate the average power of the noise noisepower = peakPowerValue /(10^(papr/10));
% generate noise noisesignal = randn(1,length(signal))*sqrt(noisepower);
% create noisy signal noisy_signal = signal + noisesignal;
The problem is that when I can't get a correct signal with the given noisepower.
Mar

  1 Comment

Yasir Ahmed
Yasir Ahmed on 22 Jan 2021
PAPR=max((abs(x)).^2)/mean((abs(x)).^2)

Sign in to comment.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!