信息论实验56516_第1页
信息论实验56516_第2页
信息论实验56516_第3页
信息论实验56516_第4页
信息论实验56516_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验一 模拟信号取样仿真实验目的:信源编码是产生信源有效数据的的源头,利用信源的统计特性,解除信源的相关性,去掉信源的冗余信息,以达到压缩信源的信息率的目的。本实验通过仿真来演示模拟信号的取样。实验内容:通过MATLAB / Simulink软件对正弦模拟信号转化为离散信号进行仿真。 图1 模拟信号取样仿真框图设置参数:1. Sine Wave(正弦信号发生器)位置:SimulinkSources 参 数 名 称参 数 值Sine typeTime based Amplitude 1Bias 0Frequency 2*piPhase 0Sample time 0 2. Pulse Gener

2、ator(脉冲信号发生器)位置:SimulinkSources 参 数 名 称参 数 值Pulse typeTime based Amplitude 1.5Period 0.025Pulse width 50Phase delay 03. Constant(常数)位置:SimulinkSources 参 数 名 称 参 数 值 Constant value 2 0 -3.34. Scope(示波器)位置:SimulinkSinks 参 数 名 称 参 数 值 Time range 1 Sampling 0.0005 Y-max 3.5 Y-min -3.5仿真结果 图2 正弦波及脉冲信号波形示

3、波器显示图实验二 信源编码中压缩算法DCT变换函数的应用实验目的:信源编码以去除消息中的自然剩余来提高信息传输的有效性为目的。基于DCT压缩算法在信源编码中广泛应用,本实验通过离散余弦变换实现对图像的压缩,以及通过逆离散余弦变换实现对压缩后图像的重构。实验内容:1.输入图像,DCT变换实现图像压缩;2.将输入图像划分成8*8的图像块,计算其DCT系数; 3.通过DCT系数对图像块实现逆DCT重构。源代码如下:I=imread('cameraman.tif'); %读入图像I=im2double(I);J=dct2(I);imshow(J)I=imread('camera

4、man.tif');I=im2double(I);T=dctmtx(8); %产生DCT变换矩阵B=blkproc(I,8 8,'P1*x*P2',T,T'); %计算二维DCTmask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;%二值掩膜,用以压缩DCT的系数 B2=blkproc(B,8 8,'P1.*x',mask);%只保留DC

5、T的10个系数 I2=blkproc(B2,8 8,'P1*x*P2',T',T);%逆DCT变换,用来重构图像 imshow(I),figure,imshow(I2)实验结果:实验三 信道编码线性分组码、Hamming码仿真以及循环码、卷积码编解码实验1. 线性分组码、Hamming码仿真实验实验目的:线性分组码是最重要也是使用最广的分组码。通过本实验仿真,掌握线性分组码码字空间的确定方法以及线性分组码的最小码重。Hamming码是一种很常用的线性分组码,对于二进制的Hamming码,能够纠正所有单比特错误。了解Hamming码的编码。实验内容:1、(7,3)线性分组

6、码的生成矩阵如下所示,确定其码字空间,以及该码的最小码重。 G = 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1实现的MATLAB源代码为: clear; k=3;for i=1:2k for j=k:-1:1 if rem(i-1,2(-j+k+1)>=2(-j+k) m(i,j)=1; else m(i,j)=0 end endend%定义生成矩阵Gg=1 0 0 1 1 1 0; 0 1 0 0 1 1 1; 0 0 1 1 1 0 1;%产生码字空间c=rem(m*g,2);%找出最小汉明距离d_min=min(sum(c(2:2k,:)2、

7、Hamming码编码:源程序为:hammgen(3);clear;m=3;h,g,n,k=hammgen(m);msg=randint(100,k,0,1);code=encode(msg,n,k,hamming/binary)变量code中返回编码后的信号序列 实验结果: 2.循环码、卷积码编解码实验实验目的:循环码是线性码的一个重要子类,它的码字具有循环性。也就是说,它的任一码字无论是向左移还是向右移,无论多少位,所得到的码字仍然是可用的。通过本实验,知道循环码的编码和解码。 卷积码在把k0个输入比特序列编为长度为n0的编码输出序列的时候,编码输出序列不仅和当前输入比特序列有关,还和编码器

8、先前输入的信息比特序列有关。通过本实验,了解卷积码的编码。实验内容:1、循环码编码、解码、计算误码率MATLAB源程序: n=3; k=2; msg=randint(100,k,0,1); code=encode(msg,n,k,cyclic/binary);noisycode=rem(code+randerr(100,n,0 1;.7 .3),2); %加噪newmsg=decode(noisycode,n,k,cyclic); %解码number,ratio=biterr(newmsg,msg); %计算误码率disp(The bit error rate is,num2str(ratio)%误码率将显示在命令窗口中执行,在command window窗口中将显示:>The bit error rate is 0.11 2、对消息序列:10011100110000111进行卷积编码 其MATLAB源代码如下: clear; msg=1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论