好文档 - 专业文书写作范文服务资料分享网站

《通信原理》课程设计报告-数字信号频带传输系统设计

天下 分享 时间: 加入收藏 我要投稿 点赞

课 程 设 计 报 告

课程名称 通信原理 课题名称 数字信号频带传输系统设计 专 业 通信工程 班 级 0881 学 号 姓 名

1

指导教师

2011年1月 10 日

2

湖南工程学院 课 程 设 计 任 务 书

课程名称 通信原理 课 题 数字信号频带传输系统设计

专业班级 通信工程0881 学生姓名 学 号 指导老师

审 批

任务书下达日期 2011 年 1月 10 日 任务完成日期 2011 年 1 月 19日

3

《通信原理》课程设计任务书

一、设计目的与设计内容

学生通过自己设计及建立通信系统,掌握通信系统的构成原理、信号传输的概念,加深对通信系统及信号的认识,提高学生的实际应用、动手能力。要求学生经过课程设计这一教学环节学会应用MATLAB软件来实现信号传输中的各个基本环节。 可选的设计题目有:

(1)信息论基本计算。要求:

编程实现信源平均信息量的计算(以高斯分布的信源为例); 编程实现离散信道容量的计算(以输入符号等概分布为例); 编程实现信源编码过程(以Huffman编码为例); (2)脉冲编码调制(PCM)实现

编程实现PCM技术的三个过程:采样、量化与编码。

sin2(200t)采样:低通连续信号采样,以s1(t)?sinc(200t)?为例说明低通采样定理,

200t2绘出信号时、频图形;带通连续信号采样,以s2(t)?20sinc(20t)为例说明带通采样定理,绘出信号时、频图形。

量化:均匀量化,以幅度Am?1v的正弦信号为例实现为64级电平的均匀量化;非

均匀量化,输入A律PCM编码器的正弦信号x(t)?sin(1600?t),采样序列为x(n)?sin(0.2?n),n?1,2,,10,将其进行PCM编码,给出编码器的输出码组序列y(n)

编码:以上述信号为例,实现A律的13折线近似法及国际标准PCM对数A律量化编

码。

(3)数字信号基带传输系统设计

编程实现常见基带信号的波形、码型转换,包括:单/双极性、非归零/归零码、数

字双相码(曼彻斯特码)、密勒码、AMI码、HDB3码,并绘出每种波形、码型的功率谱分布,给出与在理论课上所学相符合的分析与理解;

编程实现基带传输系统的误码率计算,包括:二电平和多电平编码的误码率计算; 编程实现基带信号传输的扰码与解扰。 (4)数字信号频带传输系统设计

编程实现ASK调制/解调技术,绘出时、频域波形; 编程实现FSK调制/解调技术,绘出时、频域波形; 编程实现PSK、DPSK调制/解调技术,绘出时、频域波形; 编程实现16/64QAM调制/解调技术,绘出时、频域波形; (5)数字通信频带传输系统综合设计

4

综合(1)、(2)、(3)、(4)的设计程序,并将它们封装为SIMULINK模块,设计一个完

整的数字通信频带传输系统。

(三)、进度安排:

第十八周 星期一: 课题讲解,查阅资料

星期三: 总体设计,详细设计

星期四: 编程,上机调试、修改程序

第十九周 星期一:编程,上机调试、修改程序

星期二:上机调试、完善程序 星期三: 答辩

星期四-星期六:撰写课程设计报告

5

目录

一、 课题的主要功能 ...................................... 8 二、课题的功能模块的划分 ................................. 8 1、平均信息量的计算 ................................... 8 2、离散信道容量的计算 ................................. 8 3、以Huffman编码实现信源编码 ......................... 9 4、ASK调制技术,绘出时、频域波形 ...................... 9 5、FSK调制技术,绘出时、频域波形 ..................... 10 6、PSK、DPSK调制技术,绘出时、频域波形 ............... 10 7、16/64QAM调制技术,绘出时、频域波形 ................ 10 三、主要功能的实现 ...................................... 11 1、 信源平均信息量的计算(以高斯分布的信源为例) ..... 11 2、 离散信道容量的计算 ............................... 11 3、 信源编码(以Huffman编码为例) ................... 12 4、 编程实现ASK调制技术、绘制时、频域波形 ........... 12 5、 编程实现FSK调制技术、绘制时、频域波形 ........... 13 6、 编写实现PSK/DPSK调制技术,绘制时。频域波形 ...... 13 7、 编程实现16/64QAM调制/解调技术,绘出时、频域波形 . 13 四.数字信号频带传输系统 ................................ 14 五、程序调试 ............................................ 15 1、程序的图 .......................................... 15 六、总结 ................................................ 20

