边功率谱密度N0 = 2?2 , 如计算出的平均比特能量为Eb , 则信噪比为
SNR =10 * log10 (Eb / N0 )。
4)根据接收滤波器的输出信号,设定判决电平,在位同步理想情况下,抽样判决后
得到接收到的数字信息序列波形。
实验二系统程序:
1、(采用匹配滤波器)
%输入符号序列,形成发送信号 M=8;%符号数 N=32;%抽样点数 L=4;
T0=1;Ts=L*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(5,2,1),stem(x0,'b.'); axis([0 M+1 0 1.5]) title('输入符号序列');
n=0:L*M-1;
x1=zeros(1,L*M); for i=1:M
x1(L*i-(L-1))=x(i); end
subplot(522);stem(n,x1,'.'); title('发送信号');
%根升余弦的发送滤波器 alpha=1;
h=sqrtsyx(alpha,N);
subplot(523);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(524);plot(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); %信噪比 SNR=20; %产生噪声
sgma=sqrt(Eb/(10^(SNR/10))/2); P=M*fs/Rs+N-1;
n0=gnguass(0,sgma,P); t0=0:P-1;
subplot(525);plot(t0,n0);
axis([0 P-1 -12*sgma 12*sgma]) title('噪声');
%产生接收滤波器输入信号 y1=y+n0;
subplot(526);plot(n,y1);
axis([-T/2,L*M-1-T/2+N-1,1.1*min(y1),1.1*max(y1)]); title('接收滤波器输入信号');
%根升余弦的接收滤波器
subplot(527);stem(t,h,'.');
axis([-T/2,T/2,1.1*min(h),1.1*max(h)]);
title('平方根升余弦接收滤波器的时域冲激响应');
%接收滤波器输出波形 r=conv(y1,h);
n=-T:L*M-1-T+2*(N-1);
subplot(528);stem(n,r,'.')
axis([-T,L*M-1-T+2*(N-1),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(5,2,9),stem(n1,sam,'.');
title('抽样值') b=zeros(1,M); for i=1:M
if sam(i)>0 b(i)=1; end end
subplot(5,2,10),stem(b,'b.'); axis([0 M+1 0 1.5]) title('判决结果'); %眼图
eyediagram(y,L,1,0);
title('发送滤波器输出信号眼图'); eyediagram(r,L,1,0);
title('接收滤波器输出信号眼图');
%星座图
scatterplot(y,L,0,'r+');
title('发送滤波器输出信号星座图'); scatterplot(r,L,0,'r+');
title('接收滤波器输出信号星座图'); 实验二仿真结果: