教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

通信系统仿真基于matlab的设计--2psk调制,香农编码,汉明编码

来源:网络收集 时间:2026-05-02
导读: 课程设计实验报告,基于matlab的通信系统仿真,用2psk调制,香农编码,汉明编码。包含调制,高斯白噪声,可调信噪比,解调,解码。 1 课程设计目的 1.1 对数字通信系统主要原理和技术进行研究,包括二进制相移键控(2psk)及解调技术、高斯噪声信道原理、以及信源编

课程设计实验报告,基于matlab的通信系统仿真,用2psk调制,香农编码,汉明编码。包含调制,高斯白噪声,可调信噪比,解调,解码。

1 课程设计目的

1.1 对数字通信系统主要原理和技术进行研究,包括二进制相移键控(2psk)及解调技术、高斯噪声信道原理、以及信源编码中香农编码、信道编码中hamming码的基本原理等。

1.2 建立完整的基于2psk和(7,4)循环码的数字通信系统仿真模型,包括2psk调制解调及香农、hamming码的编译码;

1.3 在信道中加入高斯噪声,观察系统的纠错能力,统计误码率,并进行分析。

1.4 锻炼我们查阅资料、方案比较、团结合作的能力。学会简单电路的实验调试和整机指标测试方法,增强我们的动手能力。

2 课程设计正文

这次课程设计的主要任务是运用MATLAB编程实现2PSK调制解调过程,并且输出其调制及解调过程中的波形,讨论其调制和解调效果。了解高斯噪声信道原理、以及香农编译码、hamming编译码的原理。

2.1 性能指标

2.1.1 用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。本实验详细介绍了PSK波形的产生和仿真过程。我们可以系统的了解基本原理,以及得到数字调制波形的方法。利用MATLAB仿真可更好的认识2PSK信号波形的调制过程。

图1 相应的信号波形的示例

1 0 1

、数据转换成规定的电脉冲信号。通过本次设计,了解香农—费诺编码的具体过程,通过编程实现编码,利用matlab实现费诺编码。

2.1.3 当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集,由Bell实验室的R.W.Hamming发明,因此定名为汉明码。

2.2 matlab代码

2.2.1 香农编码

%*******************************%香农编码***********************************

A=[0.4,0.3,0.1,0.09,0.04,0.07];

A=fliplr(sort(A));%降序排列

[m,n]=size(A);

for i=1:n

B(i,1)=A(i);%生成B的第1列

end

%生成B第2列的元素

课程设计实验报告,基于matlab的通信系统仿真,用2psk调制,香农编码,汉明编码。包含调制,高斯白噪声,可调信噪比,解调,解码。

a=sum(B(:,1))/2;

for k=1:n-1

if abs(sum(B(1:k,1))-a)<=abs(sum(B(1:k+1,1))-a)

break;

end

end

for i=1:n%生成B第2列的元素

if i<=k

B(i,2)=0;

else

B(i,2)=1;

end

end

%生成第一次编码的结果

END=B(:,2)';

END=sym(END);

%生成第3列及以后几列的各元素

j=3;

while (j~=0)

p=1;

while(p<=n)

x=B(p,j-1);

for q=p:n

if x==-1

break;

else

if B(q,j-1)==x

y=1;

continue;

else

y=0;

break;

end

end

end

if y==1

q=q+1;

end

if q==p|q-p==1

B(p,j)=-1;

else

if q-p==2

B(p,j)=0;

END(p)=[char(END(p)),'0'];

课程设计实验报告,基于matlab的通信系统仿真,用2psk调制,香农编码,汉明编码。包含调制,高斯白噪声,可调信噪比,解调,解码。

B(q-1,j)=1;

END(q-1)=[char(END(q-1)),'1'];

else

a=sum(B(p:q-1,1))/2;

for k=p:q-2

if abs(sum(B(p:k,1))-a)<=abs(sum(B(p:k+1,1))-a);

break;

end

end

for i=p:q-1

if i<=k

B(i,j)=0;

END(i)=[char(END(i)),'0'];

else

B(i,j)=1;

END(i)=[char(END(i)),'1'];

end

end

end

end

p=q;

end C=B(:,j); D=find(C==-1); [e,f]=size(D);

if e==n

j=0;

else

j=j+1;

end

end

B

A

END

2.2.2 香农译码

%********************************%香农解码******************************** jg=[];

for x=1:100

if ccc(x,1)==0&ccc(x,2)==0&ccc(x,3)==0&ccc(x,4)==0 jg(x)=1; elseif ccc(x,1)==0&ccc(x,2)==0&ccc(x,3)==1&ccc(x,4)==0 jg(x)=2; elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==0&ccc(x,4)==0 jg(x)=3; elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==0&ccc(x,4)==1 jg(x)=4; elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==1&ccc(x,4)==0 jg(x)=6;

课程设计实验报告,基于matlab的通信系统仿真,用2psk调制,香农编码,汉明编码。包含调制,高斯白噪声,可调信噪比,解调,解码。

elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==1&ccc(x,4)==1 jg(x)=5; end;

end;

jg

2.2.3 Hamming编码

%******************************汉明编码*********************************** hh=encode(e,7,4,'hamming/fmt');

hh

2.2.4 Hamming译码

%********************************汉明解码********************************* ddd=reshape(bc,7,100);

abc=ddd';

ccc= decode(abc,7,4,'hamming/fmt')

2.2.5 信源

%*****************************信源***************************************** aa = randsrc(1,100,[symbols;p]);

aa

e=zeros(100,4)

for i = 1 : 1:100

switch aa(i)

case 1

e(i,:)=[0,0,0,0]

case 2

e(i,:)=[0,0,1,0]

case 3

e(i,:)=[1,1,0,0]

case 4

e(i,:)=[1,1,0,1]

case 6

e(i,:)=[1,1,1,0]

case 5

e(i,:)=[1,1,1,1]

end;

end;

2.2.6 2psk调制解调

%*******************************2PSK调制解调******************************* code=[]

for z=0:99

课程设计实验报告,基于matlab的通信系统仿真,用2psk调制,香农编码,汉明编码。包含调制,高斯白噪声,可调信噪比,解调,解码。

for t=1:7

code(7*z+t)=hh(z+1,t)

end

end

cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;

for n=1:length(code);

if code(n)==0;

A=zeros(1,200);%每个值200个点

elseif code(n)==1;

A=ones(1,200);

end

cp=[cp A]; %s(t),码元宽度200

c=cos(f*t);%载波信号

mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式

end

figure(1);subplot(4,2,1);plot(cp);grid on;

axis([0 200*length(code) -2 2]);title('二进制信号序列');

cm=[];mod=[];

for n=1:length(code);

if code(n)==0;

B=ones(1,200);%每个值200个点

c=cos(f*t); %载波信号

elseif code(n)==1;

B=ones(1,200);

c=cos(f*t+pi); %载波信号

end

cm=[cm B]; %s(t),码元宽度200

mod=[mod c]; %与s(t)等长 …… 此处隐藏:3770字,全部文档内容请下载后查看。喜欢就下载吧 ……

通信系统仿真基于matlab的设计--2psk调制,香农编码,汉明编码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/40783.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)