通信系统仿真2psk 香农 hamming.docx

上传人:b****3 文档编号:10505885 上传时间:2023-05-26 格式:DOCX 页数:15 大小:103.24KB
下载 相关 举报
通信系统仿真2psk 香农 hamming.docx_第1页
第1页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第2页
第2页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第3页
第3页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第4页
第4页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第5页
第5页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第6页
第6页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第7页
第7页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第8页
第8页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第9页
第9页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第10页
第10页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第11页
第11页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第12页
第12页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第13页
第13页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第14页
第14页 / 共15页
通信系统仿真2psk 香农 hamming.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

通信系统仿真2psk 香农 hamming.docx

《通信系统仿真2psk 香农 hamming.docx》由会员分享,可在线阅读,更多相关《通信系统仿真2psk 香农 hamming.docx(15页珍藏版)》请在冰点文库上搜索。

通信系统仿真2psk 香农 hamming.docx

通信系统仿真2psk香农hamming

1课程设计目的

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

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

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

1.4锻炼我们查阅资料、方案比较、团结合作的能力。

学会简单电路的实验调试和整机指标测试方法,增强我们的动手能力。

为以后学习和工作打下基础。

2课程设计正文

这次课程设计我做的是2psk调制解调技术、高斯噪声信道、以及香农编译码、hamming编译码。

因此需要对以上原理进行了解和熟悉,并且熟悉用matlab进行仿真。

2.1性能指标

2.1.1数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。

为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。

这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。

这次使用的数字调制技术方法是:

利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理。

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

101

 

2.1.2香农-费诺编码也是一种常见的信源编码方法。

信源符号以概率递减的次序排列进来,将排列好的信源符号划分为两大组,使第组的概率和近于相同,并各赋于一个二元码符号”0”和”1”.然后,将每一大组的信源符号再分成两组,使同一组的两个小组的概率和近于相同,并又分别赋予一个二元码符号.依次下去,直至每一个小组只剩下一个信源符号为止.这样,信源符号所对应的码符号序列则为编得的码字。

2.1.3当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集。

 

2.2matlab代码

2.2.1香农编码

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

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

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

[m,n]=size(A);

fori=1:

n

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

end

%生成B第2列的元素

a=sum(B(:

1))/2;

fork=1:

n-1

ifabs(sum(B(1:

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

k+1,1))-a)

break;

end

end

fori=1:

n%生成B第2列的元素

ifi<=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);

forq=p:

n

ifx==-1

break;

else

ifB(q,j-1)==x

y=1;

continue;

else

y=0;

break;

end

end

end

ify==1

q=q+1;

end

ifq==p|q-p==1

B(p,j)=-1;

else

ifq-p==2

B(p,j)=0;

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

B(q-1,j)=1;

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

else

a=sum(B(p:

q-1,1))/2;

fork=p:

q-2

ifabs(sum(B(p:

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

k+1,1))-a);

break;

end

end

fori=p:

q-1

ifi<=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);

ife==n

j=0;

else

j=j+1;

end

end

B

A

END

2.2.2香农译码

%********************************%香农解码********************************

jg=[];

forx=1:

100

ifccc(x,1)==0&ccc(x,2)==0&ccc(x,3)==0&ccc(x,4)==0jg(x)=1;

elseifccc(x,1)==0&ccc(x,2)==0&ccc(x,3)==1&ccc(x,4)==0jg(x)=2;

elseifccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==0&ccc(x,4)==0jg(x)=3;

elseifccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==0&ccc(x,4)==1jg(x)=4;

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

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

end;

end;

jg

2.2.3Hamming编码

%******************************汉明编码***********************************

hh=encode(e,7,4,'hamming/fmt');

hh

2.2.4Hamming译码

%********************************汉明解码*********************************

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)

fori=1:

1:

100

switchaa(i)

case1

e(i,:

)=[0,0,0,0]

case2

e(i,:

)=[0,0,1,0]

case3

e(i,:

)=[1,1,0,0]

case4

e(i,:

)=[1,1,0,1]

case6

e(i,:

)=[1,1,1,0]

case5

e(i,:

)=[1,1,1,1]

end;

end;

2.2.62psk调制解调

%*******************************2PSK调制解调*******************************

code=[]

forz=0:

99

fort=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;

forn=1:

length(code);

ifcode(n)==0;

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

elseifcode(n)==1;

A=ones(1,200);

end

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

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

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

end

figure

(1);subplot(4,2,1);plot(cp);gridon;

axis([0200*length(code)-22]);title('二进制信号序列');

cm=[];mod=[];

forn=1:

length(code);

ifcode(n)==0;

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

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

elseifcode(n)==1;

B=ones(1,200);

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

end

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

mod=[modc];%与s(t)等长的载波信号

end

tiaoz=cm.*mod;%e(t)调制

figure

(1);subplot(4,2,2);plot(tiaoz);gridon;

axis([0200*length(code)-22]);title('2PSK调制信号');

figure

(2);subplot(4,2,1);plot(abs(fft(cp)));

axis([0200*length(code)0400]);title('原始信号频谱');

figure

(2);subplot(4,2,2);plot(abs(fft(tiaoz)));

axis([0200*length(code)0400]);title('2PSK信号频谱');

2.2.7带有高斯白噪声的信道

tz=awgn(tiaoz,10);%信号tiaoz中加入白噪声,信噪比为10

figure

(1);subplot(4,2,3);plot(tz);gridon;

axis([0200*length(code)-22]);title('通过高斯白噪声信道后的信号');

figure

(2);subplot(4,2,3);plot(abs(fft(tz)));

axis([0200*length(code)0400]);title('加入白噪声的2PSK信号频谱');

jiet=2*mod1.*tz;%同步解调

figure

(1);subplot(4,2,4);plot(jiet);gridon;

axis([0200*length(code)-22]);title('相乘后信号波形');

figure

(2);subplot(4,2,4);plot(abs(fft(jiet)));

axis([0200*length(code)0400]);title('相乘后信号频谱');

2.2.8低通滤波器

fp=300;fs=700;rp=3;rs=20;fn=11025;

ws=fs/(fn/2);wp=fp/(fn/2);%计算归一化角频率

[n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率

[b,a]=butter(n,wn);%计算H(z)

figure(4);freqz(b,a,1000,11025);subplot(2,1,1);

axis([04000-1003])

title('LPF幅频相频图');

jt=filter(b,a,jiet);

figure

(1);subplot(4,2,5);plot(jt);gridon

axis([0200*length(code)-22]);title('经低通滤波器后信号波形')

figure

(2);subplot(4,2,5);plot(abs(fft(jt)));

axis([0200*length(code)0400]);title('经低通滤波器后信号频谱');

2.2.9抽样判决

bc=[];

form=1:

200*length(code);

ifjt(m)<0;

jt(m)=1;

elseifjt(m)>=0;

jt(m)=0;

end

end

forbx=0:

699

bc(bx+1)=jt(bx*200+100)

end

bc

figure

(1);subplot(4,2,6);plot(bc);gridon

axis([0200*length(code)-22]);title('经抽样判决后信号s^(t)波形')

figure

(2);subplot(4,2,6);plot(abs(fft(bc)));

axis([0length(code)050]);title('经抽样判决后信号频谱');

2.2.10误码率

%**********************误码率**************************************

[zcl,mc]=symerr(jg,aa)

2.3程序执行图

信号产生的图像如图2-1,2-2所示。

图2-1

 

图2-2

LPF幅频相频图如图2-3所示。

图2-3

3总结

一周的基于MATLAB的数字调制信号仿真分析课程设计让我获益颇深。

更加深入的掌握了MATLAB软件的使用,了解了数字调制的基本原理和主要过程,进一步学习了信号的传输的有关内容。

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

在这一周的时间内我经常往返于图书馆,查阅相关资料,发现自己的知识水平有限,需要学习的东西还有很多很多。

另外,在这次课程设计中,我充分利用了网络资源,终于让其发挥了有用的一面。

设计过程中老师主要锻炼我们的自主能力,我们查阅资料的同时,当遇到不解的时候,老师的不吝指导,我的课程设计才得以在规定的时间内高效完成。

通过这次课程设计,我学会了很多,收获了很多,并且加强了我的自主能力、动手能力和独立思考、团结协作的能力。

4、参考文献

[1]唐向宏,岳恒立,郑雪峰.MATLAB及在电子信息类课程中的应用(第二版)[M].电子工业出版社,2010

[2]樊昌信,曹丽娜.通信原理(第六版)[M].国防工业出版社,2006

[3]

[4]

 

项目设计

评语

项目设计

成绩

指导教师

(签字)

年月日

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

当前位置:首页 > 经管营销 > 经济市场

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

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