6

七、附件 ................................................ 21 八、评分表 .............................................. 26

7

一、 课题的主要功能

MATLAB Mat MATLAB MathWorks公司推出的一套高效率的数值计算和可视化

软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。

学生通过自己设计及建立通信系统,掌握通信系统的构成原理、信号传输的概念,加深对通信系统及信号的认识,提高学生的实际应用、动手能力。要求学生经过课程设计这一教学环节学会应用MATLAB软件来实现信号传输中的各个基本环节。

二、课题的功能模块的划分

1、平均信息量的计算

根据题目要求,用高斯过程X(t)d的一维概率密度函数服从正态分布的表达式f=1/(u*sqrt(2*pi))*exp(-(x-o)^2/2*u^2来完成信源平均信息量的计算。 平均信息量:平均每个符号所能提供的信息量,也叫平均自信息量。 H(X)= —?p?xi?logp?xi?;

i高斯分布函数:p?x??1?2*?exp2?x-a?[﹣];

2?22、离散信道容量的计算

我们利用函数dmessage来求信源的熵,利用函数hemssage来求平均互信息量,

并最终得到信道的容量。离散信道容量:信道容量是信道所能传送的最大的信息量。

C=max[I(X;Y)] (比特/码元) I(X;Y)=H(Y)﹣H(Y/X);

8

3、以Huffman编码实现信源编码

对于所要求的信源,可以对其进行作为一元信源的哈夫曼编码并得到编码效率,相应的二元信源的哈夫曼编码及其编码效率。uffman编码方法: (1) 将信源信息呼号按其出现的概率大小依次排列;

(2) 取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相加作

为一个新字母的概率,与未分配的二进符号的字母重新排队; (3) 对重排后的两个概率最小符号重复步骤(2)的过程; (4) 不断重复上述过程,知道最后两个符号配以0和1为止;

(5) 从最后一级开始,向前返回得到各个信源符号所对应的码元序列,及相应

的码字;

Huffman编码的意义:将概率大的信息符号编以短的码字,概率小的符号配以长的码字,使得平均码字长度最短,冗余度减小。

4、ASK调制技术,绘出时、频域波形

在幅度键控中载波幅度是随着调制信号而变化的,最简单的形式是载波在二进制调制信号1或0的控制下通或断,这种调制方式称为通断一段键控(ook)。时域表达式为 y=sin(2*pi*t)

s(t) 载波信号 2ASK信号

1011001Tbttt9

5、FSK调制技术,绘出时、频域波形

将信号的调制在载波的频率上的调制方法称为频移键控(FSK),它也包括二点平频移键控(BFSK)和电平频移键控(MFSK),频移键控的原理与跳频类似,只是使用数字信号而已。

6、PSK、DPSK调制技术,绘出时、频域波形

在载波相位的调制中,将信道发送的信息调制在载波的相位上,相位通常范围是(0,2),2PSK信号码元的“0”“1”分别用初始相位0和 π来表示,而其振幅和频率保持不变。gT(t)为发射端的滤波脉冲,决定了信号的频谱特征。2PSK信号属于DSB信号,它的解调,不再能采用包络检测的方法,只能进行相干解调。2PSK相干解调系统框图及个测试行波形如下:

7、16/64QAM调制技术,绘出时、频域波形

16进制相移键控,它的每一个矢量点对应4位b1b2b3b4共16种可能的信息符号序列。每一种都对应不同的相位因为QAM调制在MATLAB7.1中有库函数,直接调用该库函数即可。

10

三、主要功能的实现

1、 信源平均信息量的计算(以高斯分布的信源为例)

syms x u o u=3; o=4;

f=1/(u*sqrt(2*pi))*exp(-(x-o)^2/2*u^2); t=-f*log2(f);

r=int(t,-inf,inf); disp('平均信息量为:') r=double(r)

2、 离散信道容量的计算

x=[0.25,0.25,0.25,0.25]; f1=[1/4,1/4,1/4,1/4 1/4,1/4,1/4,1/4 1/4,1/4,1/4,1/4 1/4,1/4,1/4,1/4]; hf1=hmessage(x,f1,4,4) hx=dmessage(x,4) disp('c1信道容量为'); c1=hx-hf1

f2=[1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8 1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8 1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8 1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8]; hf2=hmessage(x,f2,4,8) hx=dmessage(x,4)

11

disp('c2信道容量为');

c2=hx-hf2

在这个程序之中有两个信道容量的转移概率矩阵,为了求两个信道容量,调用了两个函数:hmessage()和dmessage(),利用dmessage来求信源的熵,利用函数hmessage来求平均互信息量并最终得到信道容量。

3、 信源编码(以Huffman编码为例)

p=[1/2,1/4,1/8,1/16,1/16] i=dmessage(p,5) [h,l]=huffman(p)

n=i/l

采用了哈夫曼编码,对离散的信源直接调用huffman..m函数文件就能得到编码,调用dmessage函数得到平均信息量。

4、 编程实现ASK调制技术、绘制时、频域波形

y=sin(2*pi*t1); %二元序列为10101100

x=[ones(1,100),zeros(1,101),ones(1,100),zeros(1,100), ones(1,100),ones(1,100),zeros(1,100),zeros(1,100)]; 。。。。。。

z=x.*y; %二元序列点乘y 即进行ask调制 。。。。。。

[Am3,pha3]=dft3(x); ?t变换

二进制序列为10101100把二元序列点乘正弦载波。并绘制出原始二元序列和调制后的时域/频域图形。绘制频谱图时,对其进行傅立叶变换(调用dft3.m函数文件)即可。

12

5、 编程实现FSK调制技术、绘制时、频域波形

%二元序列为10110010

t=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100) ,zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)]; y=sin(x.*(2*pi+2*t)); 。。。。。。

