上题中无法执行赋值,因为左侧和右侧的元素数目不同。 出错 gujixingdao (第 85 行) A_error(ii) = abs(A_hat - A); % 幅值误差
时间: 2024-03-14 20:42:57 浏览: 50
matlab有些代码不运行-psi_fix:在VHDL(用于FPGA)和python(用于仿真)中具有bittrue实现的定点库
非常抱歉,这是我的疏忽。在直接法的代码中,我应该使用与参数法相同的`r(:,ii)`作为信道输入,而不是生成的噪声`r_n`。下面是更正后的代码:
```matlab
% 直接法估计信道幅值和相位
A = abs(h); % 幅值
phi = angle(h); % 相位
% 误差
A_error = zeros(length(SNR),1); % 幅值误差
phi_error = zeros(length(SNR),1); % 相位误差
for ii = 1:length(SNR)
h_hat = r(:,ii)\s; % 直接法估计信道
A_error(ii) = abs(abs(h_hat) - A); % 幅值误差
phi_error(ii) = abs(angle(h_hat) - phi); % 相位误差
end
```
感谢您的指正,如果还有问题,请随时提出。
阅读全文