matlab索引超出数组元素的数目(4),索引超出数组元素的数目(4)怎么解决啊?

以下是我的源代码,运行的时候总是出现索引超出的错误

不知道问题出在哪了,有大佬会吗?求教!谢谢!

索引超出数组元素的数目(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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值