[Am3,pha3]=dft3(x); ?t变换

6、 编写实现PSK/DPSK调制技术,绘制时。频域波形

二元序列为10110010

d=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100), zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)]; s=cos(2*pi*fc*x+pi.*d); 。。。。。。

[Am3,pha3]=dft3(x); ?t变换

7、 编程实现16/64QAM调制/解调技术,绘出时、频域波形

%产生随机序列函数

x = randint(n,1);

。。。。。。

%转换为4比特的矢量点并映射成十进制数

xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');

。。。。。。

%调用qammod.M库函数文件 y = qammod(xsym,M)

13

。。。。。。

16QAM是用两路独立的正交4ASK信号叠加形成的。 QAM信号的时域表达式为

s?????XnT?MQAM(t)ng(t?S)n??cos?ct?????Yg(t?nT?nS)?sin?ct n??mI(t)cos?ct?mQ(t)sin?ct

四.数字信号频带传输系统

开始 输入基QAM带信号调制 和载波 2ASK2FSK2PSK2DPSK调制 调制 调制 调制 2ASK2FSK2PSK2DPSK调制 调制 调制 调制 图4 数字信号频带传输流程图

14

五、程序调试

1、程序的图

图(1)该图是用高斯分布实现平均信息量的计算

图(2)以输入符号等概分布来实现离散信道容量的计算

图(3)是实现信源编码过程

15

图(4)表示原信号的频域波形,频率为50HZ

图(5)是ASK调制后的时域波形

16

图(6)原信号的频域波形

图(7)表示用FSK调之后的频域波形

可以看出载频有所改变,由于跳频同时必然带来了相位改变所以有相

17

位的突变。

图(8)用PSK、DPSK调制之后的频谱波形

