資源簡介
SC-FDMA PAPR matlab 實(shí)現(xiàn),經(jīng)過仿真測(cè)試,完全正確。
代碼片段和文件信息
%=============================================
%This?is?the?PAPR?simulator?for?SC-FDMA.
%=============================================
function?paprSCFDMA()
dataType=‘16QAM‘;
totalSubcarriers=512;
numSymbols=16;
u=25;
A=0.03;
Q=totalSubcarriers/numSymbols;
Q_tilda=31;
subcarrierMapping=‘LFDMA‘;
pulseShaping=1;
filterType=‘rc‘;
rolloffFactor=0.0999999999;
%rolloffFactor=0.4;
Fs=5e6;
Ts=1/Fs;
Nos=4;
if?filterType==‘rc‘psFilter=rcPulse(TsNosrolloffFactor);
elseif?filterType==‘rr‘psFilter=rrcPulse(TsNosrolloffFactor);
end
numRuns=1e2;
papr=zeros(1numRuns);
for?n=1:numRuns
????if?dataType==‘Q-PSK‘
????tmp=round(rand(numSymbols2));
????????tmp=tmp*2-1;
????????data=(tmp(1:)+j*tmp(2:))/sqrt(2);
????elseif?dataType==‘16QAM‘
????????dataSet=[-3+3i?-1+3i?1+3i?3+3i?...
????????????-3+i?-1+i?1+i?3+i?...
????????????-3-i?-1-i?1-i?3-i?...
????????????-3-3i?-1-3i?1-3i?3-3i];
????????dataSet=dataSet/sqrt(mean(abs(dataSet).^2));
????????tmp=ceil(rand(1numSymbols)*16);
????????for?k=1:numSymbols
????????????if?tmp(k)==0
????????????????tmp(k)=1;
????????????end
????????????data(k)=dataSet(tmp(k));
????????end
????????data=data.‘;
????end
????
????X=fft(data);
????
????Y=zeros(1totalSubcarriers);
????if?subcarrierMapping==‘IFDMA‘
????????Y(1:Q:totalSubcarriers)=X;
????elseif?subcarrierMapping==‘LFDMA‘
????????Y(1:numSymbols)=X;
????elseif?subcarrierMapping==‘DFDMA‘
????????Y(1:Q_tilda:Q_tilda*numSymbols)=X;
????end
????
????
????y=ifft(Y);
????
????if?pulseShaping==1
?
- 上一篇:多通道濾波器組
- 下一篇:分?jǐn)?shù)延遲FIR濾波器Matlab程序
評(píng)論
共有 條評(píng)論