liulilan1988 发表于 2010-5-23 10:59

请大家帮忙看看这个程序应该怎么改错

%LMS
clear all; close all; clc;
f1=0; f2=0; f3=2; f4=130;
global f0; f0=100e6;
d1=60*pi/180; d2=-60*pi/180; d3=-40*pi/180; d4=20*pi/180;
SP=1000;%采样点数
N=16;%阵元数
A=';%A为阵列
Ts=1/(300e3);%采样率300kHz
y1=50*Ts; y2=100*Ts; y3=120*Ts; y4=200*Ts;
t=linspace(Ts,SP*Ts,SP);
Ps4=0; K=200;
%w=zeros(N,K);
for n=1:SP
   S1(1,n)=s(t(1,n)-y1)*exp(-j*2*pi*f1*t(1,n));%直达波
   S2(1,n)=s(t(1,n)-y2)*exp(-j*2*pi*f2*t(1,n));%地反射
   S3(1,n)=s(t(1,n)-y3)*exp(-j*2*pi*f3*t(1,n));%地物反射
   S4(1,n)=s(t(1,n)-y4)*exp(-j*2*pi*f4*t(1,n));%目标反射
   Ps4=Ps4+(abs(S4(1,n)))^2;
end
Ps=N^2*Ps4/SP; S=;
M=;%幅度
M=diag(M);
SNR=2;

Pn=Ps/(10^(N*SNR/10));%噪声功率
Wc=zeros(N,200); e=zeros(SP,1); y=zeros(SP,1);
S1=1e5*S1;
for i=1:200
noise=wgn(N,SP,10*log10(Pn),'complex');
X=A*M*S+noise;
    %d=zeros(1,SP);
    w1=zeros(N,1); y(1)=w1'*X(:,1); e(1)=S1(:,1)-y(1);
for n=2:SP
   w1=w1+0.00000000000005*X(:,n-1)*conj(e(n-1));
   y(n)=w1'*X(:,n); e(n)=S1(1,n)-y(n);
end
Wc(:,i)=w1;
%   figure; plot(1:SP,abs(e));title('error');
end
Wc=sum(Wc,2)/200;%求均值
Y=Wc'*X; cc=0;
for d=-pi/2:0.01:pi/2
    cc=cc+1;
A1(:,cc)=.';
y_d(1,cc)=Wc'*A1(:,cc);
end
d=-pi/2:0.01:pi/2; d=d.*(180/pi);
subplot(121); plot(d,10*log10(abs(y_d).^2)); grid on;
title('阵列输出功率增益方向图'); xlabel('到达角(deg)'); ylabel('阵列输出功率增益(dB)');
subplot(122); plot(d,abs(y_d)); grid on;
title('阵列输出幅度增益方向图'); xlabel('到达角(deg)'); ylabel('阵列输出幅度增益(dB)');

[ 本帖最后由 ChaChing 于 2010-5-23 20:49 编辑 ]

yufeng 发表于 2010-5-24 10:03

什么错误 说明下

ChaChing 发表于 2010-5-24 11:41

注意下, 本版规则:lol
6) 求助完整格式:出错代码和出错提示

帮LZ补上错误讯息!
??? Undefined command/function 's'.
Error in ==> zzzz at 14
   S1(1,n)=s(t(1,n)-y1)*exp(-j*2*pi*f1*t(1,n));%%直达波

s是什么? 之前未定点!
页: [1]
查看完整版本: 请大家帮忙看看这个程序应该怎么改错