收藏 分享(赏)

《通信原理》课程设计1.doc

上传人:dreamzhangning 文档编号:2722184 上传时间:2018-09-26 格式:DOC 页数:30 大小:651KB
下载 相关 举报
《通信原理》课程设计1.doc_第1页
第1页 / 共30页
《通信原理》课程设计1.doc_第2页
第2页 / 共30页
《通信原理》课程设计1.doc_第3页
第3页 / 共30页
《通信原理》课程设计1.doc_第4页
第4页 / 共30页
《通信原理》课程设计1.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、通信原理课程设计任务书一、设计目的与设计内容学生通过自己设计及建立通信系统,掌握通信系统的构成原理、信号传输的概念,加深对通信系统及信号的认识,提高学生的实际应用、动手能力。要求学生经过课程设计这一教学环节学会应用 MATLAB 软件来实现信号传输中的各个基本环节。可选的设计题目有:(1)信息论基本计算。要求:编程实现信源平均信息量的计算(以高斯分布的信源为例);编程实现离散信道容量的计算(以输入符号等概分布为例);编程实现信源编码过程(以 Huffman 编码为例);(3)数字信号基带传输系统设计编程实现常见基带信号的波形、码型转换,包括:单/双极性、非归零/归零码、数字双相码(曼彻斯特码)

2、、密勒码、AMI 码、HDB 3码,并绘出每种波形、码型的功率谱分布,给出与在理论课上所学相符合的分析与理解。二、课程设计进度要求序号设计内容 时间(具体上机时间另行通知)1 资料查阅 2 天2 编写调试程序 8 天3 验证设计结果 2 天4 课程设计答辩 2 天合 计 14 天三、课程设计说明书与图纸要求 1、逻辑清晰、层次分明、书写整洁;2设计任务及主要技术指标和要求;3选定方案的论证及整体仿真方案的工作原理、程序分析;4附程序清单或软盘;。5课程设计说明书须每人一份,独立完成。四、课程设计评分标准评 定 项 目 评分成绩1选题合理、目的明确。 (10 分)2设计方案正确,具有可行性、创新

3、性。 (20 分)3设计结果。 (硬件成果、软件程序) (25 分)4态度认真、学习刻苦、遵守纪律。(10 分) 5设计报告的规范化、参考文献充分。 (不少于 5 篇)(10 分)6答辩。(25 分)总分 (100)备注:成绩等级:优(90 分100 分) 、良(80 分89 分) 、中(70 分79 分) 、及格(60 分69 分) 、60 分以下为不及格。五、课程设计参考资料教材:通信原理第 5 版,主编:樊昌信,出版社:国防工业出版社, 2004 年。参考书:MATLAB 通信仿真与应用,主 编:刘敏,出版社:北京邮电大学出版社,2004 年。附:课程设计报告装订顺序:封面、任务书、目录

4、、正文、评分、附件(A4 大小的图纸及程序清单) 。 正文的格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图) ;三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释) ;七、评分表。目 录1 课题名称 .12 课程设计的方案和基本原理 .12.1 信息论基本计算 .12.2 数字信号基带传输系统 .13 课程设计步骤 .33.1 信息论基本计算的设计步骤 .33.2 数字信号基带传输系统的设计步骤 .34 课程设计结果和结果分析论证 .44.

5、1 信息论的基本运算结果 .44.2 数字信号基带传输系统的设计结果 .65、心得体会 116 附件 .126.1 信息论基本计算 .126.2 数字信号基带传输系统 .147 评分表 2811 课题名称(1)信息论基本计算。(3)数字信号基带传输系统设计2 课程设计的方案和基本原理2.1 信息论基本计算2.1.1 平均信息量:平均每个符号所能提供的信息量。H(X) 。2.12 离散信道容量:信道容量是信道所能传送的最大的信息量。C=maxI(X;Y) R=I(X;Y)=H(X)-H(XY)2.13 信源编码过程:Huffman 编码的意义是,用最少的编码长度来表达符号的信息。为了使平均码长度