图(9)QAM原始的结果

18

图(10)QAM调制后的结果

图(11)QAM调制后的时域波形

19

六、总结

此次课程设计,我做的题目是数字信号频带传输系统设计,在两周的课程设计之中,我体会到了很多东西,也学到了很多很多的东西,也按时的完成了老师所布置的任务,

通过两周的努力,现在我较好地完成了既定目标,在试验中我学到了不少东西,也感触很深,在自己的努力下收获了成的喜悦。

在“三分编程七分调试”,说明程序调试的工作量要比编程大得多对于这次课程设计,我感触颇多,从拿到题目到完成整个课程设计,从理论到实践,在整整两个星期的日子里,学到了很多很多的的东西,同时不仅巩固了学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到很多很多的问题,因为这毕竟是第一次通信原理课程设计,难免会遇到各种各样的问题。当程序能正确运行时那种成就感无法言表,我感受到了收获的喜悦。也就是从现在我更深刻体会到学海无涯,我要用正确的态度面对学习的挑战,理论联系实际,进一步熟练掌握科学知识,武装自己的头脑,为将来走向社会打下坚实的基础。”

在这两周中,我的心情有时候会因为程序的成功而高兴不已,有时也会因为设计的失败而感到沮丧,但是对于我来说,不管怎么样,只要我自己的能力得到了提升,再怎么样都没有问题,再实验过程中,我的问题还是有一些,有时候自己解决不了的我就虚心的请求其他会做的同学帮忙,在自己的努力下和同学老师的帮助下,终于做完了此次的课程设计,最后向老师说声感谢,因为你们的帮助室我认识到许多错误,同时也是使我在实践的时候少走了不少弯路,感谢你们给我一个锻炼和实践的机会!

20

七、附件

平均信息量的计算:

syms x u o u=3; o=4;

f=1/(u*sqrt(2*pi))*exp(-(x-o)^2/2*u^2); t=-f*log(f)/log(2); r=int(t,-inf,inf); disp('平均信息量为') r=double(r) 信道容量:

x=[0.25,0.25,0.25,0.25] f1=[1/2,1/2,1/2,1/2 1/2,1/2,1/2,1/2 1/2,1/2,1/2,1/2 1/2,1/2,1/2,1/2]; hf1=hmessage(x,f1,4,4) hx=dmessage(x,4) c1=hx-hf1;

f2= [1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8 1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8 1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8 1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8]; hf2=hmessage(x,f2,4,8) hx=dmessage(x,4) 实现信源编码的过程;

p=[1/2,1/4,1/8,1/16,1/16]; i=dmessage(p,5) [h,l]=huffman(p) n=i/l

平均互信息量函数文件:

function r=hmessage(x,f,nx,my); sum=0; for i=1:nx for j=1:my

t=f(i,j)*x(i)

21

sum=sum-t*log(f(i,j))/log(2); end;end; r=sum;

disp('平均互信息量为');

平均信息量函数文件:

function r=cmessage(f) t=-f*log(f)/log(2); r=int(t,-inf,inf); disp('平均信息量'); r=double(r); 信源熵函数文件:

function r=dmessage(x,n) r=0;

for i=1:n

r=r-x(i)*log(x(i))/log(2); end

disp('次离散信源的平均信息量为'); ASK调制方式:

t=0:0.01:8; fs=50;

y=sin(2*pi*t);

x=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)]; figure(1)

subplot(2,1,1); plot(t1,x)

[Am3,pha3]=dft3(x); n=[0:(length(x)-1)]; w=(2*pi/length(x))*n;

subplot(2,1,2), plot(fs*w/(2*pi),10*log10(Am3),'b'); grid; xlabel('frequency in radians'); ylabel('|X(exp(jw))|'); z=x.*y; figure(2)

n=[0:(length(x)-1)]; w=(2*pi/length(x))*n;

subplot(2,1,1), plot(t1,z); [Am3,pha3]=dft3(z);

subplot(2,1,2), plot(fs*w/(2*pi),10*log10(Am3),'b'); grid; title('Phase Part');

