以香农编码为信源编码、(7,4)循环码为信道编码的2PSK信号的调制解调

更新时间:2023-10-05 18:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息与电气工程学院

目 录

1 课程设计目的??????????????????????????????1 2 课程设计正文??????????????????????????????1

2.1 调制原理?????????????????????????????2 2.2 解调原理?????????????????????????????3 2.3 系统调试?????????????????????????????4 3 课程设计总结??????????????????????????????5 4 参考文献????????????????????????????????5 5 程序编码????????????????????????????????6

信息与电气工程学院

1 课程设计目的

通过我们对这次CDIO二级项目的学习和理解,综合运用课本中所学到的理论知识完成一个以香农编码为信源编码、(7,4)循环码为信道编码的2PSK信号调制解调的课程设计。以及锻炼我们查阅资料、方案比较、团结合作的能力。学会了运用MATLAB编程来实现2PSK调制解调过程,并且输出其调制及解调过程中的波形,并且讨论了其调制和解调效果,增强了我们的动手能力,为以后学习和工作打下了基础。 2 课程设计正文

本次课程设计我们所做的课题是一个以香农编码为信源编码、(7,4)循环码为信道编码的2PSK信号调制解调的CDIO项目,这就要求我们需要完成信源编码、信道编码、信号的调制解调以及误码率分析等问题。

图1 数字通信系统模型

数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。

数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。

1

信息与电气工程学院

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

2.1 调制原理

数字调相:如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于\同相\状态;如果其中一个开始得迟了一点,就可能不相同了。如果一个达到正最大值时,另一个达到负最大值,则称为\反相\。一般把信号振荡一次(一周)作为360度。如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。当传输数字信号时,\码控制发0度相位,\码控制发180度相位。载波的初始相位就有了移动,也就带上了信息。

相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。因此,2PSK信号的时域表达式为

(t)=Acos

其中,

表示第n个符号的绝对相位:

t+

)

=

因此,上式可以改写为

2

信息与电气工程学院

图3 2PSK信号波形

2.2 解调原理

2PSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。下图给出了一种2PSK信号相干接收设备的原理,首先经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0.

2PSK信号相干解调各点时间波形如图 4 所示. 当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错。

. 图 42PSK信号相干解调各点时间波形

这种现象通常称为\倒π\现象.由于在2PSK信号的载波恢复过程中存在着180°的相

3

信息与电气工程学院

位模糊,所以2PSK信号的相干解调存在随机的\倒π\现象,从而使得2PSK方式在实际中很少采用. 2.3 系统调试

这次经过我们的全体努力,终于将方案设计、总体程序、参数计算都做出来,并且理论上也可以实现老师要求的功能。实验结果如下图所示。

图5 信号调制解调波形 其中误码率如下图所示。

图6 误码率

4

信息与电气工程学院

3 课程设计总结

本次课程设计我做的课题是以香农编码为信源编码、(7,4)循环码为信道编码的2PSK信号的调制解调,这个题目包含了《信息论与编码》和《通信原理》中的许多内容,并且通过运用Matlab语言进行实现,通过这次CDIO课程设计,让我重新复习了2PSK的调制与解调技术,并通过对香农编码和(7,4)循环码的实现让我也加深了对信源编码和信道编码的理解,与此同时,在程序的运行和实现的一遍又一遍的重复中,也让我基本熟悉掌握了Matlab的使用方法,当然,在实验的过程中,一件又一件的问题摆在我的面前,让我逐步的认识到自己知识的贫乏与欠缺,让我意识到,学习中的很多问题是需要实验来发现并加以解决的。通过这次的练习,不仅让我加深了对课本内容的理解,让课本内容与实践相结合,更重要的是又让我提高了动手与思考的能力。这也是我在以后的的学习和生活中所需要和慢慢培养的。 4、参考文献

[1] 樊昌信 曹丽娜.通信原理(第六版)国防工业出版社,2006.2 [2] 曹雪红 张宗橙.信息论与编码(第二版)清华大学出版社,2009.2 [3] 李 环 任 波 华宇宁.通信系统仿真设计与应用.电子工业出版社,2009.3 [4] 陈 萍.现代通信实验系统的计算机仿真.国防工业出版社,2003.4

课程设计 评 语 课程设计 成 绩

指导教师 (签字) 年 月 日 5

信息与电气工程学院

附:程序编码 clear clc

close All

%***************************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列的元素 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

6

信息与电气工程学院

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']; 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

7

信息与电气工程学院

end B A END aa=[];

symbols = [1:1:6]; p=[0.4,0.3,0.1,0.09,0.04,0.07];

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

e=zeros(150,4) for i = 1 : 1:150 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;

% ************************随机信息码的波形*******************************

figure(1);subplot(5,1,1);stairs(aa);grid on; title('源随机信息序列');ylabel('幅值');

figure(1);subplot(5,1,2);stairs(e);grid on; title('香农编码序列');ylabel('幅值');

%**********************2、¥¥循环码(信道)编码************************

n=7;% 码长7位,信息位4位 k=4;

p=cyclpoly(n,k,'all'); %产生生成码多项式

[H,G]=cyclgen(n,p(1,:)) %产生监督矩阵H,生成矩阵 Msg=reshape(e,150,4) %转化成150行4列的矩阵 C=rem(Msg*G,2)%信道编码后的码字

8

信息与电气工程学院

% ***************************3、¥¥2psk调制*******************************

M = 2;%2进制 y1=C(:);

y =pskmod(y1,M);%使用 2psk调制

% 通过 AWGN信道传送信号.

ynoisy = awgn(y,1,'measured');%信噪比1db,AWGN 测量加噪声之前的信号功率

ynoise=reshape(ynoisy,1,1050);%矩阵转化,将ynoisy转化为1行1050列的矩阵,才能绘图

scatterplot(ynoise);%根据噪声数据 创建离散绘图

% ****************************经2psk调制的波形****************************

figure(1);subplot(5,1,3);plot(ynoisy);grid on; title('2psk调制波形');ylabel('幅值');

%****************************4、¥¥2psk解调******************************

z = pskdemod(ynoisy,M);%z是解调信号,ynoisy是信道中的信号

% ****************************经2psk解调的波形****************************

figure(1);subplot(5,1,4);plot(z);grid on; title('2psk解调波形');ylabel('幅值');

%***************************5、¥¥循环码解码*****************************

M=DECODE(z, 7,4, 'cyclic');%C是信道编码后的码字,(7,4)循环码解码 ccc=reshape(M,150,4) %转化成150行4列的矩阵

%***************************6、¥¥香农解码*******************************

jg=[];

for x=1:150

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)==1 jg(x)=5; elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==1&ccc(x,4)==0 jg(x)=6; end; end; jg

9

信息与电气工程学院

% ****************************解码后的波形********************************

[num,rt]= symerr(aa,jg)% 检测误码率,不同的位数是num,误码率是rt figure(1);subplot(5,1,5);stairs(jg);grid on; title('解码后的波形');ylabel('幅值');

10

本文来源:https://www.bwwdw.com/article/dspd.html

Top