6、最小,将发生概率较大的符号用比较短的码组来表示,将发生概率较小的符号用较长的码组实现,以得到最佳的变长编码,减少冗余度,提高系统传输的效率。2.2 数字信号基带传输系统2.2.1 数字基带信号的码型:由于数字基带信号是数字信息的电脉冲表示,不同形式的基带信号(又称为码型)有不同的频谱结构和功率谱分布。不同的码型有不同的优点,常用的码型有单/双极性码、非归零/归零码、数字双相码(曼彻斯特码)、密勒码、AMI 码、HDB 3码。2.2.2 单/双极性码:单极性码是用电平 1 来表示二元信息中的1 ,用电平0 来表示二元信息中的 0,电平在整个码元的持续时间里保持不变,记做 NRZ 码。双极性码与单

7、极性码的区别仅在于它用电平-1 来表示二元信息中的0 。2.2.3 非归零/归零码:归零码与非归零码的区别仅在于,非归零码在整个码元持续时间内保持电平值不变,而归零码的码元持续时间的前一半时间内保持,而后一半时间内回到 0.22.2.4 数字双相码(曼彻斯特码):此种码型采用在一个码元的持续时间中央时刻从 0 到 1 的跳变来表示 1,从 1 到 0 的跳变来表示 0。或者与之相反用在一个码元的持续时间中央时刻从 0 到 1 的跳变来表示 0,从 1 到 0 的跳变来表示1。2.2.5 密勒码:该码型是双相码的变型。它采用码元中央时刻跳变表示信息1 即前半时间的电平和前一码元的后半时间的电平相

8、同,中间跳变。遇到信息0 做如下处理:首先对 0 的码元在整个持续时间内保持同一电平值,其次若此0 的前一信息是一则码元的电平同前面信息 1 的码元后半时间电平相同,若前一信息为 0,则与前面码元的电平相反。2.2.6 AMI 码、HDB 3码: AMI 码是传号交替反转码。其编码规则是将消息码中的“1”交替变成“+1”和“-1” ,将消息码中的“0”仍保持为“0” 。HDB3 码的全称是 3 阶高密度双极性码。首先将信息码变换成 AMI 码,然后检查 AMI 码中连 0 的情况,没有发现 4 个以上连 0 的码元串时码型不需变换,仍为 AMI 码的形状。若发现 4 个以上连 0 的码元串时,

9、则根据相应规则把第四个 0 变换成相应符号。2.2.7 码型的功率谱分布:数字基带信号一般是随机信号,因此分析随机信号的频谱特性要用功率诺密度来分析。一般来说,求解功率谱是一件相当困难的事,但由于上述几种码型比较简单,我们可以求出其功率谱密度函数。对单极性非归零码、单极性归零码、双极性非归零码和双极性归零码这 4 种码。由于统计的独立性,课由由功率谱公式画出功率谱波形图。数字双相码的功率相关公式如下:“y=sin(pi*x/2);y=y./(pi*x/2);y(1)=1;mache=sin(pi*x/2).*sin(pi*x/2);mache=mache.*y;mache=mache.*y”。

