又出现一个新的错误 矩阵维度必须一致。 出错 tempgpt (line 37) fake_signal(j,:) = fake_signal(j,:) .* exp(-1j*4*pi*fc*(tau+j/Fs)); % 生成虚假信号
时间: 2024-03-06 10:50:43 浏览: 87
这个错误可能是因为 `fake_signal` 和 `exp(-1j*4*pi*fc*(tau+j/Fs))` 的维度不匹配导致的。你可以将 `fake_signal` 的维度改为 `[N_samples, length(t)]`,以匹配 `exp(-1j*4*pi*fc*(tau+j/Fs))` 的维度,如下所示:
```matlab
% 添加虚假目标信息
for i = 1:num_fake_targets
r = sqrt((fake_targets_pos(i,:)-R_max).^2 + (fake_targets_pos(i,:)*2).^2); % 目标距离
tau = 2*r/physconst('LightSpeed'); % 往返时间
fake_signal = repmat(sweep, N_samples, 1); % 修改此处
for j = 1:N_samples
fake_signal(j,:) = fake_signal(j,:) .* exp(-1j*4*pi*fc*(tau+j/Fs)); % 生成虚假信号
end
rx_signal = rx_signal + fake_targets_rcs(i)*fake_signal; % 添加虚假信号
end
```
这里使用 `repmat` 函数将 `sweep` 重复生成为一个大小为 `[N_samples, length(t)]` 的矩阵,以便于后续的运算。同时,修改了内层的循环,将 `fake_signal(j,:)` 替换为 `fake_signal(j,:)`,以保证维度一致。
阅读全文