一、实验目的
提高学习的能力
培养发现问题、解决问题和分析问题的能力 学习Matlab的使用
掌握基带数字传输系统的仿真方法 熟悉基带传输系统的基本结构 掌握带限信道的仿真以及性能分析
通过观测眼图和星座图判断信号的传输质量
二、实验要求
尽量不调用Matlab函数
充分理解给定的参考程序,为每条语句加注释 实验报告上交电子版
概括、总结分析实验结果、数据、图表,完整的实验报告,包括:原理、仿真、结论。
单人单组
三、实验原理
1.数字通信系统模型 信源 信 源 编码器 信道 编码器 数字 调制器 数字信源 噪声 信道 信宿 信 源 译码器 数字信宿 信道 译码器 数字 解调器 编码信道 数字通信系统模型
2.数字基带传输系统模型
H()GT()C()GR() r(t)angR(tnTs)nR(t)
n
1
gR(t)H()ejwtd2
3.升余弦滚降滤波器
(1)T,|f| 2T(1) T1(1)(1)TH(f)1cos(|f|),|f| 2T2T2T2 (1)0,|f|
2T
sint/Tcost/T(2)
h(t) t/T142t2/T2
4.最佳基带系统
无码间干扰
输出信噪比最大(误比特率最小) 接收滤波器与接收信号脉冲波形匹配 发送滤波器与接收滤波器满足 H(f)GT(f)G R(f)GT(f)GR(f) H(f) 频带有限
5.发送滤波器的数字实现
滚降系数为1时,系统最大带宽为1/T(Hz)
14FS 时域抽样频率 T T
S设滤波器的长度为N,则频域以 f F S 对其抽样 / N幅频响应和线性相位
(N1)/2mFSN1
H(mf)H()gT(n)ej2mn/N,n0,1,,N2 n(N1)/2 m0,1,...,(N1)/2冲激响应 (N1)/24mj2mn/NN1 gT(n)H()e,n0,1,,NT2m(N1)/2
四、实验内容
构建基带传输系统
二进制信源、发送滤波器、AWGN信道(高斯噪声)、接收滤波器、抽样、判决
滚降系数与滚降系统的带宽和衰减 码间干扰对系统传输的影响
码间干扰与加性噪声对系统传输的影响
五、实验程序编写:(注:%后加汉字的为注释)
◆ 以下为需要调用的子函数:
①function [s,m,S,t]=DNRZ(n,T_R) %产生源序列, 即双极性码 s=rand(1,n); m=0:n-1; p=1; for i=1:n
if s(i)>=0.5 s(i)=1; else s(i)=-1; end
S(p:p+T_R*4-1)=[s(i) zeros(1,T_R*4-1)]; p=p+T_R*4; end
t=0:1:length(S)-1;
②function [y]=xrc(f,alpha,T) if(abs(f)>((1+alpha)/(2*T))) y=0;
elseif(abs(f)>((1-alpha)/(2*T)))
y=(T/2)*(1+cos((pi*T/alpha)*(abs(f)-(1-alpha)/(2*T)))); else
y=T; end;
③function [g_T,h]=cos_filter(N,T,alpha) %产生平方根和非平方根升余弦滤波器函数 echo on
n=-(N-1)/2:(N-1)/2; for i=1:length(n) g_T(i)=0;
for m=-(N-1)/2:(N-1)/2
g_T(i)=g_T(i)+sqrt(xrc(4*m/(N*T),alpha,T)).*exp(j*2*pi*m*n(i)/N); echo off end; end; echo on
g_T=real(g_T);
[G_T,W]=freqz(g_T,1);
magG_T_in_dB=20*log10(abs(G_T)/max(abs(G_T))); g_R=g_T;
h=conv(g_R,g_T);
④function [gsrv1,gsrv2]=gngauss(m,sgma) %产生一个长度的高斯噪声 if nargin==0
m=0;sgma=1; elseif nargin==1 sgma=m;m=0; end u=rand;
z=sgma*(sqrt(2*log(1/(1-u)))); u=rand;
gsrv1=m+z*cos(2*pi*u); gsrv2=m+z*sin(2*pi*u); end
⑤function [gauss_noise]=gauss(n,sgma) %产生与发送序列长度相等的噪声序列 for i=1:n
[gsrv1,gsrv2]=gngauss(sgma); gauss_noise(i)=gsrv1; end
⑥function[y,ny]=sigshift(x,m,n0) %序列时域搬移函数 ny=m+n0; y=x;
⑦function [y,n]=sigadd(x1,n1,x2,n2) %两序列相加函数 n=min(min(n1),min(n2)):max(max(n1),max(n2)); y1=zeros(1,length(n));y2=y1;
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; y=y1+y2;
⑧function result_error=total_error(s,r) %求误码个数函数 L=length(s); result_error=0; for i=1:L
if s(i)~=r(i)
result_error=result_error+1; end end
◆以下为主程序:
T=1;n=1000; %源序列长度为1000 Rb=1/T;T_R=1/Rb; % Rb为码元速率
[s,m,S,t]=DNRZ(n,T_R); %产生源序列,s:n长序列;S:每一个T内插入3个0。 %subplot(3,1,1);stem(m(1:100),s(1:100)) %画出源序列波形。(图1) subplot(2,1,1);stem(m(1:100),s(1:100)) %画出源序列波形。(图2) title('source sequence')
N=31;alpha=0.5;
[g_T,h]=cos_filter(N,T,alpha); %产生平方根和非平方根升余弦滤波器,g_T为平方根滤波器;
h非平方根滤波器。
nh=0:2*N-2;
[H,w]=freqz(h,1); %求h的频域变换。
magH=abs(H);angH=angle(H);%求h的幅频响应和相频响应。 %subplot(3,1,1);plot(nh,h) %画升余弦滤波器时域波形 (图6) xlabel('t');ylabel('h(t)')
%subplot(3,1,2);plot(w,magH) %画升余弦滤波器幅频特性 (图6) xlabel('w');ylabel('magH(w)')
%subplot(3,1,3);plot(w,angH) %画升余弦滤波器相频特性 (图6) xlabel('w');ylabel('angH(w)')
send=conv(S,h); %非匹配时,S通过滤波器后的输出 send=send/max(send); %归一化 %send
n_send=0:length(send)-1;
nsend=length(send); %求源序列经过非平方根滤波器后的长度
subplot(2,1,2);plot(n_send(1:500),send(1:500)) %画源序列经过非平方根滤波器后形 (图2)
xlabel('t');ylabel('transmitted sequence') title('transmitted sequence')
t=0:0.01:16;
%subplot(2,1,1) %(图3) for i=2:1:50
[eye,neye]=sigshift(send(i*16-1:(i+1)*16-2),n_send(i*16-1:(i+1)*16-2),-i*16); eyea=spline(neye,eye,t);
%plot(neye,eye);hold on %不用样调函数画不加噪声不匹配时的眼图。 %plot(t,eyea);hold on %用样调函数画不加噪声不匹配时的眼图。 end
%hold off
%title('eye fig non noise nmatch')
SNR=10; %信噪比赋值
sgma=sqrt(1/(2*10.^(SNR/10))); %求sgma
gsrv=gauss(nsend,sgma); %产生与发送序列相同长度的高斯噪声。 n_gsrv=0:length(gsrv)-1; %subplot(1,1,1) %(图5)
%stem(n_gsrv(1:100),gsrv(1:100))
[receive_g,n_g]=sigadd(send,n_send,gsrv,n_gsrv);%发送序列在信道中加入噪声。 %r_g
%subplot(2,1,2) %(图3) for i=2:1:50
[eye_g,neye_g]=sigshift(receive_g(i*16-1:(i+1)*16-2),n_g(i*16-1:(i+1)*16-2),-i*16); eyea_g=spline(neye_g,eye_g,t);
%plot(neye_g,eye_g);hold on %不用样调函数画加噪声不匹配时的眼图 %plot(t,eyea_g);hold on %用样调函数画加噪声不匹配时的眼图 end
%hold off
%title('eye fig noise nmatch')
%subplot(2,2,1); %(图4) for i=0:1:999
y(i+1)=send(31+i*T_R*4); x=zeros(1,1000); end
%plot(x,y,'*') %画发送端星座图(加噪声不匹配时) %title('star fig noise nmatch transmitter')
%subplot(2,2,3); %(图4) for i=0:1:999
y_g(i+1)=receive_g(31+i*T_R*4);
x_g(i+1)=gsrv(i+1); if y_g(i+1)>=0
result_nmatch(i+1)=1; else
result_nmatch(i+1)=-1;%对接收序列抽样判决(加噪声不匹配时) end end
%plot(x_g,y_g,'*') %画接收端星座图(加噪声不匹配时) %title('star fig noise nmatch receiver')
%subplot(3,1,2);stem(m(1:100),result_nmatch(1:100)) %画抽样判决后的输出序列(加噪声不匹
配时)%(图1)
title('result sequence when nmatch')
error_nmatch=total_error(s,result_nmatch) %计算不匹配时误码数
send_match=conv(S,g_T); %源序列通过匹配滤波器 send_match=send_match/max(send_match); %归一化 n_send_match=0:length(send_match)-1; %计算其长度
%subplot(2,2,2); %(图4) for i=0:1:999
y(i+1)=send_match(16+i*T_R*4); x=zeros(1,1000); end
%plot(x,y,'*') %画发送端星座图(加噪声匹配时) %title('star fig noise match transmitter')
[receive_g_match,n_g_match]=sigadd(send_match,n_send_match,gsrv,n_gsrv); %发送序列经信
道加入噪声
receive_g_match=conv(receive_g_match,g_T); %经接收滤波器
receive_g_match=receive_g_match/max(receive_g_match); %归一化 %subplot(2,2,4); %(图4) for i=0:1:999
y_match(i+1)=receive_g_match(31+i*T_R*4); x_match(i+1)=gsrv(i+1); if y_match(i+1)>=0
result_match(i+1)=1;
else result_match(i+1)=-1; %对接收序列抽样判决(加噪声匹配时) end end
%plot(x_match,y_match,'*') %画接收端星座图(加噪声匹配时) %title('star fig noise match receiver')
%subplot(3,1,3);stem(m(1:100),result_match(1:100)) %画抽样判决后的输出序列(加噪声匹配
时) (图1)
title('result sequence when match')
error_match=total_error(s,result_match) %计算匹配时误码数 ◆以下为程序所得波形:
1.(1) 升余弦滤波器(非平方根)时域和频域波形,alpha=0.5
(2) 升余弦滤波器(平方根)时域和频域波形,alpha=1
(3) 升余弦滤波器(平方根)时域和频域波形,alpha=0.5
(4) 升余弦滤波器(平方根)时域和频域波形,alpha=0.1
2.发送序列及经过升余弦滤波器波形
3.信噪比不同时接收端的眼图(非匹配时) (1)Alpha=1, 信噪比为10dB, 码元速率为1/T,
(2)Alpha=0.5, 信噪比为10dB, 码元速率为1/T,
(3)Alpha=0.5, 信噪比为10dB, 码元速率为1/T,
4.加入噪声时在匹配和非匹配时的发送端和接收端星座图 (1)信噪比为10dB, 码元速率为1/T,
a)Alpha=1
b)Alpha=0.5
c)Alpha=0.1
(2) Alpha=0.8,码元速率为1/T,
a)信噪比为10dB
b)信噪比为5dB
c)信噪比为1dB
(3) Alpha=0.8, 信噪比为10dB a) 码元速率为2/T
b) 码元速率为0.5/T
5.发送序列以及匹配和非匹配时的抽样判决序列
1)信噪比为10dB, 码元速率为1/T,alpha=0.8时,在匹配和非匹配时误码率如下: error_nmatch = 0
error_match = 0
2)信噪比为5dB时, 码元速率为1/T,alpha=0.8时,在匹配和非匹配时误码率如下: error_nmatch = 12
error_match = 0
3)信噪比为1dB时, 码元速率为1/T,alpha=0.8时,在匹配和非匹配时误码率如下: error_nmatch = 94
error_match =
12
4) 信噪比为10dB, 码元速率为2/T,alpha=0.8时,在匹配和非匹配时误码率如下: error_nmatch = 159
error_match = 156
5) 信噪比为10dB, 码元速率为0.5/T,alpha=0.8时, 在匹配和非匹配时误码率如下: error_nmatch = 0
error_match = 0
六、实验结果分析
1. 在非匹配时,随着信噪比的增加,眼图的眼张开的越大,效果越好,星座图中抽样点越
集中,误码率越低,直至无误码。
2. 当信噪比一定时,匹配时的眼图要比非匹配时的眼图质量要好,星座图中点更集中。 3. 当码元速率增大时,误码率增加; 当码元速率减小时,无误码。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务