Find a row with that satisfy the condition to be transmitted as signal

2 views (last 30 days)
I am using Selective Mapping to reduce PAPR value and my problem is i cant seem to find the right way to extract the row with the lowest PAPR value to be transmitted as signal. This is my code. There is N row in the matrix and i want to extract the row that gives minimum papr1 value as sigmin.
A1 = randi([0 1],1,NUM_BIT1);
% QPSK MAPPING
F_SIG_NO_CP1 = 1-2*A1(1:2:end) + 1i*(1-2*A1(2:2:end));
%generate the phase sequence
b = randi([-1 1],N,FFT_LEN1);
% Elementwise Multiplication
mod_sig(1:N,:)=b.*F_SIG_NO_CP1;
% IFFT operation
T_qpsk_sig = ifft(mod_sig); % T stands for time domain
mibexp1=abs(T_qpsk_sig);
smibexp1=mibexp1.^2;
% Calculating PAPR for each of the N blocks
for i=1:N
papr1(i,1)=(max(smibexp1(i,:)))/(mean(smibexp1(i,:)));
end;
% select signal with minimum PAPR
sigmin = min(T_qpsk_sig);

Accepted Answer

Ganapathi Subramanian
Ganapathi Subramanian on 2 Mar 2023
It is my understanding that you are working on selective mapping to reduce PAPR and have uncertainty in extracting the signal with low PAPR.Please refer to the following code.
% select signal with minimum PAPR
[~,minpapridx]=min(papr1);
% minpapridx gives the index of minimum value in papr1
% papr1 is a N*1 matrix
sigmin=T_qpsk_sig(minpapridx,:);
For further information regarding min function refer this documentation

More Answers (0)

Community Treasure Hunt

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

Start Hunting!