xlabel('frequency in radians'); ylabel('argX[exp(jw)]/radians');

22

FSK调制方式:

x=0:0.01:8;

t=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)]; y=sin(x.*(2*pi+2*t)); plot(x,y) figure(1)

n=[0:(length(x)-1)]; w=(2*pi/length(x))*n; subplot(2,1,1); plot(t1,t);

[Am3,pha3]=dft3(t);

subplot(2,1,2), plot(fs*w/(2*pi),10*log10(Am3),'b'); grid; xlabel('frequency in radians'); ylabel('|X(exp(jw))|'); figure(2)

n=[0:(length(x)-1)]; w=(2*pi/length(y))*n;

subplot(2,1,1), plot(t1,y); [Am3,pha3]=dft3(y);

subplot(2,1,2), plot(fs*w/(2*pi),10*log10(Am3),'b'); grid; xlabel('frequency in radians'); ylabel('argX[exp(jw)]/radians'); 2PSK调制方式

x=0:0.01:8; fc=2; fs=50;

%二元序列为10110010

d=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)]; s=cos(2*pi*fc*x+pi.*d); %z=d.*s; subplot(211); plot(x,d);

title('原始二元序列'); xlabel('时间'); ylabel('幅度');

23

[Am3,pha3]=dft3(d); %原信号频域波形

subplot(2,1,2), plot(fs*w/(2*pi),10*log10(Am3),'b'); grid; xlabel('频率/Hz'); ylabel('振幅'); figure(2)

n=[0:(length(s)-1)]; w=(2*pi/length(s))*n; subplot(2,1,1); plot(x,s);

title('调制后的信号'); xlabel('时间'); ylabel('幅度'); [Am3,pha3]=dft3(s); %调制后的频谱波形

subplot(2,1,2), plot(fs*w/(2*pi),10*log10(Am3),'b'); grid; xlabel('频率/Hz'); ylabel('振幅'); 16QAM调制:

t1=0:0.01:8; M = 16;

k = log2(M); % 4 位 n = 3e4; nsamp = 1;

%产生随机信号 40比特 x = randint(n,1); figure(1); % 产生40位.

stem(x(1:40),'filled'); title('Random Bits');

24

xlabel('Bit Index'); ylabel('Binary Value'); %转化为4比特的矢量点

xsym = bi2de(reshape(x,k,length(x)/k).','left-msb'); %画转换后的样本

%% Stem Plot of Symbols

% Plot first 10 symbols in a stem plot. figure(2); % Create new figure window. stem(xsym(1:10)); title('Random Symbols');

xlabel('Symbol Index'); ylabel('Integer Value'); %% 16-QAM调制 y = qammod(xsym,M); ytx = y; %加高斯白噪声 EbNo = 10; % In dB

snr = EbNo + 10*log10(k) - 10*log10(nsamp); ynoisy = awgn(ytx,snr,'measured'); yrx = ynoisy; %画星云图

h = scatterplot(yrx(1:nsamp*5e3),nsamp,0,'g.'); hold on; figure(3);

scatterplot(ytx(1:5e3),1,0,'k*',h); title('Received Signal');

legend('Received Signal','Signal Constellation'); axis([-5 5 -5 5]); % Set axis ranges. hold off;

%画调制后的时域图 figure(4) stem(yrx(1:10));

title('调制后的时域波形');

25

xlabel('qam Index'); ylabel('qam Value');

Dft3.m函数文件:

function[Am,pha]=dft3(x) Xk=fft(x); Am=abs(Xk); pha=angle(Xk);

八、评分表

课程设计评分表

课程名称: 通信原理

项 目 评 价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 答辩陈述与回答问题情况 课程设计周表现情况 综合成绩

教师签名: 日 期:

26

《通信原理》课程设计报告-数字信号频带传输系统设计

课程设计报告课程名称通信原理课题名称数字信号频带传输系统设计专业通信工程班级0
推荐度:
点击下载文档文档为doc格式
3to273kjjf3uh255c6he20sz532alg00ceh
领取福利

微信扫码领取福利

微信扫码分享