dt=Ts/L; %时域采样间隔 %频域采样间隔 %截短时间 %系统带宽
df=1/(N*dt); T=N*dt;
Bs=N*df/2;
Rt=input('请输入占空比:') if isempty(Rt), Rt=0.5; end t=linspace(-T/2,T/2,N);%时域横坐标 f=linspace(-Bs,Bs,N)+eps; %频域横坐标
alpha=0.5; %最佳基带系统 hr1=sin(pi*t/Ts)./(pi*t/Ts); tao=Ts/2;
cf=1-0.5*exp(-j*2*pi*f*tao) %加多径
hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2); hr=hr1.*hr2; %升余弦滚降
HR=abs(cf.*t2f(hr)); %取模是为了忽略时延 GT=sqrt(HR) GR=GT;
EP=zeros(size(f)); EPO=EP;
b_n=10^(50/10); ?/N0 in dB ne=1/b_n; %信道的噪声谱密度 sita=ne*Bs; %信道中噪声功率
n_c=sqrt(sita)*randn(size(t)); %信道噪声 for j=1:100
a=round(rand(1,M)); %产生M个取值0,1等概的随机码 s=zeros(1,N); %产生一个N个元素的零序列 for i=1:Rt*L
s(i+[0:M-1]*L)=a;%产生单极性归零码
end
S=t2f(s); smmm=f2t(GR.*S) ; sm=smmm+n_c; SM=t2f(sm); ST=SM.*GT; st=real(f2t(ST));
PO=S.*conj(S)/T; %功率谱 EPO=(EPO*(j-1)+PO)/j;%累计平均 F=30+10*log10(EPO+eps);
%加eps以避免除以零
P=ST.*conj(ST)/T; %功率谱 EP=(EP*(j-1)+P)/j; %累计平均 Ff=30+10*log10(EP+eps); end figure(1)
set (1,'position',[30,100,450,300]);%设定窗口位置及大小 figure(2)
set(2,'position',[530,100,450,300]); %设定窗口位置及大小 figure(3)
set (3,'position',[30,150,450,300]);%设定窗口位置及大小 figure(4)
set (4,'position',[530,150,450,300]);%设定窗口位置及大小 figure(5)
set (5,'position',[530,200,450,300]);%设定窗口位置及大小 figure(6)
set (6,'position',[30,200,450,300]);
figure (1) %接收信号的功率谱 plot(f,Ff,'r'); grid
%加eps以避免除以零
axis([-7,+7,-50,+50])
xlabel('f(MHZ)'); ylabel('Pso(f)(MHZ)') title('接收信号功率谱')
figure(2)%输入波形和输出波形的比较 hold on plot(t,st,'g') plot(t,s,'r');grid axis([-4,+4,-1.5,+1.5])
xlabel('t(us)');ylabel('s(t)(V)') title('输入波形和输出波形的比较')
figure (3) %输入信号功率谱 plot(f,F,'g'); grid axis([-7,+7,-50,+50])
xlabel('f(MHZ)'); ylabel('Psi(f)(MHZ)') title('输入信号功率谱')
figure(4) %输出信号的眼图 hold on
tt=[0:dt:4*L*dt]; for jj=1:4*L:N-4*L plot(tt,st(jj:jj+4*L)); title('输出信号的眼图') end
figure(5) %输入信号的眼图 hold on
tt=[0:dt:4*L*dt]; for jj=1:4*L:N-4*L plot(tt,smmm(jj:jj+4*L));
title('输入信号的眼图') end
for loop1=1:10
Eb_N0(loop1)=(loop1-1); ?/N0 in dB eb_n0(loop1)=10^(Eb_N0(loop1)/10); Eb=1;
n0=Eb/eb_n0(loop1);%信道的噪声谱密度 sita=n0*Bs; %信道中噪声功率 n_err=0; %误码计数
for loop2=1:8 %loop2越大,统计效果越好 b=sign(randn(1,M));
%码元矢量
imp=zeros(1,N); %产生冲激序列 imp(L/2:L:N)=b/dt; R=t2f(imp);
n_ch=sqrt(sita)*randn(size(t)); %信道噪声 nr=real(f2t(t2f(n_ch).*GR)); %输出噪声 sr=real(f2t(R.*HR))+nr; %接收信号 y=sr(L/2:L:N); %取样
aa=sign(y); %判决 n_err=n_err+length(find(aa~=b)); end
Pe(loop1)=n_err/(M*loop2);%相当于对M×loop2个码元进行统计 figure(6) %画理论和实际的误码率曲线 semilogy(Eb_N0,Pe,'r'); eb_n0=10.^(Eb_N0/10); hold on
semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0))); axis([0,9,1e-4,1]) xlabel('Eb/N0') ylabel('Pe')
title('理论和实际的误码率曲线') end 仿真图
接收信号功率谱
输入波形和输出波形的比较
输入信号功率谱
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库通原实验软件报告(6)在线全文阅读。
相关推荐: