ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:182.31KB ,
资源ID:4067895      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4067895.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信系统仿真小论文Word格式文档下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

通信系统仿真小论文Word格式文档下载.docx

1、 (1)程序的输入:以一维数组的形式输入要进行huffman编码的信源符号的概率,在运行该程序前,显示文字提示信息,提示所要输入的概率矢量;然后对输入的概率矢量进行合法性判断,原则为:如果概率矢量中存在小于0的项,则输入不合法,提示重新输入;如果概率矢量的求和大于1,则输入也不合法,提示重新输入。(2)huffman编码具体实现原理: 1在输入的概率矩阵p正确的前提条件下,对p进行排序,并用矩阵L记录p排序之前各元素的顺序,然后将排序后的概率数组p的前两项,即概率最小的两个数加和,得到新的一组概率序列,重复以上过程,最后得到一个记录概率加和过程的矩阵p以及每次排序之前概率顺序的矩阵a。2新生成

2、一个n-1行n列,并且每个元素含有n个字符的空白矩阵,然后进行huffman编码: 将c矩阵的第n-1行的第一和第二个元素分别令为0和1(表示在编码时,根节点之下的概率较小的元素后补0,概率较大的元素后补1,后面的编码都遵守这个原则) 然后对n-i-1的第一、二个元素进行编码,首先在矩阵a中第n-i行找到值为1所在的位置,然后在c矩阵中第n-i行中找到对应位置的编码(该编码即为第n-i-1行第一、二个元素的根节点),则矩阵c的第n-i行的第一、二个元素的n-1的字符为以上求得的编码值,根据之前的规则,第一个元素最后补0,第二个元素最后补1,则完成该行的第一二个元素的编码, 最后将该行的其他元素

3、按照“矩阵c中第n-i行第j+1列的值等于对应于a矩阵中第n-i+1行中值为j+1的前面一个元素的位置在c矩阵中的编码值”的原则进行赋值,重复以上过程即可完成huffman编码。3计算信源熵和平均码长,其比值即为编码密码效率。四、Huffman编码的Matlab源程序p=input(please input a number:) %提示输入界面n=length(p);for i=1:n if p(i) fprintf(n The sum of the probabilities in huffman can more than 1!) %如果输入的概率数组总和大于1,则重新输入概率数组end

4、q=p;a=zeros(n-1,n); %生成一个n-1行n列的数组n-1 q,l=sort(q) %对概率数组q进行从小至大的排序,并且用l数组返回一个数组,该数组表示概率数组q排序前的顺序编号 a(i,:)=l(1:n-i+1),zeros(1,i-1) %由数组l构建一个矩阵,该矩阵表明概率合并时的顺序,用于后面的编码 q=q(1)+q(2),q(3:n),1; %将排序后的概率数组q的前两项,即概率最小的两个数加和,得到新的一组概率序列 c(i,1:n*n)=blanks(n*n); %生成一个n-1行n列,并且每个元素的的长度为n的空白数组,c矩阵用于进行huffman编码,并且在编

