2019信号处理课程设计2要求

发布 2022-10-04 01:36:28 阅读 1946

一、要求:1)自由组合为4个小组,每组5人,另外还剩余2人成为第5小组。必须团队合作完成此次设计。

课题分为三大题,1组、4组完成第一题,2组完成第二题,3组完成第三题,第5小组的两人可以从第二题任选两个小题独立而暗沉。其余每组同学分别选大题中的一个小题完成。

2)课题可以基于matlab完成,也可以自选其他语言,如c语言、c#、j**a等均可。

3)认真作好课程设计报告,报告内容包括:设计题目、实验原理、程序设计原理及步骤、程序清单(必要的注释)、程序运行结果及结果的验证和分析,以及课程设计总结、参考文献等。

4)课程设计成果提交包括:课程设计报告和matlab程序文档(.m格式)。

成果打包成。rar格式,命名为“学号姓名”,例如“2013xxxx刘波。rar”。

每组同学可以独自提交自己的实验结果,但是组成员之间不能重复完成一个小题。

5) 验收和提交:19周周四(7月7日)9点开始到教研室c区102进行验收,自带笔记本电脑。各同学将程序和报告交给班长汇总,并发送到老师的邮箱。

二、信号处理课程设计。

一)目的。本课程设计课题主要目的是加深对《信息论与编码》课程中理论内容的理解,并通过实践操作,实现所要求主要内容的**。通过完成本课题的设计,主要达到以下几个目的:

1. 熟练掌握信源编码、信道编码中主要编码的具体算法以及相关理论知识的原理。

2. 做到理论与编程实践相结合,从实践中加深对理论内容的理解。

3. 会用matlab或其他编程语言对相关编码算法或理论知识进行**。

4. 验证理论结果与**结果的一致性。

二)设计所需的软硬件。

pc机一台、matlab或turboc2.0 或 visual c++软件开发平台。

三)设计原理与内容

序:可能用到的函数。

disp即display,可用来显示字符串、计算结果等

fprintf函数可以将数据按指定格式写入到文本文件中,也可以显示字符串、计算结果。

input 在command窗口从键盘输入数值给变量。

switch 开关语句, 后面接case 选择要进行的操作。

课题一:信源编码的实现,包括以下5个小题。

1)、霍夫曼编码(huffman encoding)

2)、费诺编码(fano encoding)

3)、香农编码(shannon encoding)

4)、算术编码 (arithmetic encoding)

5)、游程编码 (run length encoding)

内容:1)、霍夫曼编码编码原理和具体要求:

要求选该题的同学完成一个信源单符号编码算法的设计,可以按照自己的能力设计一个能对任意输入的概率序列普遍适用的编码方法,也可以针对给定概率空间设计一个具体的编码算法,实现对其进行编码并输出码字结果。

参考:2)、费诺编码的原理和要求。

费诺编码的原理:

a)将概率按从大到小的顺序排列

b) 将依次排列的信源符号按概率值分为两大组,使两个组的概率之和近似相同,并对各组赋予一个二进制码元“0”和“1”。

c) 将每一大组的信源符号再分为两组,使划分后的两个组的概率之和近似相同,并对各组赋予一个二进制符号“0”和“1”。

d) 将每一分组再按同样原则划分,重复b和c,直到概率不再可分。

e)信源符号所对应的码字即为费诺码。

要求同1霍夫曼编码。

参考:3)、香农编码的原理和要求。

香农编码的原理:

a)将信源发出的n个消息符号按其概率的递减次序依次排列。

b)按下式计算第i个消息的二进制**组的码长,并取整(提示:matlab中向上取整函数是ceil( )

c)为了编成唯一可译码,首先计算第i个消息的累加概率。

d)将累加概率pi (为小数)变成二进制数。

e)除去小数点,并根据码长li ,取小数点后li 位数作为第i个消息的码字。

要求同1霍夫曼编码。

参考:4)、算术编码原理和具体要求:

算术编码的基本思路是:从全序列出发,将各信源序列的概率映射到[0,1]区间上,使每个序列对应这区间内的—点,也就是一个二进制的小数。这些点把[0,1]区间分成许多小段,每段的长度等于某一序列的概率。

再在段内取一个二进制小数,其长度可与该序列的概率匹配,达到高效率编码的目的。这种方法与香农编码法有些类似,只是它们考虑的信源序列对象不同,算术码中的信源序列长度要长得多。

如果信源符号集为,信源序列,,共有种可能序列。由于考虑的是全序列,也许是整页纸上的信息作为一个序列,因而序列长度l很大。

不同的符号有小同的小区间,它们互不重叠,所以可将这种小区间内的任一个点作为该符号的**。以后将计算这**所需的长度,使之能与其概率匹配。

从关于积累概率f(si)= p(s0)+ p(s1)+ p(s2)+…p(si-1) 的计算中可看出,积累概率把区间[0,1]分割成许多小区间,每个小区间的长度等于各序列的概率,而这小区间内的任一点可用来代表这序列。现在来讨论如何选择这个点。令。

把积累概率写成二进位的小数,取其前l位,以后如果有尾数,就进位到第l位,这样得到一个数c。例如,,则l=5,得。

这个c就可作为s的码字。因为c不小于,至少等于。又由(3)式可知。

