gusucode.com > 自适应信号的估计与处理,计算通信系统的误码率matlab源码程序 > 自适应信号的估计与处理,计算通信系统的误码率matlab源码程序/ser.m
function ser=ser(flag,noise,Z,T) step=0.01; h_a=[0.389 1.000 0.389]; h_b=[0.407 0.815 0.407]; h_c=[0.04 -0.05 0.07 -0.21 -0.5 0.72 0.36 0.00 0.21 0.03 0.07]; if flag==2 h=h_b; order=31; elseif flag==3 h=h_c; order=31; else h=h_a; order=11; end M=(order-1)/2; w=[]; for i=1:T N=Z; % s=bnl(N); wgn1=wgn(Z-1+size(h,2),1,10*log10(noise)); u=conv(s,h)+wgn1; u=u(1:Z,:); d=[0;s(1:Z-1,:)]; [dn1,e1,wn]=LMS(u,d,order,step); w=[w wn]; end w0=mean(w,2); N=Z; s=bnl(N); wgn1=wgn(Z-1+size(h,2),1,10*log10(noise)); u=conv(s,h)+wgn1; u=u(1:Z,:); y=[]; u=[zeros(M,1);u;zeros(M,1)]; for n =1:N y(n) = w0' * u(n+order-1:-1:n); end %---计算误码率 for i=1:N if y(i)>0 y(i)=1; else y(i)=-1; end end ser=sum(abs(s-y)/2)/Z; end