数字信号频带传输系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称通信原理
课题名称数字信号频带传输系统设计
专业通信工程
班级
学号
姓名
指导教师
2011年12月26 日
湖南工程学院
课程设计任务书
课程名称通信原理课程设计
课题
专业班级
学生姓名
学号
指导老师
审批
任务书下达日期2011 年12 月12 日任务完成日期2011 年12 月26 日
一、设计目的与设计内容
1、设计目的:
结合《通信原理》课程内容,培养实际动手能力,增强把书本知识转化为实践设计的能力。
在强调基本原理的同时,更突出设计过程的锻炼。
强化学生的实践创新能力和独立进行科研工作的能力。
要求学生经过课程设计这一教学环节学会应用MATLAB软件来实现信号传输中的各个基本环节
2、设计内容:
具体设计题目包括:模拟调制、数字调制、PCM编解码、循环码的编译码、m序列伪随机码、最佳接收等内容。
其具体的设计题目如下:
题目1 信息论基本计算。
要求:(1)编程实现信源平均信息量的计算(以高斯分布的信源为例);
(2)编程实现离散信道容量的计算(以输入符号等概分布为例);
(3)编程实现信源编码过程(以Huffman编码为例);
题目2 PCM编译码器设计及应用。
要求:(1)用simulink对系统建模设计一个PCM编译码器
(2)输入模拟话音信号观察其输出波形;
(3)输入数字信号观察其输出波形
(4)对所设计的系统性能进行仿真分析
(5)对其应用举例阐述。
题目3 数字信号基带传输系统设计
要求:(1)编程实现常见基带信号的波形、码型转换:非归零/归零码、AMI码;
(2)并绘出每种波形、码型的功率谱分布,给出与在理论课上所学相符合的分析与理解;
(3)编程实现基带传输系统的误码率计算:二电平误码率计算;
(4)编程实现基带信号传输的扰码与解扰。
题目4 数字信号频带传输系统设计
(1)2ASK调制/相干解调器和非相干解调系统(包络检波法)设计
要求:a编程实现或是用simulink对系统建模
b输入数字信号序列并进行接收判决。
c通过多次输入输出对两种系统性能进行分析比较
d绘出信号的时域波形和频谱图;
(2)2FSK调制/相干解调器和非相干解调系统(包络检波法)设计
要求:a编程实现或是用simulink对系统建模
b输入数字信号序列并进行接收判决。
c通过多次输入输出对两种系统性能进行分析比较
d绘出信号的时域波形和频谱图;
(3)2PSK、2DPSK调制/相干解调系统设计
要求:a编程实现或是用simulink对系统建模
b输入数字信号序列并进行接收判决。
c通过多次输入输出对两种系统性能进行分析比较
d绘出信号的时域波形和频谱图;
(4)16/64QAM调制/解调系统设计
要求:a编程实现或是用simulink对系统建模
b输入数字信号序列并进行接收判决。
c通过多次输入输出对两种系统性能进行分析比较
d绘出信号的时域波形和频谱图;
题目5 设计一个先验等概的2ASK最佳接收机
要求:(1)编程实现或是用simulink对系统建模
(2)输入数字信号序列并进行接收判决。
(3)通过多次输入输出对所设计的系统性能进行分析。
题目6 设计一个DSB调制/解调电路(用平方环和科斯塔斯环实现载波提取)要求:(1)编程实现或是用simulink对系统建模
(2)输入模拟话音信号观察其输出波形;
(3)对所设计的系统性能进行仿真分析
(4)对其应用举例阐述
题目7 数字通信频带传输系统综合设计
必做题目:题目1,2,3;
选作题目:4(1)、4(2)、4(3)、4(4),5,6中的一个;
综合题目7:每班同学中,做2、3、4、5题目的各选2个同学,共计6人合作
来完成题目7。
3、设计要求:
(1)在一周内学生须上机16小时以上,程序调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程序可通过打印机输出,并请教师在程序清单上签字。
(2)课程设计报告内容和格式:设计题目,设计的详细步骤,设计过程中的结果、图形等,设计总结。
(3)每组每人必须独立完成,成绩的考核按设计结果、答辩成绩及课程设计报告来综合评定。
成绩分为优、良、中、及格、不及格五级分评定。
(4)指导教师:彭祯,谭小兰。
二、进度安排
第十六周星期三8:00——12:00
星期五8:00——12:00
星期日8:00——12:00
星期日14:00——18:00
第十七周星期二14:00——18:00
星期四14:00——18:00
目录
一、课题的主要功能 (1)
二、课题的功能模块的划分 (1)
2.1、信息论基本计算 (1)
2.2、PCM编译码器应用 (1)
2.3、数字信号基带传输系统设计 (2)
2.4、设计一个先等概的2ASK最佳接收机 (2)
三、主要功能的实现 (3)
3.1、信息论基本计算 (3)
3.2、PCM编译码器 (5)
3.3、数字信号基带传输系统 (6)
3.4、先验等概的2ASK最佳接收机 (7)
四、程序调试 (9)
4.1、信息论基本信息 (9)
4.2、PCM编译码器设计及应用 (10)
4.3 数字信号基带传输系统设计 (13)
4.4、设计一个先验等概的2ASK最佳接收机 (18)
五、总结 (18)
六、附件 (19)
七、评分表 (28)
一、课题的主要功能
此次课题的主要功能是希望学生能够通过利用MATLAB软件对通信原理的课程内容进行仿真,培养实际动手能力,增强把书本知识转化为实践设计的能力。
让学生不仅仅是片面的了解书上的内容,而是通过课程设计分析实验结果进而对通信原理这门课程的基本原理了解的更透彻。
在强调基本原理的同时,更突出设计过程的锻炼。
强化学生的实践创新能力和独立进行科研工作的能力。
同时让学生们更加熟练的掌握MATLAB这门工具。
二、课题的功能模块的划分
2.1、信息论基本计算
2.2、PCM编译码器应用
2.3、数字信号基带传输系统设计
2.4、设计一个先等概的2ASK最佳接收机
三、主要功能的实现
3.1、信息论基本计算
3.1.1 平均信息量的计算 (1)原理与分析
对离散信源的平均信息量(熵)为
H (X )=-))((log )(12b x P x P i N
i i ∑=
也可以用其他的数作为对数的底,如以e 为底,单位有比特改为奈特(nit )。
对连续信源的信息量定义与此类似,设该信源的概率密度函数是f(x),则信源的平均信息量为
X (X )=-d x f x f )(log )(_2⎰+∞
∞
x(b)
(2)高斯分布信源分析
高斯分布函数的概率分布函数是:
()π
σ*21
p =
x exp [﹣()2
2
2a -x σ]; 则由平均信息量的公式
H(X)= —()()i i
i x p x p log ∑;
可以得出以高斯分布的信源的平均信息量。
3.1.2离散信道容量的计算 (1)原理与分析
信道是所传信息的载体,信号所要通过的通道。
信道在信息系统中的主要作用是传输与存储信息,而在通信系统中的主要作用是传输信息。
对于有干扰的离散信道,假设通信系统发送端每秒发出r 个符号,则该信道的信息传输速率为
R=I(X,Y)r=[H(X)-H(X|Y)]r=[H(Y)-H(Y|X)]r
而信道容量C 就是R 的最大值max(R)。
在H(Y|X)一定的时候,当H(Y)达到最大值时,信道容量C 也达到最大值,通常在涉及的信道中,信道输入的符号等概率分布和输出符号的等概率分布是同时存在的,对一个对称的信道而言,信源熵有最大值时,信道容量最大。
(2)输入符号等概分布的分析
信道输入为等概率分布,即p i =1/4, i=1,2,3,4.
3.1.3 以Huffman编码实现信源编码
3.2、PCM 编译码器
3.2.1、PCM 系统的原理方框图
3.2.2用simulink 建立PCM 译码器
图(六)
模 拟 信 号 输 入
编码器
PCM 信 号
解码器
模拟信号输 出
抽样保持电路
量化器
编码器
解码器
低统滤波器
图(五)
3.2.3 建立解码器
图(七)3.2.4输入模拟/数字信号观察输出波形
图(八)
3.3、数字信号基带传输系统
3.3.1基带数字信号传输系统模型
发送滤波器信道
接受滤
波器
抽
样
G
T (f)
C(f)
G
R
(f)
噪声
图(九) 基带数字信号传输系统模型
3.3.2编程实现基带信号的波形功能实现图
单极性非归零 双极性非归零
t
基带信号的波形:将二进制信号用数字“0”和“1”“-1”表示,这些数字在电路中是用电压表示出来的,现在用矩形电压脉冲表示为例,有单极性波形、双极性波形、单极性归零波形、双极性归零波形。
其他码元的波形类似于单极性和双极性的码元画法。
3.4、先验等概的2ASK
最佳接收机
3.4.1
先验等概的最佳接收准则
当先验概率相等,即P (1)=P (0)时,则要求按下列准则划分: 在区域A 0内所有点上: P(1)f 1(r)<P(0)f 0(r)
在区域A1内所有点上:P(0)f
0(r)< P(1)f
1
(r)
当先验概率相等时:
当接收矢量r使:f
1(r)< f
(r),则判发送码元是“0”
当接收矢量r使:f
0(r)< f
1
(r),则判发送码元是“1”
3.4.2等先验概率二进制最佳接收机原理方框图
图(十二)最佳接收机原理图3.4.3 simulink建模
图(十三)最佳接收机系统模块3.4.4 系统的性能分析
相乘器积分器
相乘器积分器比较判决
四、程序调试
4.1、信息论基本信息
(1)编程实现信源平均信息量的计算(以高斯分布的信源为例)
(2)编程实现离散信道容量的计算(以输入符号等概分布为例)
(3)编程实现信源编码过程(以Huffman编码为例)
4.2、PCM编译码器设计及应用
(1)用simulink对系统建模设计一个PCM编译码器
图(十五)PCM编码器
图(十六)PCM解码器(2)输入模拟话音信号观察其输出波形
图(十七)正弦信号输入
(3)输入数字信号观察其输出波形
图(十八)输入数字信号
(4)对所设计的系统性能进行仿真分析
图(十九)PCM编译码系统性能仿真得出的量化信噪与输入的信号电平的关系(5)对其应用举例阐述
图(二十)经过PCM后的脉冲和经过信道后的信道误码脉冲
图(二十一)经过PCM后的正弦信号和经过信道后的信道误码脉冲
4.3 数字信号基带传输系统设计
(1)编程实现常见基带信号的波形、码型转换:非归零/归零码、AMI码;
图(二十二)单极性非归零码
图(二十三)单极性归零码
图(二十四)双极性非归零
图(二十五)双极性归零
图(二十六)AMI码图像
(2)并绘出每种码型的功率谱分布
图(二十七)单极性码型功率分布
图(二十八)双极性码型分布
(3)编程实现基带传输系统的误码率计算:二电平误码率计算;
图(二十九)基带信号误码率
4.4、设计一个先验等概的2ASK最佳接收机
(1)输入数字信号序列并进行接收判决
图(三十)接受判决
五、总结
此次实验课程设计学校给了我们一个很好的平台将所学的理论的只是应用于实践中,在两个星期的课程设计中,我不仅对通信原理有了更进一步的了解,同时更加熟练了的掌握了MATLAB软件的应用。
我做的课设题目是前面三个和后面的2ASK的最佳接收器的设置。
虽然这个学期学了MATLAB但是由于学的不好,又没有运用。
刚拿到题目的时候特别的盲目不知道该如何做。
老师给了我们一个小时的时间去查资料,在查阅了网上的资料和MATLAB书以及老师上课的课件后对此次实验有了一个大概的掌握。
在信息论的基本运算时主要运用到的是MATLAB的M文件写程序实现,让我对平均信息量的计算更加印象深刻,在对Huffman编码实现信源编码时遇到了许多的问题,开始的时候不记得Huffman编码的实现过程,在问了同学后才知道了它是将概率大的信息符号编以短的码字,概率小的符号配以长的码字,使得平均码字长度最短,冗余度减小。
在错PCM编码器的设计时运用到Simulink,通
过自己构建系统模块实现PCM的编码译码以及输出波形,开始都是一步步按照着书上的模块来建模,但是在调试参数的时候出现了好多的问题,总是不能得出满意的波形,在这个过程中我学会如何分析实验原理去得到实验结果,只有将PCM的编码过程熟悉了,才能够建好系统模块并且调好参数,根据你所分析的结果去得到实验结果看是否正确。
并且开始初步的对Sinmlink里面的模块有一定的了解知道了那些模块的功能是什么,适用于什么构造中。
数字信号基带传输系统相对而言比较快的做出来了因为书上有例题,看懂之后自己做起来比较的容易实现。
在求功率普密度时是在同学的帮助下求的到的。
设计一个先验等概的2ASK最佳接收机花了比较长的时候,开始的时候要看懂通信原理怎么样构造最佳接收机。
它是由相乘器、记分器、相加器以及最后的比较判决使通信系统中噪声引起的错误率概率最小。
参数设计时我调试了很多次都没有得到的满意的波形,最后在老师的指导下才发现自己没有注意两个脉冲调制模块的参数设计其实是存在着内在联系的,并不是自己以为的那么简单。
当实验结果与自己分析的结果一致时那种成功的兴奋感是难以言喻的。
在此次课程设计中学到的东西远远不止在于如何运用MATLAB软件和对通信原理的知识掌握。
更多的是学到了如何分析问题、解决问题。
让我感触到无论做什么都有个困难期这个时候不要放弃,要静下心来好好去看下基础知识,只有地基打的好才能建好房子的,平时中的我们过于心急总想着一口气吃成大胖子而忘却了最基本的东西。
在以后的学习生还是要先对基本原理知道掌握于心,再加强实践能力的提升。
六、附件
1、编程实现信源平均信息量的计算(以高斯分布的信源为例);
程序:
u=4;
o=5;
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=message(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=message(x,4)
disp('c2信道容量为');
c2=hx-hf2
函数hmessage()
function r=hmessage(x,f,nx,my)
sum=0;
for i=1:nx
for j=1:my
t=f(i,j)*x(i); %求平均互信息量
sum=sum-t*log(f(i,j))/log(2);
end
end
r=sum;
disp(‘平均互信息量:’);
double(r) %返回结果
函数message()
function r=message(x,n)
r=0;
for i=1:n
r=r-x(i)*log(x(i))/log(2);
end
disp‘次离散信源的平均信息量:’);
double(r)
3、编程实现信源编码过程(以Huffman编码为例);
程序:
function[h,l]=huffman(p)
if length(find(p<0)~=0);
error('Input is not a prob.vector,there is negative component'); end
if abs(sum(p)-1)>10e-10
error('Input is not a prob.vector,the sum of the component is not equal to 1.');
end
n=length(p);
q=p;
m=zeros(n-1,n);
for i=1:n-1,
[q,e]=sort(q);
m(i,:)=[e(1:n-i+1),zeros(1,i-1)];
q=[q(1)+q(2)+q(3:n),e];
end
for i=1:n-1,
c(i,:)=blanks(n*n);
end
c(n-1,n)='0';
c(n-2,2*n)='1';
for i=2:n-1
c(n-i,1:n-1)=c(n-i+1,n*(find(m(n-i+1,:)==1))-(n-2):n*(find(m(n-i+1,:)==1) ));
c(n-i,n)='0';
c(n-i,n+1:2*n-1)=c(n-i,1:n-1);
c(n-i,2*n)='1';
for j=1:n;
c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(m(n-i+1,:)==j+1)-1+...
1:n*(find(m(n-i+1,:)==j+1))));
end
end
for i=1:n
h(i,1:m)=c(1,n*(find(m(1,:)==i)-1)+1:find(m(1,:)==i)*n);
e(i)=length(find(abs(h(i,:))~=32));
end
e=sum(p.*e);
4、数字信号基带传输系统设计
5、单极性非归零码:
function y=snrz(x);
grid=300;
t=0:1/grid:length(x);
for i=1:length(x);
if(x(i)==1),
for j=1:grid,
y((i-1)*grid+j)=1;
end;
else
for j=1:grid,
y((i-1)*grid+j)=0;
.
end
end
end
y=[y,x(i)];
M=max(y);m=min(y);
subplot(2,1,1);plot(t,y);
axis([0,i,m-0.1,M+0.1]);
title('1 0 0 1 1 0 0 0 0 1 0 1');
6、码型功率谱密度分布
N=1024;
M=64;
s=N/M;
a=round(rand(1,s));
rb=2;
T=1/rb;
dt=T/M;
F=1/N/dt;
Fs=1/dt;
y=snrz(a);
ys=abs(fft(y)).^2/N;
f=0:F:Fs;
figure(2)
plot(f,10*(log10(ys)));
单极性归零码:
function y=srz(x);
grid=200;
t=0:1/grid:length(x);
for i=1:length(x);
if(x(i)==1),
for j=1:grid/2,
y(grid/2*(2*i-2)+j)=1;
y(grid/2*(2*i-1)+j)=0;
end
else
for j=1:grid/2,
y(grid*(i-1)+j)=0;
end
end
end
y=[y,x(i)];
M=max(y);m=min(y);
axis([0 12 0 1.2])
subplot(2,1,1);plot(t,y);
title('1 0 0 1 1 0 0 0 0 1 0 1');
7、双极性非归零:
function y=dnrz(x);
grid=300;
t=0:1/grid:length(x);
for i=1:length(x);
if(x(i)==1),
for j=1:grid,
y((i-1)*grid+j)=1;
end;
else
for j=1:grid,
y((i-1)*grid+j)=-1;
end
end
end
M=max(y);m=min(y);
subplot(2,1,1);plot(t,y);
axis([0,i,m-0.1,M+0.1]);
title(' 1 0 0 1 1 0 0 0 0 1 0 1');
8、双极性功率普
N=1024;
M=64;
s=N/M;
a=round(rand(1,s));
rb=2;
T=1/rb;
dt=T/M;
F=1/N/dt;
Fs=1/dt;
y=dnrz(a);
ys=abs(fft(y)).^2/N;
f=0:F:Fs;
figure(2)
plot(f,10*(log10(ys)));
9、双极性归零:
function y=drz(x);
grid=200;
t=0:1/grid:length(x);
for i=1:length(x);
if(x(i)==1),
for j=1:grid/2,
y(grid/2*(2*i-2)+j)=1;
y(grid/2*(2*i-1)+j)=0;
end
for j=1:grid/2,
y(grid/2*(2*i-2)+j)=-1;
y(grid/2*(2*i-1)+j)=0;
end
end
end
y=[y,x(i)];
M=max(y);m=min(y);
axis([0,i,m-0.1,M+0.1]);
subplot(2,1,1);plot(t,y);
title('1 0 0 1 1 0 0 0 0 1 0 1');
10、误码率计算绘图如下:
clear all;
sn=0.1:0.01:100;
snlg=20*log10(sn);
sdouble=sqrt(sn);
ssingle=sqrt(sn/2);
bdouble=xiu(sdouble);
bsingle=xiu(ssingle);
semilogy(snlg,bdouble);
hold on;
semilogy(snlg,bsingle,'r:');
xlabel('信噪比')
ylabel('误码率');
axis([-20 30 0.00000001 1]);
legend('单极性','双极性');
AMI码的调制:
xn=[1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0];% ÊäÈëµ¥¼«ÐÔÂë
yn=xn;% Êä³öyn³õʼ»¯
num=0;% ¼ÆÊýÆ÷³õʼ»¯
for k=1:length(xn)
if xn(k)==1
num=num+1; % ¡°1¡±¼ÆÊýÆ÷
if num/2 = fix(num/2) % ÆæÊý¸ö1ʱÊä³ö-1,½øÐм«ÐÔ½»Ìæ
yn(k)=1;
else
yn(k)=-1;
end
end
end
plot(yn);
七、评分表
计算机与通信学院课程设计评分表
课题名称:。