Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2011-05-25, 16:01   #2
fastjacksonmin
初级会员
 
fastjacksonmin 的头像
 
注册日期: 2011-05-21
年龄: 34
帖子: 3
声望力: 0
fastjacksonmin 正向着好的方向发展
默认 回复: 我是新手 哪位大侠能帮我看一下 我的程序为什么运行不了????

引用:
作者: 1050503053 查看帖子
isi=[0.28,1,0.28];%ISI信道参数
order=63;%滤波器阶数;
snr=30;%AWGN信道信噪比;
len =1000;%训练序列长度;
mu=0.02;%调整步长;
M=(order-1)/2;
N=len+length(isi)-1
e=zeros(1,N);
error=e;
out=zeros(1,N);%FIR滤波器输出
mumber=0;
for i=1:100
n=sign(rang(1,len)-0.5);%采用PN码作为训练序列
noise =randn(1,N) /10.^(snr/10);%加入AWGN
y=conv(isi,x)+ noise;
wk=zeros(1,order);  
for n =order:N-M+1%LMS算法
y1=y(n+M-1:-1:n-m-1); 
e(n)=x(n-2)-d1;
wk=wk+mu3e(n)3y1;
e(n)=103log10(ads(e(n)));
end
erro=error+e
end
error=error(order:N-M+1)/100;  
同学
有几点我运行的时候出的错误:
1. 103*log10(ads(e(n)))而不是103log10(ads(e(n)))
2. wk = wk + mu*3*e(n)*3*y1而不是wk=wk+mu3e(n)*3.*y1;
3. m没有定义 y1=y(n+M-1:-1:n-m-1);或者这里的m是指M?
4. 变量d1没有定义
5. 函数ads没有定义,或者你的意思是abs(绝对值)?
6. 有一些变量,比如x,之前似乎没有定义。因此之后也没法帮你调试了。

以下是我改的代码,可以运行,不过不知道是不是你想要的那一种。另外请注意改变量x,x应该是一个1*1000的vector。我随便写了一个上去。

%%%%%%%%%%%%%Start%%%%%%%%%%%%%%%%%
isi=[0.28,1,0.28];
order=63;
snr=30;
len =1000;
mu=0.02;
M=(order-1)/2;
N=len+length(isi)-1 ;
e=zeros(1,N);
error=e;
out=zeros(1,N);
mumber=0;
x = [1:1000]; % x is not defined, so I define it myself
for i=1:100
n=sign(range(1,len)-0.5);
noise =randn(1,N) /10.^(snr/10);
y=conv(isi,x)+ noise;
wk=zeros(1,order);
for n =order:N-M+1
y1=y(n+M-1:-1:n-M-1);% is this m actually M?
e(n)=x(n-2);%% what is d1 here?
wk=wk+mu*3*e(n)*3.*y1; % Remember to use * from time to time
e(n)=103*log10(abs(e(n)));% Remember to use * from time to time. and is "abs" what you want?
end
erro=error+e;
end
error=error(order:N-M+1)/100;
%%%%%%%%%%%End%%%%%%%%%%%%%%%%%%%%

add oil~
fastjacksonmin 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 16:51


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.