subplot(3,2,1),stem(x0,'b.'); axis([0 M+1 0 1.5]) title('输入符号序列'); n=0:Tb*M-1;
x1=zeros(1,Tb*M); for i=1:M
x1(Tb*i-(Tb-1))=x(i); end
subplot(322);stem(n,x1,'.'); title('发送信号');
%升余弦的发送滤波器 alpha=1;
h=syx2(alpha,N);
subplot(323);stem(t,h,'.');
axis([-T/2,T/2,1.1*min(h),1.1*max(h)]); title('升余弦发送滤波器的时域冲激响应'); %发送滤波器输出 y=conv(x1,h);
n=-T/2:Tb*M-1-T/2+N-1; subplot(324);stem(n,y,'.')
axis([-T/2,Tb*M-1-T/2+N-1,1.1*min(y),1.1*max(y)]); title('发送滤波器输出波形'); %抽样判决
sam=zeros(1,M); for i=0:M-1
c=find(n==i*Ts); sam(i+1)=y(c); end
n1=0:M-1;
subplot(3,2,5),stem(n1,sam,'.'); title('抽样值') b=zeros(1,M); for i=1:M
if sam(i)>0 b(i)=1; end end
subplot(3,2,6),stem(b,'b.'); axis([0 M+1 0 1.5]) title('判决结果'); %眼图
eyediagram(y,L,1,0);
title('接收滤波器输出信号眼图');
不采用匹配滤波器Rb=4/5/Ts时仿真结果;
实验仿真分析:判决序列跟原始序列比在n=8处有明显的误判。
接受滤波器接收信号眼图
仿真分析:眼图眼睁得不大,有明显码间干扰。
实验四:
传输1000个随机的二进制比特,比特速率Rb =1/Ts,信噪比分别取1dB、3dB、5dB 时,得到相应的恢复数字信息序列,基带系统分别为匹配滤波器形式和非匹配滤波器形式、
滚降系数分别为0.3、0.8,画出发送数字信息序列和接收数字信息序列的星座图,根据星
座图判断信息传输质量。讨论信噪比、匹配滤波器和滚降系数对系统信息传输质量的影响。
严格说,系统的传输质量(可靠性)应用误比特率来衡量,可以采用Monte Carlo 仿真实
现,在下面实验中进行。
1、采用不匹配的滤波器方式下的信噪比分别取1dB、3dB、5dB for SNR=1:2:5 figure;
%输入符号序列,形成发送信号 M=8;%符号数 k=4;
N=M*k;%抽样点数 T0=1;Ts=k*T0; Rs=1/Ts;
fs=1/T0;%抽样频率 Bs=fs/2;%折叠频率 T=N/fs;
t=-T/2+[0:N-1]/fs; f=-Bs+[0:N-1]/T;
x=1-2*(rand(1,M)>0.5); x0=x>0; n=0:M-1;
subplot(4,2,1),stem(x0,'b.'); axis([0 M+1 0 1.5]) title('输入符号序列');
n=0:k*M-1;
x1=zeros(1,k*M); for i=1:M
x1(k*i-(k-1))=x(i); end
subplot(4,2,2);stem(n,x1,'.'); title('发送信号');
%升余弦的发送滤波器 alpha=1;
h=syx2(alpha,N);
subplot(423);stem(t,h,'.');
axis([-T/2,T/2,1.1*min(h),1.1*max(h)]); title('升余弦发送滤波器的时域冲激响应');
%发送滤波器输出 y=conv(x1,h);
n=-T/2:L*M-1-T/2+N-1;
subplot(424);stem(n,y,'.')
axis([-T/2,L*M-1-T/2+N-1,1.1*min(y),1.1*max(y)]); title('发送滤波器输出波形');
%计算平均每比特功率 Eb=0;
for i=1:length(y)
Eb=Eb+abs(y(i))*abs(y(i)); end
Eb=Eb/(M*fs/Rs); %信噪比
%产生噪声
sgma=sqrt(Eb/(10^(SNR/10))/2); P=M*fs/Rs+N-1;
n0=gnguass2(0,sgma,P); t=0:P-1;
subplot(425);plot(t,n0);
axis([0 P-1 -12*sgma 12*sgma]) title('噪声');
%形成接收信号 r=y+n0;
subplot(426);plot(n,r);
axis([-(N-1)/2,k*M-1+(N-1)/2,1.1*min(r),1.1*max(r)]); title('接收信号');
%抽样判决
sam=zeros(1,M);
for i=0:M-1
c=find(n==i*fs/Rs); sam(i+1)=r(c); end
n1=0:M-1;
subplot(4,2,7),stem(n1,sam,'.');
title('抽样值') b=zeros(1,M); for i=1:M
if sam(i)>0 b(i)=1; end end
subplot(4,2,8),stem(b,'b.'); axis([0 M+1 0 1.5]) title('判决结果'); %星座图
scatterplot(y,k,0,'r+');
title('发送滤波器输出信号星座图'); scatterplot(r,k,0,'r+');
title('接收滤波器输出信号星座图'); end
仿真结果;信噪比取1dB