想探询一下简单的压缩码技术

[复制链接]
3844|19
 楼主| jz96119 发表于 2007-7-3 20:41 | 显示全部楼层 |阅读模式
对于低频通讯(RS232通讯,红外,低频包括27MHz,433MHz等)来说,当数据量庞大时,务必会造成通讯的缓慢.有时候影响传输和工作效率.<br /><br />现在我正在开发一个方案,采用38K的红外通讯来传输8个8位的数据(这些数据是通过外部AD采样得到的),来控制几个LAMP灯的亮度,从而达到某种视觉效果,可是在工作中,我发现通讯时,数据量太多,几乎发送一桢数据需要耗时100ms左右,通讯速度太慢,从而使LAMP灯变化效果不好...<br /><br />请教各位大虾,有没有简单的数据压缩技术(最好为1/4压缩比).<br />急,急!!<br />谢谢!!<br />
conwh 发表于 2007-7-3 20:48 | 显示全部楼层

1桢有多大?38K做载波也太小了

  
 楼主| jz96119 发表于 2007-7-3 21:19 | 显示全部楼层

谢谢

一桢数据有100多毫秒,客户要求采用38KHz的红外载波,距离要求12米左右;<br />我采用了数字编码发送,数据1为600us载波信号和600us的低电平信号;&nbsp;数据0为600us的载波信号和1200us的低电平信号,总共发送68位数据......<br />是比较多的,所以想到压缩方式........
conwh 发表于 2007-7-3 21:27 | 显示全部楼层

这个的速度也太慢了,平均下来也就700-800个BPS

  
pheavecn 发表于 2007-7-3 21:36 | 显示全部楼层

用曼彻斯特码或密勒码!

  
 楼主| jz96119 发表于 2007-7-4 08:40 | 显示全部楼层

红外用曼彻斯特码或密勒码???

应该应用不上吧........
xwj 发表于 2007-7-4 09:03 | 显示全部楼层

必须改载波频率,改编码没太大作用的

  
chunyang 发表于 2007-7-4 10:44 | 显示全部楼层

数据压缩是靠数据间的关联性实现的

看看你的数据是否有规律,这是决定压缩程度的唯一条件,数据量过低是无法压缩的。
zjh006 发表于 2007-7-4 17:21 | 显示全部楼层

  
zjh006 发表于 2007-7-4 17:24 | 显示全部楼层

试一下下面的方法

1。改变码的宽度,将码的宽度缩小<br />2。改变码的结构,数据0用600us的载波,数据1用600us的低电平
tjsheep 发表于 2007-7-4 17:32 | 显示全部楼层

用差分码,如果有长期规律,就做预测差分码

  
conwh 发表于 2007-7-4 17:47 | 显示全部楼层

用232协议就行,协议低层MCU自己管理就行,接收用中断方式

这样会节约出大量的时间,给你显示是没有问题的。
tjsheep 发表于 2007-7-4 17:55 | 显示全部楼层

to 楼上,楼主的问题是时间不够是波特率太慢造成的

不是cpu处理造成的……
平常人 发表于 2007-7-4 18:37 | 显示全部楼层

关于“简单的压缩码技术”,楼主的问题应该从应用本身找

我要先提几个问题:<br />1)要控制几盏灯?<br />2)每盏灯亮度的控制精度有多高?<br /><br />假设你有8盏灯,那么传送8个8位的数据意味着每盏灯亮度的控制精度为8位,即每盏灯亮度可以有256级。<br />---------------<br />请问你的应用需要这么高的精度吗?<br />你的灯能够反应这么高的精度吗?或者说人眼能否分辨这么高精度的亮度调节吗?<br /><br />我怀疑你是否真的需要有这么高的控制精度。所以建议你试一下把亮度控制的级别减少,看看效果如何。<br />---------------<br /><br />另一个思路是,第一次传送完整的数值后,以后只传送变化的相对值,如果变化不快的话,这是完全可行的。如变化的相对值控制在+3~-3之间或+7~-7之间,那每盏灯一次只需传送3位或4位。
conwh 发表于 2007-7-4 19:04 | 显示全部楼层

TO 14L

就是因为他自己搞的通讯协议,所以要解析波形的,这样会占用大量的MCU处理时间,如果使用232以及中断方式就会把这个时间转让给其他的用途。
tjsheep 发表于 2007-7-4 20:04 | 显示全部楼层

to楼上,就是把cpu时间放出来,也是没用的

信号就那么一个一个慢慢的传过来的,现在的问题是波特率慢啊
lucidmask 发表于 2007-7-5 09:01 | 显示全部楼层

re

最终是要lamp的高度变化的效果好,也许可以换个角度,改变LAMP的亮度方法上想一想
老黄头 发表于 2007-7-5 10:49 | 显示全部楼层

同意 15楼:"平常人" 的说法.

  
pheavecn 发表于 2007-7-5 11:48 | 显示全部楼层

曼彻斯特码和密勒码在红外遥控里允许较高的波特率。

相信我没错的,红外遥控我敢说我很专。<br />很多欧洲版的红外遥控用曼码和密勒码。
xsp123666 发表于 2011-9-28 17:46 | 显示全部楼层
都是高手,顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

84

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部