以下是我的源代码,运行的时候总是出现索引超出的错误
不知道问题出在哪了,有大佬会吗?求教!谢谢!
索引超出数组元素的数目(4)。
出错 PTS_PAPR_Simulation (line 44)
A(v,(1+(v-1)*K/4):1:v*K/4) = X((1+(v-1)*K/4):1:v*K/4);
K = 128; % SIZE OF FFT
V = 4; % NUMBER OF SELECTIONS
QPSK_Set = [1 -1 j -j];
Phase_Set = [1 -1]; % W = 2
% 产生的序列个数 = W ^(V-1) = 8
% 针对QPSK共有16种相位变化组合
Choose = [1 1 1 1; 1 1 1 2; 1 1 2 1; 1 2 1 1; 2 1 1 1;...
1 1 2 2; 1 2 1 2; 1 2 2 1; 2 2 1 1; 2 1 2 1; 2 1 1 2;...
2 2 2 1; 2 2 1 2; 2 1 2 2; 1 2 2 2; 2 2 2 2];
Choose_Len = 16;
MAX_SYMBOLS = 1e4;
PAPR_Orignal = zeros(1,MAX_SYMBOLS);
PAPR_PTS = zeros(1,MAX_SYMBOLS);
for nSymbol=1:MAX_SYMBOLS
Index = randi(1,K,length(QPSK_Set))+1;
X = QPSK_Set(Index(1,:)); % Orignal Frequency domain signal
x = ifft(X,[],2); % Time domain signal
Signal_Power = abs(x.^2);
Peak_Power = max(Signal_Power,[],2);
Mean_Power = mean(Signal_Power,2);
PAPR_Orignal(nSymbol) = 10*log10(Peak_Power./Mean_Power);
% PTS (交织分割/相邻分割)
A = zeros(V,K);
for v=1:V
% A(v,v:V:K) = X(v:V:K);
A(v,(1+(v-1)*K/4):1:v*K/4) = X((1+(v-1)*K/4):1:v*K/4);
end
a = ifft(A,[],2);
% 门限()
min_value = 10;