令(s+1)为按顺序正好在s后面的—个序列,则。当在第l位以后没有尾数时,就是c,上式成立;如果有尾数时,这尾数就是上式的左右两侧之差,所以上式也成立。由此可见c必在和之间,也就是在长度为的小区间(左闭有开的区间)内,因而是可以唯一地译码的。

这样构成的码字,编码效率是很高的,因为已可达到概率匹配,尤其是当序列很长时。由(1)式可见,对于长序列,必然很小,l与概率倒数的对数已几乎相等;也就是取整数所造成的差别很小,平均**长度将接近s的熵值。

实用中,采用积累概率表示码字,符号概率表示状态区间,则有。

对于二进制符号组成的序列,。

实际编码过程是这样的:先置两个存储器c和a,起始时可令,,其中代表空集。每输入一个信源符号,存储器c和a就按照(4)式更新一次,直至程序结束,就可将存储器c的内容作为码字输出。

由于是递增的,而这增量随着序列的增长而减小,因为这增量是序列的概率与信源符号序列的积累概率的乘积;所以c的前面几位一般已固定,在以后计算中不会被更新,因而可以输出。只需保留后面几位用作更新。译码也可逐位进行,与编码过程相似。

例1 有简单的四个符号a,b,c,d构成序列,各符号及其对应概率如下表所示:

算术编解码过程如下:

设起始状态为空序列,则,。

递推得。上述编码过程可用下列单位区间的划分来描述:

要求。假设某条信息中可能出现的字符有abcde中的任意几种,请用算术编码方法将其中几种字符组成的简短序列进行编码。

5)、游程编码(rle-run length encoding)原理和具体要求:

游程编码适合有较多灰度相同对象的图像,例如海洋、湖泊的卫星图像,医学图像中的细胞,染色体,材料的显微图像等。计算机中的pcx和bmp格式的图像都采用游程编码进行压缩。rle的原理相当简单,计算效率高。

游程编码的原理很简单:将一行中颜色值相同的相邻像素用一个计数值和该颜色来代替。

例如在下图所示的图像元素可以编码为(5,3)(3,1)(4,4)(4,2)(3,2)(2,1)(3,1)(2,2)。

图游程编码示意图。

下面讨论一下rle编码的效率:

设图像的灰度级为m,一行的长度为n,则对每一行来说,游程数最少为1,最多为n。若将数对表示为(gk,lk)的序列, 用普通二进制码存放(gk,lk)序列,并设一行中的游程数为,则描述一行像素的码字长度为:

而直接存储原图像一行所需的位数为。

显然,只有当《时,rle的描述才是可取的。所以如果一幅图像是由很多块颜色相同的大面积区域组成,那么采用游程编码的压缩效率是惊人的。然而,该算法也导致了一个致命的弱点,如果图像中每两个相邻点的颜色都不同,用这种算法不但不能压缩,反而数据量增加一倍。

所以现在单纯采用游程编码的压缩算法用得不多,pcx文件算是其中的一种。

要求。设计一个rle编码程序实现如下功能:

输入的数字序列为: 44444442222233333111…,采用rle编码,首先输出(gk, lk)的序列,然后输出相应的普通二进制码。

课题二:信道编码的实现,包括以下5个小题。

1)、线性分组码编码。

2)、汉明码编码、译码(纠正一位错误)

3)、循环码编码。

4)、crc循环冗余码检错、译码。

5)、 卷积码编码。

一个示例:内容:

1)、线性分组码编码。

已知:(6,3)码h =

5,2)码h =

10,4)线性分组码的生成矩阵为。

要求:1)不使用matlab内部自带的编码函数。

2)在matlab 命令窗口通过输入指定参数选择需要的编码,提示:如:disp('请选择编码参数:(5,2)码输入n=1;(6,3)码输入n=2;(10,4)码输入n=3');

3) 编程实现:由(5,2)码和(7,4)码的监督矩阵h求各自生成矩阵g;由给出的(10,4)码非系统码生成矩阵,通过对矩阵的各行进行线性变换求相应的系统码生成矩阵;(提示:可以用switch语句进行选择,然后在case语句中完成矩阵的相关操作)

2019秋信号课程设计报告要求

封皮。信号与线性系统课程设计报告。课题名称。班级 姓名 学号 成绩 指导教师 日期 题目。摘要 200 关键词 3 5个,中间用逗号分开。1课程设计的目的 意义。1.1各级标题加粗。正文用小四号宋体,1.2倍行间距,公式用11磅编辑,2 设计任务及技术指标。技术任务 设计什么。技术指标 分几个部分,...

数字信号处理课程设计大作业

班级。姓名。学号。指导教师 日期 年 11 月 3 日。1.整体结构 首先,采集一段录音,画出原始语音信号的时域波形,利用快速傅里叶变换算法画出频域波形。观察声音的频域波形,用matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。最后,用matlab自带的语音返回函数收听滤波后的语音信号...

数字信号处理课程设计心得体会

篇一 数字信号处理课程设计。青岛科技大学。数字信号分析及数字滤波器设计题目。张淑军指导教师刘云生学生姓名 学生学号。信息与科学技术学。院。信息工程113院 部专业班。20xx 年 1 月14 日。1.目的与要求。1.进一步巩固数字信号处理中的基本原理与方法,提高分析 解决实际问题的能力。2.熟练掌握...