哈工程通信原理软件仿真实验报告.docx

上传人:b****2 文档编号:17873016 上传时间:2023-08-04 格式:DOCX 页数:27 大小:320.15KB
下载 相关 举报
哈工程通信原理软件仿真实验报告.docx_第1页
第1页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第2页
第2页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第3页
第3页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第4页
第4页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第5页
第5页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第6页
第6页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第7页
第7页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第8页
第8页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第9页
第9页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第10页
第10页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第11页
第11页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第12页
第12页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第13页
第13页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第14页
第14页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第15页
第15页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第16页
第16页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第17页
第17页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第18页
第18页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第19页
第19页 / 共27页
哈工程通信原理软件仿真实验报告.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

哈工程通信原理软件仿真实验报告.docx

《哈工程通信原理软件仿真实验报告.docx》由会员分享,可在线阅读,更多相关《哈工程通信原理软件仿真实验报告.docx(27页珍藏版)》请在冰点文库上搜索。

哈工程通信原理软件仿真实验报告.docx

哈工程通信原理软件仿真实验报告

实验报告

 

课程名称

通信原理

实验项目名称

数字基带信号MATLAB软件仿真实验

数字调制解调MATLAB软件仿真实验

实验类型

实验学时

班级

学号

姓名

指导教师

实验室名称

实验时间

实验成绩

实验原理

(1分)

实验步骤

(2分)

实验结果

(2分)

总成绩

教师签字

日期

 

哈尔滨工程大学教务处制

实验一基带码型仿真

(1)单、双极性归零码仿真

1、实验原理

1.1归零码

归零码,是信号电平在一个码元之内都要恢复到零的编码方式,它包括曼彻斯特编码和差分曼彻斯特编码两种编码方式。

1.2单、双极性归零码

对于传输数字信号来说,最常用的方法是用不同的电压电平来表示两个二进制数字,即数字信号由矩形脉冲组成。

A)单极性不归零码,无电压表示”0”,恒定正电压表示”1”,每个码元时间的中间点是采样时间,判决门限为半幅电平。

单极性归零码(RZ)即是以高电平和零电平分别表示二进制码1和0,而且在发送码1时高电平在整个码元期间T只持续一段时间τ,其余时间返回零电平.在单极性归零码中,τ/T称为占空比.单极性归零码的主要优点是可以直接提取同步信号,因此单极性归零码常常用作其他码型提取同步信号时的过渡码型.也就是说其他适合信道传输但不能直接提取同步信号的码型,可先变换为单极性归零码,然后再提取同步信号   

B)双极性不归零码,”1”码和”0”码都有电流,”1”为正电流,”0”为负电流,正和负的幅度相等,判决门限为零电平。

双极性归零码是二进制码0和1分别对应于正和负电平的波形的编码,在每个码之间都有间隙产生.这种码既具有双极性特性,又具有归零的特性.双极性归零码的特点是:

接收端根据接收波形归于零电平就可以判决1比特的信息已接收完毕,然后准备下一比特信息的接收,因此发送端不必按一定的周期发送信息.可以认为正负脉冲的前沿起了起动信号的作用,后沿起了终止信号的作用.因此可以经常保持正确的比特同步.即收发之间无需特别的定时,且各符号独立地构成起止方式,此方式也叫做自同步方式.由于这一特性,双极性归零码的应用十分广泛。

1.3功率谱密度

求信号的功率谱,功率谱=信号的频率的绝对平方/传输序列的持续时间,求得的功率谱进行单位换算以dB值表示

1.4占空比(DutyRatio)在电信领域中有如下含义:

例如:

脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。

在一段连续工作时间内脉冲占用的时间与总时间的比值。

2、仿真方案

绘制图形

产生双极性归零码并计算功率

产生单极性归零码并计算功率

定义占空比

定义其他变量

2.1程序流程图

绘制图形

2.2参数设计

分别设置占空比为0.5、0.75、1.0

采样点数为2^k,k取正整数

每码元采样点数为64

码元速率为2Mb/s

3.实验程序

globaldttdfN

closeall

k=14;

Rt=0.5;%占空比

N=2^k;%采样点数

L=64;%每码元的采样点数

M=N/L;%码元数

Rb=2;%码速率为2Mb/s

Ts=1/Rb;%码元间隔

dt=Ts/L;%时域采样间隔

df=1/(N*dt);%频域采样间隔

T=N*dt;%截短时间

Bs=N*df/2;%系统带宽

t=linspace(-T/2,T/2,N);%时域横坐标

f=linspace(-Bs,Bs,N);%频域横坐标

EP=zeros(1,N);

forjj=1:

100

