1
DSP 实习报告
——离散余弦变换(DCT)算法设计
姓名:
班级:
学号:
实习日期:指导老师:
2
引言
在信息世界快速发展的今天,人们对计算机实时处理图像信息的要求越来
越高。如何在保证图像质量的前提下,同时兼顾实时性和高效性成了一个值得关
注的问题。于是对图像信息进行一定的压缩处理成了一个不可或缺的环节。图像
压缩是关于用最少的数据量来表示尽可能多的原图像的信息的一个过程。
在有关图像压缩的众多正交变换中,离散余弦变换(DCT)是十分有效的一
种,其性能极为接近最佳的 K-L 变换。通过采用行列分解方法,人们只需使用少
量的乘法就能完成二维离散余弦变换。正因为如此,DCT 就被众多标准广泛使用。
离散余弦变换(Discrete Cosine Transform,简称 DCT)常被认为是对语音
和图像信号进行变换的最佳方法。为了工程上实现的需要,国内外许多学者花费
了很大精力去寻找或改进 DCT 的快速算法。由于近年来 DSP 的发展,加上专用集
成电路设计上的优势,这就牢固地确立 DCT 在目前图像编码中的重要地位,成为
H.261、JPEG、MPEG 等国际上公用的编码标准的重要环节。MATLAB 是由美国
Math-Works 公司推出的用于数值计算和图形处理的科学计算软件,它集数值分
析、矩阵计算、信号处理和图形显示多种功能于一体,构成了一个方便的界面友
好的用户环境。MATLAB 中的图像处理工具箱是许多基于 MATLAB 技术计算环境的
函数包的集合,图形功能完备。
本文主要讨论了 DCT 变换方法,并讨论了应用 MATLAB 中的图像处理工具箱
中的相关函数和命令来实现离散余弦变换的图像压缩算法的仿真。
3
目录
一、 实 习 题 目
------------------------------------------------4
二、 实 习 目 的
------------------------------------------------4
三、 实 习 任 务 与 要 求
-----------------------------------------4
四、 软 件 介 绍
------------------------------------------------4
4.1 、 CCS 软 件 介 绍
---------------------------------------4
4.2、TMS320VC5509A 开发板介绍-------------------------4
五、DCT 算法原理及设计思路---------------------------------4
5.1、DCT 算法原理----------------------------------------4
5.2、设计思路----------------------------------------------------5
六 、 离 散 余 弦 变 换 的 具 体 步 骤 和 实 现
---------------------------6
七 、 源 程 序 代 码
-----------------------------------------------10
4
八 、 硬 件 电 路 设 计
---------------------------------------------34
九 、 实 习 心 得
--------------------------------------------------36
十 、 参 考 文 献
--------------------------------------------------37
一、实验题目:离散余弦变换(DCT)算法设计
二、实验目的:
1、熟练掌握数字信号处理的典型设计方法与技术手段;
2、亲自动手完成一个 DSP 系统的设计与实现。
3、学习 DCT 算法的实现方法。
三、实习任务与要求:
(1) 利用 C 语言或汇编语言编写一个实现 DCT 的 DSP 程序
(2) 在 CCS 上仿真运行
(3) 查看分析结果,记录必要参数
四、软件介绍:
4.1、CCS 软件介绍:
Code Composer Studio(CCS 或 CCStudio)是一种针对 TI 的 DSP、微控制器和应用处
理器的集成开发环境。CCS 包括一套用于开发和调试嵌入式应用程序 CCS 包括套用于开发
和调试嵌入式应用程序的工具。它包括用于各种 TI 设备系列的编译器、源代码编辑器项目
生成环境调试程序探源代码编辑器、项目生成环境、调试程序、探查器、模拟器和其他许多
功能。CCS 提供一个单一用户界面,指导用户完成应用程序开发流程的每一步骤。CCS 提
供了基本的代码生成工具,它们具有一系列的调试、分析能力。
CCS 集成的软件工具:
(1)代码生成工具(包括 C6000 的 C 编译器、汇编优化编和连接化器、汇编器和连接器)
5
(2)软件模拟器(Simulator)。(3)实时基础软件 DSP/BIOS。(4)主机与目标机之间的实
时数据交换软件 RTDX 机与目标机间的实时数据交换软件•Real‐Time Data Exchange 提供
了实时的和连续的途径,以观察目标应用程序的真实运行情况。它允许系统开发者在主机和
目标设备间传输数据而不对目标应开发者在主机和目标设备间传输数据而不对目标应用造
成影响。实时分析与数据可视化
4.2、TMS320VC5509A 开发板介绍:
DSP5509 开发板是一套功能齐全的基于 TMS320VC5509A DSP 的学习开发平台,
DSP5509 开发板既可作为开发板供用户学习使用,也可作为系统板嵌入到用户的产品供用
户进行二次开发以便缩短产品开发周期。能进行声音的处理。图像的压缩等。是迄今为止市
面上性价比最高的 5509 开发板。
五、DCT 算法原理及设计思路:
5.1、DCT 算法原理
离散余弦变换(Discrete Cosine Transform,简称 DCT 变换)是一种与傅立
叶变换紧密相关的数学运算,属于正弦类正交变换,由于其优良的去冗余性能及
高效快速算法的可实现性,被广泛用于语音及图象的有损和无损压缩。在傅立叶
级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦
项,再将其离散化可导出余弦变换,因此称之为离散余弦变换。对于给定的实际
数据序列 x(0),X(1) ,x(2).... X( N-1 )的 DCT(FDCT)算法如下:
正变换:
z(k)
N
( ) ( ) cos
( )
�
�
�
�
�
�
�
�
�
�
�
2 2 1
2
0
1
�
�
k x n
n k
N
n
N
其中:
�
�
( )
( )
k
k
�
� �
1
2
for k= 0
1 for k 0
二维离散余弦变换(FDCT):
z(k, ) ( ) ( ) ( , ) cos
( )
cos
( )
l
N
k l x m n
m k
N
n l
N
m
N
n
N
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
2 2 1
2
2 1
2
0
1
0
1
� �
� �
其逆运算是:
x m n
N
k l z k l
m k
N
n l
N
l
N
k
N
( , ) ( ) ( ) ( , ) cos
( )
cos
( )
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
2 2 1
2
2 1
2
0
1
0
1
� �
� �
本实习中,我们只进行一维变换。
5.2、设计思路:
评论0