5、码中与a矩阵有一定的对应关系c(n-1,n)=0; %由于a矩阵的第n-1行的前两个元素为进行huffman编码加和运算时所得的最c(n-1,2*n)=1 后两个概率,因此其值为0或1,在编码时设第n-1行的第一个空白字符为0,第二个空白字符1。for i=2: c(n-i,1:n-1)=c(n-i+1,n*(find(a(n-i+1,:)=1)-(n-2):n*(find(a(n-i+1,:)=1) %矩阵c的第n-i的第一个元素的n-1的字符赋值为对应于a矩阵中第n-i+1行中值为1的位置在c矩阵中的编码值 c(n-i,n)= %根据之前的规则,在分支的第一个元素最后补0 c(n-i,n+

6、1:2*n-1)=c(n-i,1:n-1) %矩阵c的第n-i的第二个元素的n-1的字符与第n-i行的第一个元素的前n-1个符号相同,因为其根节点相同 c(n-i,2*n)= %根据之前的规则,在分支的第一个元素最后补1 for j=1:i-1 c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(a(n-i+1,:)=j+1)-1)+1:n*find(a(n-i+1,:)=j+1) %矩阵c中第n-i行第j+1列的值等于对应于a矩阵中第n-i+1行中值为j+1的前面一个元素的位置在c矩阵中的编码值 end %完成huffman码字的分配n h(i,1:n)=c(1

7、,n*(find(a(1,:)=i)-1)+1:find(a(1,:)=i)*n) %用h表示最后的huffman编码,矩阵h的第i行的元素对应于矩阵c的第一行的第i个元素 ll(i)=length(find(abs(h(i,:)=32) %计算每一个huffman编码的长度l=sum(p.*ll); %计算平均码长n huffman code:hhh=sum(p.*(-log2(p); %计算信源熵n the huffman effciency: t=hh/l %计算编码效率五、程序运行结果 (1)如果输入正确的概率矢量,结果如下:0.32 0.18 0.05 0.10 0.15 0.2p

8、= 0.3200 0.1800 0.0500 0.1000 0.1500 0.2000huffman code:h = 11 00 1010 1011 10001the huffman effciency:t = 0.9774(2)如果输入不正确的概率矢量,结果如下:-0.2 0.5 0.3 0.4 -0.2000 0.5000 0.3000 0.4000 The probabilities in huffman can not less than 0!0.6 0.1 0.3 0.4 0.6000 0.1000 0.3000 0.4000 The sum of the probabilitie

9、s in huffman can more than 1!0.05 0.09 0.10 0.21 0.25 0.30 0.0500 0.0900 0.1000 0.2100 0.2500 0.3000 0110 0111 010 1011t =0.9894六、总结1、在该实验的过程中,利用一个矩阵记录每次排序前概率的所在位置,是该实验的关键,在编码的过程中利用该矩阵就能比较容易进行huffman编码。2、通过这个实验,对huffman编码的具体实现原理了解的更加深刻,在实验的过程中也遇到了一些问题,通过查找资料和相关书籍得到了解决,总的来说,在完成该实验的过程中,还是学到了比较多的知识,包括使

10、对一些matlab语句的掌握的更加熟练,完成一个算法必须要有一个整体的把握等等。基于MATLAB的2ASK和2FSK调制仿真二、目的:(1)熟悉2ASK和2FSK调制原理。(2)学会运用Matlab编写2ASK和2FSK调制程序。(3)会画出原信号和调制信号的波形图。(4)掌握数字通信的2ASK和2FSK的调制方式。三、原理分析1、二进制振幅键控(2ASK) 频移键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。在2ASK中,载波的幅度只有两种变化状态,分别对应二进制信息“0”或“1”。二进制振幅键控的表达式为:s(t) = A(t)cos(w0+) 0tT式中,w0=2f0

11、为载波的角频率;A(t)是随基带调制信号变化的时变振幅,即当发送“0”时当发送“1”时A(t) = 典型波形如图1所示: 图12ASK信号的产生方法通常有两种:相乘法和开关法,相应的调制器如图2。图2(a)就是一般的模拟幅度调制的方法,用乘法器实现;图2(b)是一种数字键控法,其中的开关电路受s(t)控制。在接收端,2ASK有两种基本的解调方法:非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统方框图如图:2、二进制频移键控(2FSK) 二进制频移键控信号码元的“1”和“0”分别用两个不同频率的正弦波形来传送,而其振幅和初始相位不变。故其表达式为: 图4 2FSK信号时间波形由图

12、可见,2FSK信号的波形(a)可以分解为波形(b)和波形(c),也就是说,一个2FSK信号可以看成是两个不同载频的2ASK信号的叠加。2FSK信号的调制方法主要有两种。第一种是用二进制基带矩形脉冲信号去调制一个调频器,使其能够输出两个不同频率的码元。第二种方法是用一个受基带脉冲控制的开关电路去选择两个独立频率源的振荡作为输出。 2FSK信号的接收也分为相关和非相关接收两类。相关接收根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。原理图

13、如下:非相关接收经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。其原理图如下图所示: 图5(b)非相干方式四、仿真源程序和代码a=1,0,1,1,0,1;subplot(3,1,1);stem(a);title(随机信号length(a) t=i-1:0.001:i; if (a(i)=1) s=sin(2*pi*t); end if (a(i)=0) s=0; hold on; subplot(3,1,2);plot(t,s);2ASK调制后的信号) s=sin(4*pi*t); subplot(3,1,3);2FSK调制后的信号五、仿真结果通过实验,我们在MATLAB平台上对数字信号的传输系统进行了一次仿真,有效的完善了学习过程中实践不足的问题,同时进一步巩固了原先的基础知识。基本掌握了MATLAB的基本功能和使用方法,对数字基带传输系统有了一定的了解,加深了对2ASK和2FSK信号的调制原理的认识,理解了如何对他们进行调制,通过使用MATLAB仿真,对个调制和解调电路中各元件的特性有了较为全面的理解。

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

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