a=round(rand(1,M));%产生M个取值0,1等概的随机码

s=zeros(1,N);%产生一个N个元素的零序列

forii=1:

Rt*Ts/dt

s(ii+[0:

M-1]*L)=a;%产生单极性归零码

end

Q=t2f(s);%傅氏变换

P=Q.*conj(Q)/T;%P为单极性归零码的功率

EP=(EP*(ii-1)+P)/ii;%累计平均

aa=30+10*log10(EP+eps);%加eps以避免除以零

end

subplot(2,2,2)

plot(f,aa,'r')

title('单极性归零码的功率谱')

xlabel('f/MHZ')

ylabel('Ps(f)/MHZ')

axis([-15,+15,-50,50])

grid

subplot(2,2,1)

plot(t,s,'g')

title('单极性归零码')

xlabel('t(ms)')

ylabel('s(t)(V)')

axis([-5,5,-0.5,1.5])

grid

forjj=1:

100

a=round(rand(1,M));%产生M个取值0,1等概的随机码

a=1-2*a;

s=zeros(1,N);%产生一个N个元素的零序列

forii=1:

Rt*Ts/dt

s(ii+[0:

M-1]*L)=a;%产生双极性归零码

end

Q=t2f(s);%付氏变换

P=Q.*conj(Q)/T;%P为双极性归零码的功率

EP=(EP*(ii-1)+P)/ii;%累计平均

aa=30+10*log10(EP+eps);%加eps以避免除以零

end

subplot(2,2,4)

%set(2,'position',[10,50,750,350])%设定窗口位置及大小

plot(f,aa,'r')

title('双极性归零码的功率')

xlabel('f(MHZ)')

ylabel('Ps(f)(MHZ)')

axis([-15,+15,-50,50])

grid

subplot(2,2,3)

plot(t,s,'g')

title('双极性归零码')

xlabel('t(ms)')

ylabel('s(t)(V)')

axis([-5,5,-1.5,1.5])

grid

 

子程序

functionX=t2f(x)

globaldtdfNtfT

%X=t2f(x)

%X与x长度相同,并为2的整幂。

%本函数需要一个全局变量dt(时域取样间隔)

H=fft(x);

X=[H(N/2+1:

N),H(1:

N/2)]*dt;

end

图一占空比为0.5的波形

图二占空比为0.75的波形

图三占空比为1.0的波形

(2)AMI码和HDB3码仿真

一、实验原理

1.1AMI码

1码通常称为传号,0码则叫空号,这是沿用了早期电报通信中的叫法。

从形态上看,它已是三状态信号,所以AMI码是伪三进制码。

(1)编码规则:

消息代码中的0传输码中的0

消息代码中的1传输码中的+1、-1交替

例如:

消息代码:

1010100010111

AMI码:

+10-10+1000-10+1-1+1

(2)AMI码的特点:

1由AMI码确定的基带信号中正负脉冲交替,而0电位保持不变;所以由AMI码确定的基带信号无直流分量,且只有很小的低频分量;

2在接收端不易提取定时信号,由于它可能出现长的连0串;

3具有检错能力,如果在整个传输过程中,因传号极性交替规律受到破坏而出现误码时,在接收端很容易发现这种错误。

(3)解码规则

从收到的符号序列中将所有的-1变换成+1后,就可以得到原消息代码

1.2HDB3码

三阶高密度双极性码(英语:

HighDensityBipolarofOrder3,简称:

HDB3码)是一种适用于基带传输的编码方式,它是为了克服AMI码的缺点而出现的,具有能量分散,抗破坏性强等特点。

三阶高密度双极性码用于所有层次的欧洲E-carrier系统,HDB3码将4个连续的“0”位元取代成“000V”或“B00V”。

这个做法可以确保连续的violationsareofdifferingpolarity,即是相隔单数的一般B记号。

1先将消息代码变换成AMI码,若AMI码中连0的个数小于4,此时的AMI码就是HDB3码;

2若AMI码中连0的个数大于3,则将每4个连0小段的第4个0变换成与前一个非0符号(+1或-1)同极性的符号,用表示(+1+,-1-);

3为了不破坏极性交替反转,当相邻V符号之间有偶数个非0符号时,再将该小段的第1个0变换成+B或-B,符号的极性与前一非零符号的相反,并让后面的非零符号从符号开始再交替变化。

例如:

消息代码:

100001000011000011

AMI码:

+10000-10000+1-10000+1-1

HDB3码:

+1000+V-1000-V+1-1+B00+V-1+1

二、实验程序

globaldtdftfN

closeall

N=2^14;%采样点数

L=64;%每码元的采样点数

M=N/L;%码元数

Rb=2;

