0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

标签 > 编译码

编译码

+关注 0人关注

在通信工程中,编解码器(codec)是用来指进行数据转换的集成电路或芯片。编解码器也是一种算法或专门的计算机程序,它可以减少大文件和程序所占用的字节数。

文章: 11
视频: 6
浏览: 23608
帖子: 4

编译码简介

  在通信工程中,编解码器(codec)是用来指进行数据转换的集成电路或芯片。编解码器也是一种算法或专门的计算机程序,它可以减少大文件和程序所占用的字节数。

  在通信工程中,编解码器(codec)是用来指进行数据转换的集成电路或芯片。在这种情况下,它是由编码器(coder)和译码器(decoder)这两个词的词头组成的缩写词。这种类型的编解码器将模拟数字转换(analog-to-digital conversion)和数字模拟转换(digital-to-analog conversion)功能结合在一个单芯片上。在个人和商用计算应用程序上,这种装置最常用在调制解调器上。

编译码百科

  在通信工程中,编解码器(codec)是用来指进行数据转换的集成电路或芯片。编解码器也是一种算法或专门的计算机程序,它可以减少大文件和程序所占用的字节数。

  在通信工程中,编解码器(codec)是用来指进行数据转换的集成电路或芯片。在这种情况下,它是由编码器(coder)和译码器(decoder)这两个词的词头组成的缩写词。这种类型的编解码器将模拟数字转换(analog-to-digital conversion)和数字模拟转换(digital-to-analog conversion)功能结合在一个单芯片上。在个人和商用计算应用程序上,这种装置最常用在调制解调器上。

  Codec也是压缩(compression)和解压缩(decompression)这两词的缩写词。编解码器(codec)是一种算法或专门的计算机程序,它可以减少大文件和程序所占用的字节数。

  为了尽量减少一个复杂的文件,如视频,所需要的存储空间,我们常常将其压缩。压缩是通过除去数据里的重复数据来实现的。任何类型的文件都可以进行压缩,包括文本﹑程序﹑图片﹑音频﹑视频和虚拟现实(VR)。在某些情况下,压缩可以将文件的大小缩小一百倍或更多。例如,一个15兆字节的视频可能会减少到150千字节。未压缩文件可能由于太大而不能在适当的时间内从网上下载,但压缩的文件通常只用几秒钟就可以下载。为了查看,我们需要使用解压缩算法,它可以将压缩“解开”。

  有许多标准的编解码器计划。一些主要用于尽量减少文件传输时间,主要用在因特网上。另外的主要是让一个特定的磁盘空间或CD-ROM储存尽可能多的数据。

  编解码器(codec)可用于许多流行的互联网产品,包括QuickTime﹑NetMeeting﹑Cu-Seeme和VDOphone。

  重复码编译码

  实验原理

  一般的通信信道中总是不可避免的存在噪声或者干扰,因此在信息传输的过程中也就必然会造成信息的损失,或者说,信源符号在有噪信道中的传输过程中会产生失真。为了降低这种信息损失,就需要我们在信源符号输入到信道之前,对其进行有效的信道编码。

  信道编码是通信系统中的一个重要环节,目的就是为了降低传输过程中错误发生的概率,从而提高通信系统的可靠性。信道编码的基本思想是附加冗余信息,增加信源的剩余度,这样在接收端就可以利用相关性进行检错或者纠错。根据有噪信道编码定理,附加冗余位可以降低信息传输率,使错误概率减小,当信息传输率小于信道容量时,理论上就可以使译码错误概率任意小,从而几乎无失真的进行信息传送。当然,同样是增加信源剩余度,不同的编码方法,其检、纠错能力也不同。目前,人们对信道编码的研究有很多,大概可分为线性分组码、循环码、卷积码等等。

  (一)重复码

  重复编码是一种简单的信道编码方法,其实质就是将每个要发送的符号重复发送,或者说是将原来的每一个信源符号编成多个相同的码元符号,其值与原来的符号取值相同。比如(3,1)二元重复码,其编码方法就是将原来二进制序列中的每一个“0”编成“000”,将每一个“1”编成“111”。

  所谓的译码规则就是指接收符号与发送符号之间的映射关系。不同的译码规则会造成不同的平均错误概率,所以人们一般都根据最小错误概率准则来确定译码规则。对于二元对称信道来说,一般总认为出错概率是小于等于0.5的,所以对于二元重复码,最小错误概率准则与择多译码规则是一致的,也就是说,译码时根据码字中“0”“1”的数目选择数目多的进行译码。比如(3,1)二元重复码的译码,可以将接收到的“000”、“001”、“010”和“100”译为“0”,将接收到的“011”、“101”、“110”和“111”译为“1”。这样,每个码字对于传输过程中发生的任一位错误,通过译码都可以进行自动纠正。可以证明,一个(n,1)重复码可以纠正传输过程中可能出现的不多于个差错。

  (二)比特操作

  在“实验一”中,我们已经熟悉了如何将一个字节(8bit)数据进行拆分,并每次针对半个字节(4bit)进行处理。在本实验中,根据重复码的编、译码原理,我们每次操作的对象是1bit,因此应该对“实验一”中的方法进行修正,使之能够对字节中的每个bit进行控制与操作:

  1)读取数据时,由于每次向输入文件的读取是以字节(8bit)为单位的,故需将每次读取的8bit(1字节)按位分开,以便对每个比特进行操作;

  2)输出数据时,由于每次向输出文件的写入是以字节(8bit)为单位的,故需每凑足8bit(1字节)执行一次向输出文件的写入操作。

  code.cpp

  [cpp] view plaincopyprint?

  #include 《stdio.h》

  #include 《stdlib.h》

  #define n 3

  static unsigned int inbfr,outbfr;

  static FILE *outfile,*infile;

  static int incnt,outcnt,mask;

  void init()

  {

  outbfr=0;

  outcnt=8;

  inbfr=0;

  incnt=8;

  mask=0x80; //10000000

  }

  int getbit()

  {

  int bitval;

  bitval=inbfr&mask; //bitval0000000

  incnt--; //7

  mask 》》= 1; //01000000

  bitval 》》= incnt;

  if (incnt==0)

  {

  inbfr=fgetc(infile);

  incnt=8;

  mask=0x80;

  }

  return bitval; //0000000bitval

  }

  void putbit( int bitval)

  {

  outbfr = (outbfr《《1)&255; //00000000

  outbfr |= bitval; //0000000bitval

  outcnt --;

  if (outcnt==0)

  {

  fputc(outbfr,outfile);

  outcnt = 8;

  }

  }

  void alignbits()

  {

  if (outcnt!=8)

  {

  for (int i=0;i《outcnt;i++)

  putbit(0);

  }

  }

  void main()

  {

  int bitval;

  if((infile=fopen(“ccc.txt”,“rb”))==NULL)

  {

  printf(“cannot open infile!!!\n”);

  exit(0);

  }

  if((outfile=fopen(“eee.txt”,“wb”))==NULL)

  {

  printf(“cannot open outfile!!!\n”);

  exit(0);

  }

  init();

  inbfr=fgetc(infile);

  while(!feof(infile))

  {

  bitval=getbit();

  for (int i=0;i《n;i++)

  putbit(bitval);

  }

  alignbits();

  fclose(infile);

  fclose(outfile);

  }

  decode.cpp

  [cpp] view plaincopyprint?

  #include 《stdio.h》

  #include 《stdlib.h》

  #define n 3

  static unsigned int inbfr,outbfr;

  static FILE *outfile,*infile;

  static int incnt,outcnt,mask;

  void init()

  {

  outbfr=0;

  outcnt=8;

  inbfr=0;

  incnt=8;

  mask=0x80;

  }

  int getbit()

  {

  int bitval;

  bitval=inbfr&mask;

  incnt--;

  mask 》》= 1;

  bitval 》》= incnt;

  if (incnt==0)

  {

  inbfr=fgetc(infile);

  incnt=8;

  mask=0x80;

  }

  return bitval;

  }

  void putbit( int bitval)

  {

  outbfr = (outbfr《《1)&255;

  outbfr |= bitval;

  outcnt --;

  if (outcnt==0)

  {

  fputc(outbfr,outfile);

  outcnt = 8;

  }

  }

  void alignbits()

  {

  if (outcnt!=8)

  {

  for (int i=0;i《outcnt;i++)

  putbit(0);

  }

  }

  void main()

  {

  int bitsum;

  if((infile=fopen(“eee.txt”,“rb”))==NULL)

  {

  printf(“cannot open infile!!!\n”);

  exit(0);

  }

  if((outfile=fopen(“fff.txt”,“wb”))==NULL)

  {

  printf(“cannot open outfile!!!\n”);

  exit(0);

  }

  init();

  inbfr=fgetc(infile);

  while(!feof(infile))

  {

  bitsum=0;

  for (int i=0;i《n;i++) bitsum+=getbit();

  if (bitsum》=2) putbit(1);

  else putbit(0);

  }

  alignbits();

  fclose(infile);

  fclose(outfile);

  }

