Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-06-20
年龄: 37
帖子: 1
声望力: 0 ![]() |
![]()
各位帮帮忙,我有点急。
(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); 就是这个程序,它不完整,麻烦各位帮帮忙。让他出现类似这样的图 ![]() |
![]() |
![]() |