Aya2002
Advanced Member level 4
Hello Friends;
I need an answers from who faced this problem which is:
I have done a Selected Mapping Technique to reduce the PAPR for the OFDM system successfully using Hadamard codes as the phase rotating sequences. The problem not in my simulation that I got a bit error rate, it is inside Matlab itself,
the output from the FFT function contains some values that are very small such as 1.00000000000000000000000000000000343, this number can be considered as only 1, so , the problem is the matlab itself, see this real example:
------------------------------
clear all; close all; clc;
ml=16;
s=randi([0 1],1,ml)*2-1;
[parmin pscn ofdmn]=slm(s); %function to do the selected mapping and ifft
% parmin is the minimum PAPR
% pscn is the phasing sequence code number
% ofdmn is the OFDM symbol rotated by the pscn sequence
f=dslm(ofdmn,pscn);
[n r]=symerr(s,f);
n
minp=parmin
index=pscn
------------------------------------------------
Results:
n= 4
s = -1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1 1
f = -1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1 1
now, when I subtract f from s I got this result
>> s-f
ans =
Columns 1 through 6
-1.1102e-016 0 0 -1.1102e-016 0 0
Columns 7 through 12
0 0 1.1102e-016 -1.1102e-016 0 0
Columns 13 through 16
0 0 0 1.1102e-016
So, there are very small numbers that can be neglected, but the function symerr shows me really there are 4 different numbers.
now it is clear to you,
How to overcome this problem?
thank you very much
I need an answers from who faced this problem which is:
I have done a Selected Mapping Technique to reduce the PAPR for the OFDM system successfully using Hadamard codes as the phase rotating sequences. The problem not in my simulation that I got a bit error rate, it is inside Matlab itself,
the output from the FFT function contains some values that are very small such as 1.00000000000000000000000000000000343, this number can be considered as only 1, so , the problem is the matlab itself, see this real example:
------------------------------
clear all; close all; clc;
ml=16;
s=randi([0 1],1,ml)*2-1;
[parmin pscn ofdmn]=slm(s); %function to do the selected mapping and ifft
% parmin is the minimum PAPR
% pscn is the phasing sequence code number
% ofdmn is the OFDM symbol rotated by the pscn sequence
f=dslm(ofdmn,pscn);
[n r]=symerr(s,f);
n
minp=parmin
index=pscn
------------------------------------------------
Results:
n= 4
s = -1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1 1
f = -1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1 1
now, when I subtract f from s I got this result
>> s-f
ans =
Columns 1 through 6
-1.1102e-016 0 0 -1.1102e-016 0 0
Columns 7 through 12
0 0 1.1102e-016 -1.1102e-016 0 0
Columns 13 through 16
0 0 0 1.1102e-016
So, there are very small numbers that can be neglected, but the function symerr shows me really there are 4 different numbers.
now it is clear to you,
How to overcome this problem?
thank you very much