Ts=0.5;%码元宽度是0.5us

dt=Ts/L;

df=1/(N*dt);%MHz

RT=0.5;%占空比

T=N*dt;%截短时间

Bs=N*df/2;%系统带宽

t=[-T/2+dt/2:

dt:

T/2];%时域横坐标

f=[-Bs+df/2:

df:

Bs];%频域横坐标

EPAMI=zeros(size(f));

EPHDB=zeros(size(f));

forii=1:

8

ami=zeros(1,M);

hdb=zeros(1,M);

a=round(rand(1,M));

b=3;%表示0000之间循环个数

c=-1;%记载相邻V之间的1元素个数

sign1=-1;%标志前一个信号

sign2=-1;%标志前一个信号

forii=1:

M

ifa(ii)==1

sign1=0-sign1;

ami(ii)=sign1;

end

end

forii=1:

M

ifb==3%表示非0000

ifa(ii)==1

sign2=0-sign2;

hdb(ii)=sign2;

ifc>=0%表示不是第一个0000

c=c+1;%用来计算相邻v之间的非0元素个数

end

elseifii<=M-3&a(ii)+a(ii+1)+a(ii+2)+a(ii+3)==0

ifmod(c,2)==1%000V

hdb(ii+3)=sign2;

else%B00V

sign2=0-sign2;

hdb(ii)=sign2;

hdb(ii+3)=sign2;

end

c=0;

b=0;

end

elseifb<3%对0000的循环

b=b+1;

end

end

fori=[1:

L]

ami1(i+[0:

M-1]*L)=ami;

hdb1(i+[0:

M-1]*L)=hdb;

end

AMI=t2f(ami1);

PAMI=AMI.*conj(AMI)/T;

HDB=t2f(hdb1);

PHDB=HDB.*conj(HDB)/T;

EPAMI=(EPAMI*(ii-1)+PAMI)/ii;

EPHDB=(EPHDB*(ii-1)+PHDB)/ii;

%画出RNZ、AMI、HDB3码波形

figure

(1)

subplot(3,1,1)

tt=[1:

40];

stem(a(1:

40))

axis([1,40,-1.5,1.5])

title('原始RNZ信号')

subplot(3,1,2)

