- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于极坐标系的二进制信号量化压缩方法
基于极坐标系的二进制信号量化压缩方法
目 录
压缩解压缩算法 1
1 摘要 3
2 引言 3
3 算法原理、理论分析与计算 3
a. 系统模型 3
b. 算法内容 5
c. 作品特色及难点分析 6
4 算法系统实现方案设计 6
a. 基于VC6.0的算法程序设计 6
b. 程序主要函数说明 7
5 结果分析 7
6 结论 8
7 参考文献 8
摘要
数据压缩是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率的一种技术方法。或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间000)和(-32770~-21770),而Q方向数据位(0~12000)和(-32780~-21780)。I和Q方向的数据都是从(-32770~0),量化这些数据需要用16为二进制数据(加上符号位),从图1可以明显看出,在(-26770~7000)之间存在很大的量化空白,因此可以设法用较少的二进制数据来对样本点进行表示。由于每个区域的数据呈现扇形状分布,如图2,可以考虑将四个数据块加以标记后叠放在一起,然后采用这里我们采用极坐标表示扇形数据块。
图2 每个部分的样本点分布
如图3的A点,用笛卡尔坐标为(It,Qt),而用极坐标则表示为ρ(θ)
图2 样本点的坐标表示
其中ρ为A到(0,0)点的距离,θ为相对于极径ρ的张角。并且ρ可以用13~14bit的二进制数据表示,范围为(0~16384),θ可以用7bit数据表示范围(0~127),并且4个部分的样本点,可以用2bit来加以区分。因此总的bit位的总数为22bit相对于原来的32bit表示减少了10bit,实现了数据压缩,且理论上压缩率为。
算法内容
算法的功能为实现样本点的笛卡尔坐标到极坐标表示。
首先对图1的四个数据块位置进行编号,右上为P0,左上为P1,左下为P2,左下为P3。若样本点在P0中,即样本点的I在0~16384,Q在0~16384。则直接处理样本点数据。变换式如下
(1)
(2)
若样本点在P1中,则对I方向数据进行处理I=I+32770,将数据变换到P0区域。再对数据按照(1)(2)式进行变换。
若样本点在P2中,则对I、Q方向数据进行处理I=I+32770,Q=Q+32780,将数据变换到P0区域。再对数据按照(1)(2)式进行变换。
若样本点在P3中,则对Q方向数据进行处理Q=Q+32780,将数据变换到P0区域。再对数据按照(1)(2)式进行变换。
变换过程中,P0-P3的样本点分别用2bit进行标注。标识表如表1。
表1 区域标注对应表
区域 二进制bit P0 00 P1 01 P2 10 P3 11 最终将变换后的数据组成数据帧,帧结构如图3。
图3 数据帧格式
解压缩数据时,分别提取数据帧的位置、角度、极径等信息。按照下式完成极坐标系到笛卡尔坐标系数值的转化。
(3)
(4)
这种量化压缩方法的误差主要是由于角度的四舍五入造成的。角度量化可以采用7bit来表示0-90的数据,当极径较大时,有角度带来的EVM也会变大,若角度可以采用10bit二进制数表示,表示范围变成0.0-90.0,使量化精度提高,EVM减小,但由于增加的量化bit,使总的压缩率降低。
作品特色及难点分析
本设计的设计特色在于采用简单的数据坐标变换法实现压缩,相比于其他的复杂压缩方法,具有简单、快速,且有一定压缩比的优点。
算法系统实现方案设计
基于VC6.0的算法程序设计
本设计的算法采用C语言在VC6.0环境下实现,程序分为压缩和解压缩两部分。算法流程图如图4 。
图4 压缩和解压缩算法程序流程图
程序主要函数说明
压缩程序
函数包括Encode_1c()、xy_to_p()、fwrite_rls()。其中Encode_1c()实现十六进制到二进制数据的转换。xy_to_p()实现数据坐标的变化,
fwrite_rls()实现处理过数据的编码以及生成压缩数据文件。
解压缩程序
函数包括Decode()、Decode_2c() 。其中Decode()实现十六进制到二进制数据的转换。Decode_2c()实现数据解压缩处理,包括数据帧信息(极径、角度、位置)的提取,坐标的变化(从极坐标到笛卡尔坐标),最后生成解压缩数据文件。
完整代码见附录一和附录二。
结果分析
这种量化压缩方法的误差来源(在VC6.0环境下)主要是由于角度的四舍五入造成的。例如,输入数据位FD8C/2066,对应的十进制数为I=-32140、Q=8294,角度为θ=85.6562(10bit的θ量化),极径ρ=8317.89,而在压缩数据的时候,将数据保存为θ=85.7,极径ρ=8318。这样解压缩以后,对应的I=-32147/Q=8294,十六进
文档评论(0)