% 已知参数
fs = 44100; % 采样率
bw = 1; % 样本带宽
T = 0.2; % 样本时间
% 生成样本信号
t = 1:0.1:100; % 生成时间序列
f0 = 1000; % 单频信号频率
x = sin(2 * pi * f0 * t); % 生成单频信号
SNR=0;%信噪比
xn=awgn(x,SNR);
% 矢量水听器方位估计
theta = linspace(-90, 90, 180); % 方位角范围
L = length(theta); % 方位角数目
P = zeros(1, L); % 存储似然函数值
for k = 1:L
% 生成方向特性
d = exp(1i * 2 * pi * bw * sin(theta(k) / 180 * pi) / fs * (0:fs * T - 1));
% 计算似然函数
P(k) = abs(d .* xn).^2;
end
% 取最大似然估计值作为目标方位角
[~, idx] = max(P);
target_theta = theta(idx);
disp(['目标方位角估计值为:', num2str(target_theta), ' 度']);
Untitled
矩阵维度必须一致。
出错 Untitled (line 21)
P(k) = abs(d .* xn).^2;
应该怎么修改呢
看下d和xn的shape
不知道你这个问题是否已经解决, 如果还没有解决的话:%% MATERIAL PROPERTIES 材料属性
nelx=300;nely=100;volfrac=0.5;penal=3;rmin=2.1;ft=1;
E0 = 1;
Emin = 1e-9;
nu = 0.3;
Result
![]() | ![]() |
It.: 100 Obj.: 198.1180 Vol.: 0.500 ch.: 0.200
这两种滤波方式所得到的结果稍有不同,但他们最终的结果是一样的,我的猜测是,密度滤波的收敛速度更慢一点。