写法1:range_mat = zeros(numFrame,numChirp,n_RX)
写法2:range_mat = zeros(N,numChirp*numFrame,n_RX);
对于循环
for xx = 1:numFrame
adc_radar_xxFrame = adc_radar(:,[1:numChirp]+numChirp*(xx-1),:);
range_win = hanning(numSample); %加海明窗
adc_radar_xxFrame_win = adc_radar_xxFrame(:,:,:).*range_win; % range-fft
range_mat(1:N,(1:numChirp)+(xx-1)*numChirp,:) = fft(adc_radar_xxFrame_win,N);
end
结果:写法1的执行时间为 13s,但是写法2的执行时间长达31s。
原因:写法1的变量与循环中变量的维度有出入,导致循环中的变量重新进行了初始化(应该是初始化为range_mat = [ ]之类)。