王琦

第一次作业

1.数据压缩的一个基本问题是“我们要压缩什么”,对此你是怎么样理解的?

   答:信号空间即被压缩对象,是指:1.物理空间(如存储器、磁盘、磁带等)2.时间区间(如:传输给定的消息所需的时间)3.电磁频段(如:为传输给定消息集合所要求的频谱、带宽等)

2.数据压缩的另一个基本问题是“为什么进行压缩”,对此你又是怎么样理解的?

   答:信息时代,数据压缩的作用和其社会效益、经济效益越来越明显。反之,如果不进行数据压缩的,则无论传输或存储都很难实用化。数据压缩的好处在于:

   1.较快的传输各种信源——时间域的压缩;

    2.在现有通信干线上开通更多的并行业务——频率域的压缩;

   3.降低发射功率——能量域的压缩;

   4.紧缩数据存储容量(降低存储费用)——空间域的压缩。

6.数据压缩技术是如何分类的?

   答:数据压缩有可逆压缩(也叫无失真压缩、无差错编码或无噪声编码)和不可逆压缩(有失真的编码,信息论中称熵压缩)。

 参考书:

1.用你的计算机上的压缩工具压缩不同文件。研究源文件的大小和类型对于压缩文件与源文件大小之比的影响。

   答:不同的压缩方式对于源文件与压缩文件之间有比较大的影响。总体来说压缩之后的文件要比源文件小。有损压缩比无损压缩的文件要小一些。

2.从一本通俗杂志中摘录几段文字,并删除所有不会影响理解的文字,实现压缩。例如,在“This is the dog that belongs to my friend”中,删除is、the、that和to之后,仍然能传递相同的意思。用被删除的单词数与原文本的总单词数之比来衡量文本中的冗余度。用一本技术期刊中的文字来重复这一试验。对于摘自不同来源的文字,我们能否就其冗余度做出定量论述?

  答:信源可能也存在着冗余度,即存在着不必要传送的信息,因此信源也就存在进一步压缩信息率的可能性。所以不能就冗余度做出定量的论述。

 

3、给定符号集A={a1,a2,a3,a4},求一下条件下的一阶熵:

(a)P(a1)=P(a2)=P(a3)=P(a4)=1/4

(b)P(a1)=1/2 , P(a2)=1/4 , P(a3)=P(a4)=1/8 

(c)P(a1)=0.505 ,  P(a2)=1/4 , P(a3)=1/8 , P(a4)=0.12 

 答:  (a)-1/4*log2 (1/4)-1/4*log2 (1/4)-1/4*log2 (1/4)-1/4*log2 (1/4)=4*1/2= 2 

        (b)-1/2*log2(1/2)-1/4*log2(1/4)-1/8*log2(1/8)-1/8*log2(1/8)= 1/2+1/2+3/8+3/8=1.75(bits)

        (c) -0.505*log20.505-1/4*log2(1/4)-1/8*log2(1/8)-0.12*log20.12=1.74

 

5、考虑以下序列:

ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

CTGAACCCGCTTAAGCTTAAGCTGAACCTTCTGAACCTGCTT

(a)根据此序列估计个概率值,并计算这一序列的一阶、二阶、三阶和四阶熵。

(b)根据这些熵,能否推断此序列具有什么样的结构?

    答:(a)P(A)=21/84=1/4 、P(T)=23/84、P(G)=16/84=4/21 、P(C)=24/84=2/7

     (b)-1/4log2(1/4)-2/7log2(2/7)-4/21log2(4/21)-23/84log2(23/84)=1/2+ 0.52+0.46+0.52=2

 

7、做一个实验,看看一个模型能够多么准确地描述一个信源。

 (a)编写一段程序,从包括26个字母的符号集{a,b,...,z}中随机选择字母,组成100个四字母单词,这些单词中有多少是有意义的?

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int i=0;
    srand(time(NULL));
    for(i=0;i<100;i++)
    {
      printf("%c%c%c%c\t",rand()%26+97,rand()%26+97,rand()%26+97,rand()%26+97);
    } 
}

 

posted on 2015-08-28 11:45  王琦1  阅读(134)  评论(0编辑  收藏  举报

导航