您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页基带数字传输系统实验及代码

基带数字传输系统实验及代码

来源:爱go旅游网
实验一 数字基带传输实验

一、实验目的

      

提高学习的能力

培养发现问题、解决问题和分析问题的能力 学习Matlab的使用

掌握基带数字传输系统的仿真方法 熟悉基带传输系统的基本结构 掌握带限信道的仿真以及性能分析

通过观测眼图和星座图判断信号的传输质量

二、实验要求

 尽量不调用Matlab函数

 充分理解给定的参考程序,为每条语句加注释  实验报告上交电子版

概括、总结分析实验结果、数据、图表,完整的实验报告,包括:原理、仿真、结论。

 单人单组

三、实验原理

1.数字通信系统模型 信源 信 源 编码器 信道 编码器 数字 调制器 数字信源 噪声 信道 信宿 信 源 译码器 数字信宿 信道 译码器 数字 解调器 编码信道 数字通信系统模型

2.数字基带传输系统模型

H()GT()C()GR()  r(t)angR(tnTs)nR(t)

n

1

gR(t)H()ejwtd2

3.升余弦滚降滤波器

(1)T,|f| 2T(1) T1(1)(1)TH(f)1cos(|f|),|f| 2T2T2T2 (1)0,|f|

2T

sint/Tcost/T(2)

h(t) t/T142t2/T2

4.最佳基带系统

   

无码间干扰

输出信噪比最大(误比特率最小) 接收滤波器与接收信号脉冲波形匹配 发送滤波器与接收滤波器满足 H(f)GT(f)G R(f)GT(f)GR(f) H(f) 频带有限

5.发送滤波器的数字实现

滚降系数为1时,系统最大带宽为1/T(Hz)

14FS 时域抽样频率 T  T

S设滤波器的长度为N,则频域以  f  F S 对其抽样 / N幅频响应和线性相位

(N1)/2mFSN1

H(mf)H()gT(n)ej2mn/N,n0,1,,N2 n(N1)/2 m0,1,...,(N1)/2冲激响应 (N1)/24mj2mn/NN1 gT(n)H()e,n0,1,,NT2m(N1)/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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务