stem(tt,ami(1:

40)')

title('AMI码')

subplot(3,1,3)

stem(tt,hdb(1:

40))

title('HDB3码')

%画出AMI的功率谱密度图

figure

(2)

subplot(2,2,1)

stem(tt,ami(1:

40)','g')

title('AMI码')

subplot(2,2,3)

stem(tt,hdb(1:

40),'g')

title('HDB3码')

subplot(2,2,2)

aa=30+10*log10(EPAMI+eps);%加eps以避免除以零

bb=30+10*log10(EPHDB+eps);

plot(f,aa,'r');

grid

axis([-8,+8,-80,40])

xlabel('f/MHz')

ylabel('Ps(f)(dBm/MHz)')

title('AMI功率谱密度')

%画出HDB3的功率谱密度图

subplot(2,2,4)

plot(f,bb,'r');

grid

axis([-8,+8,-80,40])

xlabel('f/MHz')

ylabel('Ps(f)(dBm/MHz)')

title('HDB3功率谱密度')

end

实验2:

采用2DPSK调制的数字通信系统

1、实验原理

1.12DPSK信号原理

2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。

现假设用Φ表示本码元初相与前一码元初相之差,并规定:

Φ=0表示0码,Φ=π表示1码。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。

 

图1.12DPSK信号

在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。

如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。

所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。

定义∆Φ为本码元初相与前一码元初相之差,假设:

∆Φ=0→数字信息“0”;

∆Φ=π→数字信息“1”。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:

数字信息:

1011011101

DPSK信号相位:

π00π00π0ππ0

或:

0ππ0ππ0π00π

1.22DPSK信号的调制原理

图1.2.1模拟调制法

1.32DPSK信号解调的差分相干解调法

差分相干解调的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,此后该信号分为两路,一路延时一个码元的时间后与另一路的信号相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出即为原基带信号。

它的原理框图如图1.3.2所示。

图1.3.2差分相干解调原理图

 

二、仿真方案

实验先生成12个随机码元,再由12个随机码元由汉明码编码成21个码元。

clearall;

closeall;

fs=2000000;%设定系统的抽样频率

k=10000;%设定数字基带信号的频率

fc=100000;%设定正弦载波频率

t=0:

1/fs:

4000/fs;%仿真时间范围

p=10000;

s=randint(1,p,2);%设定需要产生的码元个数

m=s(ceil(k*t+0.01));%将基带生成时域信号

figure

(1)

subplot(311)

plot(t,m);

axis([010e-4-0.21.2]);

gridon;

title('数字基带信号');

b=randint(1,p,2);%将生成的基带转换为差分码

fori=1:

p

if(i==1)

if(s(i)==0)

b(i)=0;%通过模二加实现差分码的转换

elseb(i)=1;

end

elseif(s(i)==b(i-1))b(i)=0;

elseb(i)=1;

end

end

n=b(ceil(k*t+0.01));%将差分码生成时域信号

subplot(312)

plot(t,n);

axis([010e-4-0.21.2]);

gridon;

title('差分码')

x=(n-0.5).*2;

car=sin(2*pi*fc*t);%定义载波

dpsk=x.*car;%2dpsk信号的载波调制

subplot(313);

plot(t,car);

axis([010e-4-1.21.2]);

title('正弦载波');

figure

(2)

subplot(311);

plot(t,dpsk);

axis([010e-4-1.21.2]);

title('2DPSK信号');

gridon;

vn=0.05;

noise=vn.*(randn(size(t)));%产生噪音

subplot(312);plot(t,noise);

gridon;

title('噪音信号');

axis([010e-4-0.20.2]);

dpskn=(dpsk+noise);%调制后加噪

subplot(313);

plot(t,dpskn);

axis([010e-4-1.21.2]);

title('加噪后信号');

gridon;

%带通滤波器

fBW=40e3;f=[0:

3e3:

4e5];

w=2*pi*f/fs;

z=exp(w*j);

BW=2*pi*fBW/fs;a=.8547;

p=(j^2*a^2);gain=.135;

Hz=gain*(z+1).*(z-1)./(z.^2-(p));

Hz(Hz==0)=10^(8);

a=[100.7305];

b=[0.1350-0.135];

dait=filter(b,a,dpskn);

dait=dait.*10;

figure(3)

subplot(311);

plot(t,dait);

axis([010e-4-1.21.2]);

title('通过带通滤波后输出');gridon;

cm=dpsk.*car;%2dpsk相干解调

subplot(312);plot(t,cm);

axis([010e-4-1.21.2]);

gridon;

title('通过相乘器后输出');

%低通滤波器

p=0.72;gain1=0.14;

Hz1=gain1*(z+1)./(z-(p));

a1=[1-0.72];

b1=[0.140.14];

dit=filter(b1,a1,cm);

dit=dit-mean(dit);

subplot(313);

plot(t,dit);

axis([010e-4-1.21.2]);

title('通过低通滤波器后输出');

gridon;

%抽样判决器

H=1;L=0;Z=0;

len=length(dit);

forii=1:

len

ifdit(ii)>=Z

%z即为阈值

Vs(ii)=H;else

Vs(ii)=L;

end

end

figure(4)

subplot(311)

plot(t,Vs)

title('解调后差分信号')

axis([010e-4-0.21.2])

gridon;

c=randi(1,22,2);%产生解调后的差分码元

forf=0:

19

c(f+1)=fix(Vs(f*200+50)+0.2)

end

d=randint(1,21,2);%定义差分译码后的码元

forl=1:

21%得到差分译码后的码元

if(l==1)

if(s

(1)==0)

d

(1)=0;

elsed

(1)=1;

end

elseif(c(l)==c(l-1))d(l)=0;

elsed(l)=1;

end

end

y=d(ceil(k*t+0.01));

subplot(313);

plot(t,y);

axis([010e-4-0.21.2]);

title('码反变换输出');%基带信号与解调后的信号对比

subplot(312)

plot(t,m);

axis([010e-4-0.21.2]);

title('原始基带信号');

%误码率与信噪比关系

figure(5)

gridon

initial_snr=0;

final_snr=9;%snr信噪比

snr_step=0.01;

snr_in_dB=initial_snr:

snr_step:

final_snr;

fori=1:

length(snr_in_dB)

snr=10^(snr_in_dB(i)/10);%将信噪比单位dB转化一下

Pe(i)=erfc(sqrt(snr))*(1-1/2*erfc(sqrt(snr)));%2dpSK相干解调

end

semilogy(snr_in_dB,Pe);%信噪比取对数,单位变为dB

title('2DPSK误码率曲线');

holdon

yima=y;

ran=m;

snr_in_dB=8;

snr=10^(snr_in_dB/10);%信噪比取对数,单位变为dB

Err=length(find(yima~=ran))%计算解调信号中错误码元个数

Pe_fact=Err/10000;%计算实际误码率

semilogy(snr_in_dB,Pe_fact,'*');

Pe_throry=erfc(sqrt(snr))*(1-1/2*erfc(sqrt(snr)));%计算理论误码率

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2