MATLAB运行时出现Undefined function 'awgn' for input arguments of type 'double'.0

dcebd7a0de6265b6ccae5ead692f1eab.pngpp11992016.05.08浏览236次分享举报

如题,无线传感器网络一个仿真,完整代码如下

clear;clc;close all

%超声波载频

f=30e3;

%采样频率

fs=4*f;

%快拍数目

N=4096;

%超声波传播速度

wavespeed=340;

%波长

wavelength=wavespeed/f;

%阵元间距

d=wavelength/2;

%两个来波到达角

angle(1)=30*pi/180;

angle(2)=70*pi/180;

aoa(1)=(2*pi*d/wavelength)*cos(angle(1));

aoa(2)=(2*pi*d/wavelength)*cos(angle(2));

%天线阵元个数

M=8;

for i=1:M

A(i,1)=exp(1i*(i-1)*aoa(1));

A(i,2)=exp(1i*(i-1)*aoa(2));

end

%产生两个来波的基带信号;

Twhole=N/fs;

t=0:1/fs:Twhole-1/fs;

%随机产生两个信号的初始相位

S(1,:)=cos(2*pi*f*t+2*pi*rand(1,1)-pi);

S(2,:)=cos(2*pi*f*t+2*pi*rand(1,1)-pi);

%无噪声天线端接收信号矩阵

X=A*S;

%加入噪声

SNR=10;

X=awgn(X,SNR,'measured');

%接收信号协方差矩阵

Rxx=X*X';

%角度搜索间隔

Nsearch=1000;

anglescale=0:pi/2/Nsearch:pi/2;

for i=1:length(anglescale)

for j=1:M

esa(j,1)=exp(1i*(j-1)*(2*pi*d/wavelength)*cos(anglescale(i)));

end

%mvdr method

pmvdr(i)=abs(1/(esa'*pinv(Rxx)*esa));

pbart(i)=abs(esa'*Rxx*esa/(esa'*esa));

end

subplot(2,1,1)

plot(anglescale*180/pi,20*log10(pmvdr))

xlabel('DOA/°')

ylabel('PSD')

legend('mvdr')

subplot(2,1,2)

plot(anglescale*180/pi,20*log10(pbart))

xlabel('DOA/°')

ylabel('PSD')

legend('bartlett')

在老师的电脑上运行成功,在我的电脑上就会出现Undefined function 'awgn' for input arguments of type 'double'.

Error in test_doa_estimate_without_music (line 35)

X=awgn(X,SNR,'measured');这种错误

很急啊!!求大神!!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