查看详情

编译码技术

数字编译码红外遥控电路的工作原理

数字编译码红外遥控电路的工作原理

本文介绍用配套数字编译码器YN5103/YN5203组装的红外遥控电路,最多可提供12位地址或6位数据、译码输出有锁存L和暂留M两种模式供选择。用于一发...

2018-09-25 标签:红外遥控编译码 4339 0

G.723.1编译码算法的DSP实现

G.723.1编译码算法的DSP实现

介绍了ITU-TG.723.1标准语音编译码器的算法及其在ADSP-2181芯片上的实现 。软硬件结合实现了语音信号的采样和实时编译码,完全符合ITU-...

2011-07-06 标签:DSP编译码G.723.1 1332 0

查看更多>>

编译码资讯

基于STM32F103RET6的编译码系统

基于STM32F103RET6的编译码系统

本文提出了一种基于STM32F103RET6的编译码系统方案,利用了STM32F103RET6强大的定时器功能,采用灵活的编译码方式,传输速率和数据帧格...

2012-03-04 标签:编译码曼彻斯特 6594 1

双网传真机的编译码电路设计

双网传真机的编译码电路设计

双网传真系统完成与Internet和PSTN网络的传真通信,采用嵌入式系统的设计思路划分软硬件。其中,传真协议采用软件实现,传真编译码和外围设备控制器采...

