PDA

查看完整版本 : [Simulink相关] 信道均衡算法程序运行不出来


lj_foolish
2009-06-20, 23:59
各位帮帮忙,我有点急。
(1)先设定一些相关参数:
K1=3; % 前馈滤波器抽头长度
K2=3; % 反馈滤波器抽头长度
N=K1+K2+1;
w=0.85; %遗忘因子
delta=0.02;
method=1; %数据部分权值更新方法:1:RLS方法进行更新;2:LMS算法进行更新,0:不进行更新
pathNum=4; % 多径数量
pathAmp=[1,sqrt(0.5),sqrt(0.25),sqrt(0.125)];
pathDelay=[0,1,2,3];
L=max(pathDelay);
fd=20 % 最大多谱勒频移
(2)程序仿真以跳频通信为背景,这里的跳速是每秒1000跳,每跳持续时间1毫秒,在每跳的数据中,前面是训练序列,后面是数据:
hoprate=1000;
Thop=1/hoprate;
Rs=200e3;
Ns=floor(Rs*Thop);
Nb=Ns*2;
Ntrain=30; % 训练序列长度
仿真时每次对一跳的数据进行均衡,统计多跳数据,得到符号错误概率(误码率):
t=[1:Ns]*(1/Rs);
time=300;
for k=1:time;
data0=randint(1,Nb);
symbol=qpskmod(data0);
[signalmp,signal1,chest1]=channel(symbol,pathNum,pathAmp,pathDelay,t,fd);
for i=1:length(snr);
signalall=awgn(signalmp,snr(i));
data=dferls(K1,K2,w,delta,symbol(1:Ntrain),signalall(1:Ns),method);
(3)检波,算符号错误概率,去除训练序列:
data1=qpskdemod(data);
error=~eq(data1,data0(2*Ntrain+1:2*(Ns-K1)));
errCount(1,i)=errCount(1,i)+sum(error);
ber=errCount*(1/time/(Ns-K1-Ntrain)/2);

就是这个程序,它不完整,麻烦各位帮帮忙。让他出现类似这样的图
http://photo2.bababian.com/upload1/20090620/475F07826954F6316BDC8E9AE1FFE30A_500.jpg