10、密勒码的相关功率公式如下:“x=x*pi;miler=(23-2*cos(x)-22*cos(2*x)-12*cos(3*x)+5*cos(4*x)+12*cos(5*x)+2*cos(6*x)-8*cos(7*x)+2*cos(8*x)./(17+8*cos(8*x);t=x.*x;miler=miler./t;”对于AMI码和HDB3码的功率谱函数,则需要进行实际的码型进行分析。33 课程设计步骤3.1 信息论基本计算的设计步骤3.1.1 信源平均信息量的计算(以高斯分布的信源为例):通过系统产生一个高斯随机信源,再求出它的平均信息量。3.1.2 离散信道容量的计算(以输入符号等概分布为例

11、):编写hmessage函数求出平均互信息,编写dmessage函数,求出离散信息熵,调用hmessage函数和dmessage函数得出hf和hx,最后信道容量c=hx-hf。3.1.3 信源编码过程(以 Huffman 编码为例):先编写 huffman 函数,对系列排序并求出 huffman 编码。调用 huffman 函数和 dmessage 函数,得出编码后的码字。3.2 数字信号基带传输系统的设计步骤3.2.1单/双极性归零/非归零码:先对原始码型进行相应的码型变换,画出码型子图,再由功率谱公式画出功率谱波形图。3.2.2 数字双相码:先进行码型变换,再画出功率谱,功率相关公式如下:

12、“y=sin(pi*x/2);y=y./(pi*x/2);y(1)=1;mache=sin(pi*x/2).*sin(pi*x/2);mache=mache.*y;mache=mache.*y”。3.2.3 密勒码:密勒码的相关功率公式如下:“x=x*pi;miler=(23-2*cos(x)-22*cos(2*x)-12*cos(3*x)+5*cos(4*x)+12*cos(5*x)+2*cos(6*x)-8*cos(7*x)+2*cos(8*x)./(17+8*cos(8*x);t=x.*x;miler=miler./t;”3.2.4AMI 码:编写 AMI 函数,求的 AMI 码型变换。

13、编写 t2f 函数,功能是将时域信号做傅里叶变换到频域。为了求 AMI 码的功率谱密度,编写 AMIpower 函数,该函数中又调用了 t2f 函数。43.2.5HDB3 码:编写 HDb3 函数和 t2f 函数,分别实现 HDb3 编码和傅里叶变换。调用 HDb3 函数和 t2f 函数,得出原序列图、编码后的序列图和功率谱图。4 课程设计结果和结果分析论证4.1 信息论的基本运算结果4.1.1 信源平均信息量的计算(以高斯分布的信源为例):图 4.1.1 连续信源平均信息量4.1.2 离散信道容量的计算(以输入符号等概分布为例)5图 4.1.2 离散信道容量信道容量为信源的平均信息量减去互信

14、息量。4.1.3 信源编码过程(以 Huffman 编码为例)图 4.1.3 huffman 编码哈弗曼编码是把出现概率较大的用较短的码元来实现,概率出现较小的用较长的码元实现。64.2 数字信号基带传输系统的设计结果4.2.1 单极性非归零码及其功率谱图 4.2.1 单极性非归零码码型和功率谱输入的序列是x=1 1 0 1 0 0 1 0 1 0 0 1,输出的序列是y=1 1 0 1 0 0 1 0 1 0 0 1经编码规则验证是正确的。功率谱显示,码型的功率分布有分段性,并以某些频率为中心。4.2.2 单极性归零码及其功率谱7图 4.2.2 单极性归零码码型和功率谱由图可知,输入的序列是

15、x=1 1 0 1 0 0 1 0 1 0 0 1,输出的序列是y=10 10 00 10 00 00 10 00 10 00 00 10 经编码规则验证是正确的。功率谱显示,码型的功率分布有分段性,并以某些频率为中心。4.2.3双极性非归零码及其功率谱图 4.2.3 双极性非归零码码型和功率谱由图可知输入的序列为x=1 1 0 1 0 0 1 0 1 0 0 1,输出的序列为y=1 1 -1 1 -1 -1 1 -1 1 -1 -1 1, 经编码规则验证是正确的。功率谱显示,码型的功率分布有分段性,并以某些频率为中心。4.2.4 双极性归零码及其功率谱密度8图 4.2.4 双极性归零码码型和

16、功率谱由图可知,输入序列为x=1 1 0 1 0 0 1 0 1 0 0 1,输出序列为y=10 10 -10 10 -10 -10 10 -10 10 -10 -10 10。经编码规则验证是正确的。功率谱显示,码型的功率分布有分段性,并以某些频率为中心。4.2.5数字双相码及其功率谱图 4.2.5 数字双相码码型和功率谱由图可知,输入的序列为x=1 1 0 1 0 0 1 0 1 0 0 1,输出的序列为y=10 910 01 10 01 01 10 01 10 01 01 10. 功率谱显示,码型的功率分布有分段性。4.2.6密勒码及其功率谱图4.2.6密勒码码型和功率谱信息的输入序列是x

17、=1 1 0 1 0 0 1 0 1 0 0 1。4.2.7 AMI码及其功率谱10图 4.2.7AMI 码码型和功率谱输入序列是 x=1 1 0 1 0 0 1 0 1 0 0 1。4.2.8 HDB3 码及其功率谱图 4.2.8 HDB3 码码型和功率谱由此图的功率谱与 AMI 码的功率谱比较可知,HDB3 码与 AMI 码是相似的,HDB311码是 AMI 码的变形。5、心得体会6 附件6.1 信息论基本计算6.1.1、信源平均信息量的计算(高斯分布的信源)x=randn(1,100000);%产生N(0,1)高斯源px=1/sqrt(2*pi)*exp(-(x-1).2/2);%计算概

18、率l=-mean(log2(px)%计算熵6.1.2、编程实现离散信道容量的计算(以输入符号等概分布为例)function r=dmessage(x,n) %参数 x 表示概率矩阵,n 是符号的数目r=0;for i=1:nr=r-x(i)*log(x(i)/log(2);enddisp(此离散信源的平均信息量为:); 12r%直接在命令窗口中调用 dmessage 函数,也可以在其它函数中调用dmessage( 0.25,0.25,0.25,0.25,4)6.1.3、离散信道容量的计算%求互信息的函数文件如下function r=hmessage(x,f,nx,my)%x 为输出的信源分布,

19、f 为转移概率矩阵,nx 为输出的符号可选个数%my 为输出的符号个数sum=0;for i=1:nxfor j=1:my%通过式子 p(x,y)=p(x)p(y/x)来求 p(x,y),用 t 表示t=f(i,j)*x(i);%求平均互信息量if t=0sum=sum-t*log(f(i,j)/log(2);end;end; end;r=sum;disp(平均互信息量为:);%利用函数 dmessage 来求信源的熵,利用函数 hmessage 来求平均互信息量x=0.25,0.25,0.25,0.25;f1=1/2,1/4,1/4,0,0,00,1/2,1/4,1/4,0,00,0,1/2

20、,1/4,1/4,00,0,0,1/2,1/4,1/4,;hf1=hmessage(x,f1,4,6);hx=dmessage(x,4);c1=hx-hf1 %信道容量6.1.4、哈弗曼编码的实现13p=1/4,1/4,1/4,1/8,1/8;h,l=huffman1(p)%哈弗曼编码的实现函数如下function h,l=huffman (p)if (length(find(p10e-10) error(Not a prob.vector,component do not add to 1) endn=length(p); q=p; m=zeros(n-1,n);for i=1:n-1 q,

21、l=sort(q); m(i,:)=l(1:n-i+1),zeros(1,i-1); q=q(1)+q(2),q(3:n),1; endfor i=1:n-1 c(i,:)=blanks(n*n);endc(n-1,n)=0; c(n-1,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:i-1 c(n-i,(j+1)*n+1:(j+

22、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 14for i=1:n h(i,1:n)=c(1,n*(find(m(1,:)=i)-1)+1:find(m(1,:)=i)*n); ll(i)=length(find(abs(h(i,:)=32); endl=sum(p.*ll); %在命令窗口或 M 文件里调用 haffman 函数p=1/2,1/4,1/8,1/16,1/16;h,l=huffman(p)6.2 数字信号基带传输系统6.2.1、单极性非归零码以及功率谱的实现function

23、 y=djx(x)%本函数实现将输入的一段二进制代码编码为相应的单极性非归零码输出%输入 x 为二进制码,输出 y 为编好的码%给出计算每一个码元的点数,因为我们只有用离散的点来得出连续的函数表示grid=300;t=0:1/grid:length(x);for i=1:length(x)if(x(i)=1)for j=1:gridy(i-1)*grid+j)=1;endelsefor j=1:gridy(i-1)*grid+j)=0;endendendy=y,x(i);M=max(y);m=min(y);15subplot(2,1,1) ;plot(t,y);hold on;axis(0,i

24、,m-0.1,M+0.1);%采用 title 命令来实现标记出各码元对应的二元信息title( 1 1 0 1 0 0 1 0 1 0 0 1 );fs=100;x=1:1/fs:5;y=sin(pi*x);y=y./(pi*x);y(1)=1;dan1=y.*y;dan1=dan1/4;subplot(2,1,2);subplot(2,1,2);plot(x,dan1);axis(1,4,0,0.015);title(单极性非归零码的功率谱);%函数调用t=1 1 0 1 0 0 1 0 1 0 0 1;djx(t);6.2.2、单极性归零码及其功率谱实现function y=djxglm

25、(x)grid=200;t=0:1/grid:length(x);for i=1:length(x)if(x(i)=1)for j=1:grid/2y(grid/2*(2*i-2)+j)=1;y(grid/2*(2*i-1)+j)=0;endelsefor j=1:grid/216y(grid*(i-1)+j)=0;endendendy=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 1 0 1 0 0 1 0 1 0 0 1 );fs=50;x=1:1/fs:5;y=sin(pi

26、*x);y=y./(pi*x);y(1)=2;dan2=y.*y;dan2=dan2/4;subplot(2,1,2);plot(x,dan2);axis(1,5,0,0.05);title(单极性归零码的功率谱);%在命令窗口或 M 文件中调用函数t=1 1 0 1 0 0 1 0 1 0 0 1;djxglm(t);6.2.3、双极性非归零码及其功率谱的实现function y=sjx(x)%本函数实现将输入的一段二进制代码编码为相应的双极性非归零码输出%输入 x 为二进制码,输出 y 为编好的码grid=300;t=0:1/grid:length(x);17for i=1:length(

27、x)if(x(i)=1)for j=1:gridy(i-1)*grid+j)=1;endelsefor j=1:gridy(i-1)*grid+j)=-1;endendendy=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 命令来实现标记出各码元对应的二元信息title( 1 1 0 1 0 0 1 0 1 0 0 1 );fs=100;x=1:1/fs:5;y=sin(pi*x);y=y./(pi*x);y(1)=1;dan1=y.*y;dan1=dan1/4;subplo

28、t(2,1,2);plot(x,dan1);axis(1,4,0,0.02);title(双极性非归零码的功率谱);%在命令窗口或 M 文件中调用函数t=1 1 0 1 0 0 1 0 1 0 0 1;18sjx(t);6.2.4、双极性归零码及其功率谱的实现function y=sjxglm(x)%本函数实现将输入的一段二进制代码编码为相应的双极性归零码输出%输入 x 为二进制码,输出 y 为编好的码grid=300;t=0:1/grid:length(x);for i=1:length(x)if(x(i)=1)for j=1:grid/2y(grid/2*(2*i-2)+j)=1;y(gr

29、id/2*(2*i-1)+j)=0;endelsefor j=1:grid/2y(grid/2*(2*i-2)+j)=-1;y(grid/2*(2*i-1)+j)=0;endendendy=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 命令来实现标记出各码元对应的二元信息title( 1 1 0 1 0 0 1 0 1 0 0 1 );fs=50;x=1:1/fs:5;y=sin(pi*x);19y=y./(pi*x);y(1)=2;dan2=y.*y;dan2=dan2/4;

30、subplot(2,1,2);plot(x,dan2);axis(1,5,0,0.025);title(双极性归零码的功率谱);%在命令窗口或 M 文件中调用函数t=1 1 0 1 0 0 1 0 1 0 0 1;sjxglm(t);6.2.5、数字双相码及其功率谱的实现function y=szsxm(x)%本函数实现将输入的一段二进制代码编码为相应的数字双相码输出%输入 x 为二进制码,输出 y 为编好的码grid=300;t=0:1/grid:length(x);for i=1:length(x)if(x(i)=1)for j=1:grid/2y(grid/2*(2*i-2)+j)=1;

31、%用从 1 到 0 的电平跳变来表示1y(grid/2*(2*i-1)+j)=0;endelsefor j=1:grid/2y(grid/2*(2*i-2)+j)=0;%用从 0 到 1 的电平跳变来表示0y(grid/2*(2*i-1)+j)=1;endendend20y=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 命令来实现标记出各码元对应的二元信息title( 1 1 0 1 0 0 1 0 1 0 0 1 );fs=100;x=1:1/fs:5;y=sin(pi*x

32、/2);y=y./(pi*x/2);y(1)=1;mache=sin(pi*x/2).*sin(pi*x/2);mache=mache.*y;mache=mache.*y;subplot(2,1,2);plot(x,mache);axis(1,5,0,0.5);title(数字双相码的功率谱);%在命令窗口或 M 文件中调用函数t=1 1 0 1 0 0 1 0 1 0 0 1;szsxm(t);6.2.6、密勒码及其功率谱的实现function y=mlm(x)%该函数实现密勒编码,输入码序列为 xgrid=100;t=0:1/grid:length(x);%定义时间序列i=1;%由于第一码

33、元的编码不定,我们直接给出if(x(i)=1)for j=1:grid/221y(grid/2*(2*i-2)+j)=0;%前半时间为 0y(grid/2*(2*i-1)+j)=1;%后半时间为 1endelsefor j=1:grid%若输入 0y(grid*(i-1)+j)=0;%码元持续时间内为 0endendfor i=2:length(x)%开始进行密勒编码if (x(i)=1)%若输入信息为 1for j=1:grid/2y(grid/2*(2*i-2)+j)=y(grid/2*(2*i-3)+grid/4);%前半时间与前一码元后半时间值相同y(grid/2*(2*i-1)+j)

34、=1-y(grid/2*(2*i-2)+j);%后半时间与前半时间相反endelseif(x(i-1)=1)%反之,若前一信息为 1,输入为 0for j=1:gridy(grid*(i-1)+j)=y(grid/2*(2*i-3)+grid/4);%所有时间与前一码元后半时间值相同endelse%前一信息为 0for j=1:gridy(grid*(i-1)+j)=1-y(grid/2*(2*i-3)+grid/4);%所有时间与前一码元后半时间值相反endendendendy=y,y(i*grid);22M=max(y);m=min(y);subplot(2,1,1);plot(t,y);

35、axis(0,i,m-0.1,M+0.1);%采用 title 命令来实现标记出各码元对应的二元信息title( 1 1 0 1 0 0 1 0 1 0 0 1 );fs=100;x=1:1/fs:5;x=x*pi;miler=(23-2*cos(x)-22*cos(2*x)-12*cos(3*x)+5*cos(4*x)+12*cos(5*x)+2*cos(6*x)-8*cos(7*x)+2*cos(8*x)./(17+8*cos(8*x);t=x.*x;miler=miler./t;miler(1)=0.2;x=x/pi;subplot(2,1,2);plot(x,miler);axis(1

36、,5,0,0.3);title(密勒码的功率谱)%下面是 mlm 函数的调用t=1 1 0 1 0 0 1 0 1 0 0 1;mlm(t);6.2.7、AMI 码及其功率谱的实现*t2f.m 文件:傅里叶变换function X=t2f(x,dt)X=fftshift(fft(x)*dt;function y=AMI(x)grid=300;t=0:1/grid:length(x);i=1; if(x(i)=1) for j=1:gridy(j)=1; 23h=1;endelse for j=1:gridy(j)=0; endendfor i=2:length(x) if(x(i)=1) if

37、 h=1for j=1:gridy(grid*(i-1)+j)=-1; h=-1;endelseif h=-1for j=1:gridy(grid*(i-1)+j)=1; h=1;endendend else for j=1:gridy(grid*(i-1)+j)=0; endendendy=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 命令来实现标记出各码元对应的二元信息title( 1 1 0 1 0 0 1 0 1 0 0 1 );Rt=0.5; k=14;N=2k;

38、L=64; M=N/L; Rb=2; Ts=1/Rb dt=Ts/L; df=1/(N*dt) 24T=N*dt Bs=N*df/2; t=-T/2+dt/2:dt:T/2; f=-Bs+df/2:df:Bs; Ep=zeros(size(f); for ii=1:50 n=1; while rem(n,2)=0, a=round(rand(1,M); n=length(find(a=1); end bb=find(a=1); cc=bb(1:2:length(bb); b=a; b(cc)=-ones(size(cc); ami=zeros(1,N); for tt=1:Rt*Ts/dt;

39、ami(tt+0:M-1*L)=b; end AMI=t2f(ami,dt); P=AMI.*conj(AMI)/T; Ep=(Ep*(ii-1)+P)/ii; end aa=30+10*log10(Ep+eps); subplot(2,1,2);plot(f,aa);axis(-5,+5,-50,50); title(AMI 功率谱密度)%AMI 函数的调用t=1 1 0 1 0 0 1 0 1 0 0 1;AMI(t);6.2.8、HDB3 码及其功率谱的实现function X=t2f(x,dt)X=fftshift(fft(x)*dt;*HDB3_encoding.m 文件:funct

40、ion changed_hdb3=Hdb3_encoding(pcm)last_V=-1;last_one=-1;M=length(pcm);changed_hdb3=zeros(size(pcm); count=0; for i=1:Mif(pcm(i)=1) changed_hdb3(i)=-last_one;25last_one=changed_hdb3(i);count=0;elsecount=count+1;if(count=4)count=0;changed_hdb3(i)=-last_V; last_V=changed_hdb3(i);if(i4)if(changed_hdb3(

41、i)*last_one=-1) changed_hdb3(i-3)=changed_hdb3(i); endendlast_one=changed_hdb3(i);endendend%函数调用clear allclose allk=input(取样点数=2k,k=4);if isempty(k),k=14;endN=2k; L=64; M=N/L; Rb=1; Ts=1/Rb; dt=Ts/L; df=1/(N*dt); T=N*dt; Bs=N*df/2; t=-T/2+dt/2:dt:T/2; f=-Bs+df/2:df:Bs; Ep=zeros(size(f);for ii=1:30a=

42、rand(1,M)0.75; b=Hdb3_encoding(a);hdb=zeros(L,M);init=zeros(L,M);for loop=1:L/226init(loop,:)=a; endfor loop=1:L/2hdb(loop,:)=b; endhdb=reshape(hdb,1,N);init=reshape(init,1,N);HDB=t2f(hdb,dt);P=HDB.*conj(HDB)/T;Ep=(Ep*(ii-1)+P)/ii;endinitfigure(9)subplot(3,1,1)plot(t,init,m)grid onaxis(0,T/10,-1.5,1.5)set(gca,XTick,0:1:T/10)xlabel(t(Tb)ylabel(s(t)title(原始序列)subplot(3,1,2)plot(t,hdb,b)grid onaxis(0,T/10,-1.5,1.5)set(gca,XTick,0:1:T/10)xlabel(t(Tb)ylabel(s(t)title(HDB3编码序列)subplot(3,1,3)aa=30+10*log10(Ep+eps);plot(f,aa,r)grid onaxis(-5,5,-50,50)xlabel(f(Rb)ylabel(Ps(f)title(HDB3码功率谱密度)27

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报