2011-07-12 标签:传真机编译码 1535 0

G.723.1编译码算法的DSP实现

G.723.1编译码算法的DSP实现

【摘 要】 介绍了ITU-TG.723.1标准语音编译码器的算法及其在ADSP-2181芯片上的实现 。软硬件结合实现了语音信号的采样和实时编译码,完全...

2009-05-10 标签:编译码 1299 0

单片ZH8901编译码电路

单片ZH8901编译码电路

单片ZH8901编译码电路

2009-04-18 标签:编译码 915 0

编译码一体电路图

编译码一体电路图

编译码一体电路图

2009-04-18 标签:编译码 767 0

PCM编译码 实验

PCM编译码 实验

实验九  PCM编译码    一、实验目的     1. 掌握PCM编译码原理。...

2009-04-01 标签:编译码 1.0万 0

LDPC编译码

LDPC编译码

LDPC编译码LDPC码是一种线性分组奇偶校验码,它采用基于因子图的置信传播(Belief Propagation,BP)迭代译码算法进行译码。其性能接...

2009-03-01 标签:LDPC编译码 1823 0

PCM编译码模块原理

PCM编译码模块原理

PCM编译码模块原理 本模块的原理方框图图5-2所示,模块内部使用+5V和-5V电压,其中-5V电压由-12V电源经7905变换得到。

2008-10-21 标签:PCM编译码 7158 0

pcm编译码器电路图

pcm编译码器电路图

脉冲编码调制(PCM)技术与增量调制(ΔM)技术已经在数字通信系统中得到广泛应用。当信道噪声比较小时一般

2008-10-21 标签:pcm编译码 3782 0

查看更多>>

编译码数据手册

相关标签

相关话题

换一批
  • ESP8266
    ESP8266
    +关注
    wifi模块ESP8266的默认波特率是115200,但是单片机不能达到那么快的传输速率,只能使用4800bps,那么设置的时候,必不可少的要先用转串口调试下载器。
  • 呼吸灯
    呼吸灯
    +关注
    呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。其广泛应用于手机之上,并成为各大品牌新款手机的卖点之一,起到一个通知提醒的作用。
  • 点位图
    点位图
    +关注
    点位图法是把一幅图像分成许许多多的像素,每个像素用若干个二进制位来指定该像素的颜色、亮度和属性。因此一幅图像由许许多多描述每个像素的数据组成,这些数据通常称为图像数据,而这些数据通常是作为一个文件来存储的,这种文件又称为图像文件。
  • BTS7960
    BTS7960
    +关注
  • 核心板
    核心板
    +关注
  • STM32F407
    STM32F407
    +关注
  • 电气原理图
    电气原理图
    +关注
    电气原理图是用来表明设备电气的工作原理及各电器元件的作用,相互之间的关系的一种表示方式。 运用电气原理图的方法和技巧,对于分析电气线路,排除电路故障、程序编写是十分有益的。电气原理图一般由主电路、控制电路、保护、配电电路等几部分组成。
  • 彩电图纸
    彩电图纸
    +关注
  • TX-1C
    TX-1C
    +关注
  • 工程师白皮书
    工程师白皮书
    +关注
  • epM240
    epM240
    +关注
  • MStar
    MStar
    +关注
  • 液晶彩电图纸
    液晶彩电图纸
    +关注
    要想看懂液晶彩电图纸,前提是电子常识,把电视机的分成几个部分,电源线进部分是电源部分接喇叭的是音频电路,有一个高压包的是行电路,连接显象管上面线圈的是场电路(其中有两条线属于行输出),高频头(插天线的铁盒子)是接收电路。
  • SIM900
    SIM900
    +关注
  • 电路图纸
    电路图纸
    +关注
  • SPARK
    SPARK
    +关注
    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;
  • 开关电路图
    开关电路图
    +关注
  • 红外对管
    红外对管
    +关注
  • MC33035
    MC33035
    +关注
  • 晶体管测试仪
    晶体管测试仪
    +关注
  • 台灯电路图
    台灯电路图
    +关注
  • 电池保护板
    电池保护板
    +关注
  • STM32F103VET6
    STM32F103VET6
    +关注
    STM32F103VET6是一个32位高密性能微控制器单元,有着三个12位模数转换器和4个通用16位计时器,外加两个PWM计时器,另外有着标准和先进的通讯接口,高达两个I²C,三个SPI和两个I²S,一个SDIO,五个USART,一个USB和一个CAN。
  • 照明灯电路图
    照明灯电路图
    +关注
  • 非隔离电源
    非隔离电源
    +关注
  • CSR8635
    CSR8635
    +关注
  • 彩电电路图
    彩电电路图
    +关注
  • 曙光
    曙光
    +关注
  • mega16
    mega16
    +关注
  • 超声波模块
    超声波模块
    +关注

关注此标签的用户(0人)

编辑推荐厂商产品技术软件/工具OS/语言教程专题