1、课 程 设 计 任 务 书分院(系) 信息科学与工程学院 专业 电子信息工程学生姓名 学号设计题目 语音信号的压缩(u 律)内容及要求:内容:学生通过动手做软件和硬件设计能够熟练掌握数字信号处理技术,增加对基础知识的消化和理解要求:1. 完成语音信号采集2. 对语音信号进行 u 律压缩 3. 传输压缩后的信号进度安排:2007 年 12 月 14-16 日 选课题、查阅资料及编写软件程序(或硬件原理图设计)2007 年 12 月 17-21 日 课内上机调试程序及仿真2007 年 12 月 22-29 日 课外上机调试程序及仿真、写报告并且调试出结果2007 年 12 月 30-31 日 调试
2、结果验收及检查报告电子版(草稿)2008 年 01 月 01-03 日 修改报告及提交报告电子版(修改之后)2008 年 01 月 04 日 正式提交报告(打印版)及参加第一次答辩2008 年 01 月 07 日 不合格者参加第二次答辩(交正式报告的电子版)指导教师(签字):年 月 日分院院长(签字):年 月 日目 录一、设计目的及要求.11、设计目的.12 设计要求.1二、系统设计原理及步骤.11 基 本 原 理 分 析 .12 设 计 步 骤 .2三、编程设计及程序注释.21 CMD 文件 .22 ASM 文件2四、程序运行结果及讨论. .7五、参考文献.9语音信号的压缩(u 律)一、设计
3、目的及要求1、设计目的 (1) .学习语音压缩系统的设计及在 DSP 处理器上的实现(2) .加深对 DSP 和 CCS 的认识2 设计要求1完成语音信号的采集2对语音信号进行 u 律的压缩3传输压缩后的信号二、系统设计原理及步骤1、 基 本 原 理 分 析压 缩 技 术 能 够 借 用 3 种 方 法 实 现 : ( 1) 模 拟 信 号 大 大 ADC 前 , 首 先 通 过一 个 非 线 性 电 路 ; ( 2) 使 用 一 个 8 比 特 ADC, 其 内 部 两 化 电 平 取 非 均 等 间 隔 ;( 3) 使 用 线 性 的 12 比 特 ADC, 然 后 借 助 与 数 字 查
4、 表 ( 12 比 特 输 入 , 8 比 特输 出 ) 。 在 该 课 程 设 计 中 我 们 用 的 是 u 律 压 缩 。 U 律 的 压 缩 可 以 定 义 为 :ln(|)()sg)uxFx-1 x 1 公 式 ( 1)式 中 , u 是 压 缩 参 数 , x 是 需 要 压 缩 的 归 一 化 整 数 。 在 压 缩 时 , 高 幅 度 的 地 位比 特 丢 弃 得 多 , 低 幅 度 的 地 位 比 特 丢 弃 得 少 。 利 用 丢 弃 的 比 特 数 目 作 为 编 码 用的 码 子 , 成 段 值 。 然 后 对 这 种 经 过 分 段 线 性 近 似 的 每 一 段 按
5、 照 等 分 电 平 方 式 量化 。 对 于 串 接 的 每 一 段 , 邻 近 麻 子 所 代 表 的 长 度 按 照 双 倍 的 关 系 增 加 。 此 外 麻子 的 最 高 有 效 位 保 留 原 始 信 号 的 符 号 。 一 个 8 比 特 u=255 的 码 子 有 一 个 符 号 比特 、 一 个 3 比 特 段 代 码 和 一 个 4 比 特 的 电 平 量 化 值 串 联 而 成 。 在 发 送 以 前 , 所有 比 特 是 取 反 的 , 所 以 一 个 正 书 将 有 带 “1”的 符 号 比 特 。在 决 定 输 入 是 属 于 哪 一 段 以 前 , 原 始 整 数
6、 的 符 号 先 不 考 虑 , 一 个 偏 移 量 33加 到 该 整 数 的 绝 对 值 上 。 偏 移 量 限 制 最 大 的 输 入 为 8159, 并 减 小 最 小 步 长 至2/8159。 偏 移 量 简 化 了 每 一 段 两 个 短 点 的 计 算 。 寻 找 所 在 段 代 码 是 借 助 于 检 测偏 移 输 入 模 值 的 最 有 效 “1”位 置 , 而 量 化 值 是 由 跟 在 它 后 边 的 4 个 比 特 组 成 。从 线 性 到 u 律 压 缩 转 换 如 下 表 所 说 明 , 压 缩 后 的 码 子 组 成 : 比 特 03 表 示量 化 值 , 比 特
7、 46 表 示 段 值 , 压 缩 后 的 码 子 符 号 放 在 比 特 7。DSP 实现数据处理的关键问题:AD50C 有两种通信格式:首次通信和二次通信。首次通信:首次通信的格式的 16 位都是用来传输数据。ADC 的数据长度由寄存器 2 的 D4 位决定。启动和复位后默认值为 15+1 位模式,最后以为用于请求二次通信。二次通信:二次通信用来初始化和设置 AD50C 的内部寄存器的值。二次通信时 DSP 可以通过向 DIN 写入寄存器的值,也可以从 DIN 读出寄存器的值表 1 U 律二进制编码表2 设 计 步 骤(1) 按照实验一的步骤建立相应工程、原文件(ASM 文件)、命令文件(
8、CMD文件)(2) 在原文件中输入相应的内容,注释部分不用输入,在命令文件中输入命令文件的内容,并把两个文件加入到工程中(3) 对工程进行编译,装入输出文件(OUT 文件)(4) 单步执行,观察寄存器和内存的变化三、编程设计及程序注释1、CMD 文件MEMORYPAGE 0: VECS: origin=0xff80, length=0x80PROG: origin=0x2000, length=0x2000PAGE 1: DATA: origin=0x4000, length=0x1000DRAM: origin=0x5000, length=0x1000STACK: origin=0x600
9、0, length=0x1000SECTIONS.vectors: VECS PAGE 0.text: PROG PAGE 0.data: DATA PAGE 1.bss: DRAM PAGE 1.stack: STACK PAGE 12、ASM 文件.title “ex12“压 缩 前 的 码 子 压 缩 后 的 码 子偏 置 的 输 入 ( 模 值 ) 段 值 、 量 化 值比 特 : 12 11 10 9 8 7 6 5 4 3 2 1 0丢 弃 的比 特 数比 特 : 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 a b c d x 1 0 0 0 a b c d0 0
10、0 0 0 0 1 a b c d x x 2 0 0 1 a b c d0 0 0 0 0 1 a b c d x x x 3 0 1 0 a b c d 0 0 0 0 1 a b c d x x x x 4 0 1 1 a b c d 0 0 0 1 a b c d x x x x x 5 1 0 0 a b c d0 0 1 a b c d x x x x x x 6 1 0 1 a b c d 0 1 a b c d x x x x x x x 7 1 1 0 a b c d1 a b c d x x x x x x x x 8 1 1 1 a b c dBSP .set 1 ;当前
11、使用 McBsp1;McBsp 内存映射寄存器SPSA0 .set 038hSPSD0 .set 039hDRR10 .set 021hDRR20 .set 020hDXR10 .set 023hDXR20 .set 022hSPSA1 .set 048hSPSD1 .set 049hDRR11 .set 041hDRR21 .set 040hDXR11 .set 043hDXR21 .set 042h;McBsp Subaddressed RegistersSPCR1 .set 00hSPCR2 .set 01hRCR1 .set 02hRCR2 .set 03hXCR1 .set 04hX
12、CR2 .set 05hSRGR1 .set 06hSRGR2 .set 07hMCR1 .set 08hMCR2 .set 09hRCERA .set 0ahRCERB .set 0bhXCERA .set 0chXCERB .set 0dhPCR .set 0eh.if BSP = 0SPSA .set SPSA0SPSD .set SPSD0RDRR .set DRR10RDXR .set DXR10.endif.if BSP = 1SPSA .set SPSA1SPSD .set SPSD1RDRR .set DRR11RDXR .set DXR11.endifWR_SUB_REG .
13、macro val,addr ;写 McBsp 控制寄存器stm addr,SPSAnopstm val,SPSDnop.endmRD_SUB_REG .macro addr,acc ;读 McBsp 控制寄存器stm #:addr:,SPSAnopldm SPSD,accnopnopnop.endmWAITTRX .macro ;等待串口中断WAITR?RD_SUB_REG SPCR1,Aand #1 录音;ld b,ab play ;已结束- 放音record ld #0d000h,bsub ar2,bbc load,bneq ;录制数据放完,再从头放起stm #4000h,ar2load
14、 ld *ar2+,a ;加载录制数据playand #0fffeh,a ;放音stlm A,RDXRretetrans rsbx XFrete.end四、程序运行结果及讨论在程序正常运行,能够对语音信号进行压缩处理。在现代通信领域中,对语音信号的压缩方面有很大的发展前景,因此,应该对该课题在做深入的研究。该程序是对语音采集程序和 16 位/8 位 u 律线性互换程序嵌套。此类压缩是一种最简单的线性位压缩方式,可以将高位的数据压缩成低位的数据,它适用于声音信号的播放和传输系统,但采集和播放音乐信号时采用高位的AD 和 DA 可得到较好的音乐效果,但传输或保存声音信号时,可压缩存储,从而在同样的存储空间上存储较长时间的语音信号,现在很多简单的录音设备就采用这种方式,但 u 率压缩率不高,而且压缩的失真是固定的,不能通过算法提高,所以在较为复杂的语音设备中应用较少,在有些语句上还有不和理的地方,有待于修改。图 1 C54X 片内外部设备寄存器观察窗口图 2 C54X CPU 寄存器观察窗口