精华内容
下载资源
问答
  • springboot响应信息编码配置

    千次阅读 2018-04-22 19:02:35
    spring boot 与spring mvc不同,在web应用中,默认的编码格式为UTF-8,而spring mvc的默认编码格式为iso-8859-1,在spring mvc中,如果设置编码格式需要在spring配置文件中加入: <mvc:annotation-driven&...

    spring boot 与spring mvc不同,在web应用中,默认的编码格式为UTF-8,而spring mvc的默认编码格式为iso-8859-1,在spring mvc中,如果设置编码格式需要在spring配置文件中加入:

    <mvc:annotation-driven>
            <mvc:message-converters register-defaults="true">
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                  <constructor-arg value="UTF-8" />
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>

    但是在springboot中默认是utf-8,如果没有特殊需求,该编码不需要修改。如果要强制其他编码格式,spring boot提供三种设置方式
    1. 通过在application.properties中设置

    spring.http.encoding.charset=iso-8859-1
    1. 自定义StringHttpMessageConverter的Bean
    @Bean 
    public StringHttpMessgeConverter stringHttpMessgeConverter(){
        return new StringHttpMessgeConverter(Charset.forName("Utf-8");
    }
    
    1. 实现WebMvcConfigurer,并重写addInterceptors
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
    }
    

    有些文档可能推荐继承WebMvcConfigurerAdapter,然后复写其中方法即可,但是从spring5.0开始,包括spring boot 2.0不在建议继承WebMvcConfigurerAdapter,而是直接实现WebMvcConfigurer,该接口中方法使用了java8中方法默认实现

    展开全文
  • LTE物理层之信道编码--数据信息编码:turbo编码

    万次阅读 多人点赞 2015-03-09 15:29:24
    Turbo编码巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。他的性能远远超过了其他的编码方式,得到了广泛的关注...

    Turbo编码巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。他的性能远远超过了其他的编码方式,得到了广泛的关注和发展。

    Turbo编码原理

    编码方面主要包括对并行级联编码与串行级联编码的分析,以及对混合级联方式的研究。

    Turbo编码器的结构

    典型的Turbo码编码器结构框图如图1所示:由两个反馈的编码器(称为成员编码器)通过一个交织器I并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。例如,对于生成矩阵为g=[g1,g2](212)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo码成员编码器是RSC编码器。原因在于递归编码器可以改善码的比特误码率性能。

     

    turbo编码

    3GPP LTE协议中使用的Turbo码为1/3码率的并行级联码,它的编码器由两个相同的码率为1/2RSC编码器及交织器组成,如图2所示。

    由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采用了两个相同的系统递归卷积码(RSC)。信息序列分成相同的两路,第一路经过RSC编码器1,输出系统码及校验码。另一路先通过交织器进行交织,使信息序列在1帧内重新排列顺序,然后经过RSC编码器2得到系统码和对应的校验码,由于该系统码和实际上都是原信息序列,只是排列顺序不同,在接收端完全可以通过对进行交织得到,因此在传输过程中可以省去,而只保留对应的校验位。


    由于RSC编码器不能如非递归编码器一样通过输入连“0”序列来使编码器复位(网格终止),因此通过设计如图8所示的AB间的开关来控制编码器终止(AB连接时,发现相同的反馈进行异或送进存储器时数据为0),当一帧结束时,开关由A打到B,则经过m时刻后,编码器复位,可以对下一帧数据进行编码。这里m=2。只有RSC编码器1(外编码器)进行了网络终止,RSC编码器2保持开放。


     

    举例说明turbo码工作原理



    假设输入序列为:     U = (1 0 1 0 1 1 0 1)                        

    第一个子码的校验序列为   v1 = (1 1 0 0 0 1 1 1)                       

    假设交织后的第二个子码的输入序列为:U’ = (1 1 0 1 1 0 0 1) 

    第二个子码的校验序列为: v2 = (1 0 0 1 1 0 1 1) 

    Turbo码的输出序列为:V = 111010100001101110011111) 

     

    Turbo编码中的交织器

    协议中交织器输入输出bit之间的关系:

    其中f1f2的取值与K值有关,关系见协议TS36.212中的Table5.1.3-3

     

    Turbo 译码

    译码方面主要包括迭代译码、译码算法(最大后验概率算法MAP、修正的MAP算法Max-Log-MAP、软输出Viterbi 算法SOVA等)的研究。

    标准turbo译码器结构

    Turbo码的迭代译码方案,与其并行级联编码方案相配合,无论从编码结构还是译码思路上都将Turbo码看作一个整体的长随机码,因此明显提高了译码性能。

    迭代译码通过将外码译码器的输出信息反馈回内译码器,从而使得两个相互独立的译码器充分利用彼此的信息,也因此才将各个子码连成一个真正意义下的长码。

     

    Turbo译码算法

    标准MAP算法

    是对bahl软输出算法做一定修正后,通过除以先验分布来消除正反馈的算法。对于约束长度为M 1的卷积码,其运算量为每比特6x3^M次乘法和5x2^M次加法。由于乘法运算量大,限制了译码的规模和速度。

    Log-MAP算法

    实际上就是对标准MAP算法中的似然全部用对数似然度来表示,这样,乘法运算变成了加法运算。总的运算量成为6x2^M次加法,5x2^M次求最大运算和5x2^M次查表。

    Max-Log-MAP算法

    是在上述对数域的算法中,将似然值加法表示式中的对数分量忽略,是似然加法完全变成求最大值运算,这样除了省去大部分的加法运算外,最大的好处是省去了对信噪比的估计,使得算法更稳健。

    展开全文
  • 模块作用:对控制信息和广播信道进行信道编码,增强鲁棒性。 咬尾卷积码优缺点:克服了码率损失的问题,并且适合迭代译码,但是译码复杂度增加了。 通常卷积码编码器开始工作时都要进行初始化,常常将编码器的所有...

    模块作用:对控制信息和广播信道进行信道编码,增强鲁棒性。

    咬尾卷积码优缺点:克服了码率损失的问题,并且适合迭代译码,但是译码复杂度增加了。

    通常卷积码编码器开始工作时都要进行初始化,常常将编码器的所有寄存器单元都进行清零处理。而在编码结束时,还要使用尾比特进行归零的结尾操作(Tailed Termination)。相对于编码比特而言,尾比特增加了编码开销。

    TD-LTE系统的卷积码编码器采用了咬尾编码方法,如图1所示,编码器开始工作时要进行特殊的初始化,将输入信息比特的最后m个比特依次输入编码器的寄存器中,当编码结束时,编码器的结束状态与初始状态相同。由于这个编码方法没有出现尾比特,因此称为咬尾编码。咬尾编码减少了尾比特的编码开销。对于咬尾编码方法,在译码过程中,由于编码器的初始状态和结尾状态是未知的,因此就需要增加一定的译码复杂度,才能确保好的译码性能。

    LTE TS36.212中规定了使用的咬尾卷积编码的约束长度为7,码率为1/3。


    其中 

    约束长度:(constraint length)= 寄存器个数(N)+1,即能输出信号到加法器的点的和。

    编码速率:若以(k,n,m)来描述卷积码,其中k为每次输入到卷积编码器的bit数,n为每个k元组码字对应的卷积码输出n元组码字,m称为约束长度,编码速率k/n。而这里一路输入有三路输出,还不用额外的尾比特。码率自然是1/3。

     

    图1中D从左到右分别对应标准上的S0,S1,。。。S5。

    初始化时,S0=Ck-1,S1=Ck-2,。。。,S5=Ck-6。  //initialization

    输入第一个比特C0,d0=C0⊕Ck-2⊕Ck-3⊕Ck-5⊕Ck-6,  //⊕代表异或

    d1,d2同样的方法生成。                 //

    当输入第二个比特C1时,寄存器右移一位,最末位抛弃,即S5抛弃,第一位变为输入位,即S0=C0。  //registered update

    当最后的比特Ck-1进行编码完成后,寄存器又回到了初始状态,就像一条蛇咬住了自己的尾巴,这就是tailbiting的由来。因此,这个卷积码也叫做咬尾卷积码。

    G0,G1,G2是生成公式,与输入比特异或的寄存器为1,不异或的寄存器为0,因此,第一个输出d0的生成公式是011011,同CRC的生成公式一样,最高位要置1,因此生成公式为1011011。

    咬尾卷积译码:

    咬尾卷积译码算法有以下几种:较早提出的Bar-David算法和最大似然算法,后来提出的循环维特比算法(CVA),还有基于该算法的地复杂度的改进算法,如环绕维特比算法(WAVA),双向维特比算法(BVA),还有两步维特比算法、双回溯循环维特比译码算法。

    展开全文
  • 信息论与编码

    千次阅读 2018-06-05 01:42:03
    编码信息论里分为两大块,一块是信道编码,一块是信源编码。(一)信道编码 1. 香农有噪信道编码定理香农有噪信道编码定理指出一个令人惊叹的事实,尽管噪声会带来干扰,我们还是可以以任意小的错误概率传送数据...

    编码在信息论里分为两大块,一块是信道编码,一块是信源编码。

    (一)信道编码

    1. 香农有噪信道编码定理

    香农有噪信道编码定理指出一个令人惊叹的事实,尽管噪声会带来干扰,我们还是可以以任意小的错误概率传送数据信息,这是整个现代信息论的基石,因此此定理也被称为信息原理基本定理。为了达到这个任意小的错误概率,我们需要对信息码元进行监督和检测,这就需要增加数据的冗余度。

    同时,给定信道有一个极限信息率,只有在这个信息率下,我们才能达到以任意小的错误概率传送数据信息的目的。这个极限速率就是信道容量C。(附:在被高斯白噪声干扰的信道中,C=log2(1+S/N)这被就是香农公式。)香农指出,信道容量是输入输出互信息的最大值,此时的输入分布被称为最佳输入分布。

          换句话说,给定一个误码率0,那么存在一种编解码方式,使信息传输率小于等于RR<C),而误码率逼近0

          此外,若给定一个误码率Pb,那么存在一种编码方式,可以使信息传输速率达到

    C/(1-H2(Pb)),其中H2Pb= -[Pb*log2Pb+(1-Pb)*log2(1-Pb)]

    2. 如何以任意小的错误概率传输数据

         为了降低传输中的错误,需要增加冗余。线性分组码就是个绝佳例子,它将k个信息元编译成n个码元,添加了监督码元。由于监督码元由信息元产生,与信息元有约束和纠缠的关系,所以其有纠正错误的能力。线性分组码包括汉明码,循环码(目前研究的最透彻)。

    然而,如果要提高线性码的校验能力,只能增加校验位,校验位一增加,编、译码设备就得变复杂。为了克服这一点,我们可以使用卷积码。卷积码是有记忆码,它利用各组之间的相关性增加自己的纠错能力,克服了线性分组码的缺点。

    (二)信源编码  

    1. 香农信源编码定理

    为了提高传输速率,需要进行数据压缩。香农的信源编码定理确立了数据压缩的限度。

    香农信源编码定理可以这样表示:一个离散平稳无记忆信源X产生了长度为n的信息序列,其数据量为n bit,当n趋近于无穷大时,我们能够以几乎为0的信息损失风险将这个信息压缩到n HXbit。相反,若少于n HXbit,则信息一定会丢失。

    2.码符号的信源编码定理

    对于具体的映射码,我们依旧可以给出码符号的信源编码定理:存在一种唯一可译的映射码,它的平均码长大于等于H(X)/log2(a),小于H(X)/log2(a)+1。这就是信源的最佳编码,期望码长最小。其中a是映射符号集内符号数目。

    这两个定理,一个指明了最小压缩限度,一个指明了最小码字长度期望。

    3 .无失真信源编码和有失真信源编码

        无失真信源编码只对信源的冗余度进行压缩,而不会改变信源的熵。对于无失真编码,编码函数是一一对应和可逆的。在这个前提下,寻找一种使平均每个信源符号所需要的码符号最短的编码方法就成了重中之重。为此,香农、费诺和霍夫曼都设计了不同的编码方法,其中以霍夫曼的编码方法最佳。

    而有失真信源编码为了换取更好的压缩率,通常会对信源的熵做出改动。

    我们常见的图片格式PNGGIF使用的是无损压缩,即无失真信源编码。而常用的jpgjpeggif则是有损压缩模式,为有失真信源编码。

     

    (三)总结信息论

    信息论是应用数学、电机工程学和计算机科学的分支,涉及信息的量化、存储和通信。它由香农创立和发展,用于寻找信号处理和通信操作的基本限制。如数据压缩的极限,可靠传输的容量限制,数据传输的安全性和传输率之间的关系等等。同时,它也渐渐地渗透入其他领域,诸如统计判断、自然语言处理、密码学、进化论、热物理、量子计算、语言学、异常检测都离不开信息论。

    损数据压缩例如zip文件,有损数据压缩例如jpegmp3文件,信道编码DSL,都是信息论基本内容的应用。

    而信息论的子领域信道编码、信源编码、算法复杂性理论、算法信息论、信息论安全性和信息度量也是人类生活发挥着极其重要的作用。

        

    展开全文
  • 信息分类编码

    千次阅读 2013-03-05 09:16:28
    信息分类编码  信息分类编码(Information Classifying and Coding)是标准化的一个领域,已发展成了一门学科,有自身的研究对象、研究内容和研究方法。在现代社会中,信息分类和编码是提高劳动生产率和科学...
  • 香农编码,费诺编码,赫夫曼编码(python实现) 开始参考了网上其他人的代码,但后来都发现要么代码有错误,要么输出结果不符合自己的预期,于是就重新实现了一下,代码仍存在一些小问题,但是能够满足作业要求,...
  • 爱奇艺 视频编码信息参考

    千次阅读 2018-12-04 14:49:22
    爱奇艺视频 不同视频规格的编码信息分析 根据下载下来的视频分析的结果,大家可以用来做参数:   规格 文件码率 分辨率 视频编码格式 视频编码码率 视频帧率 音频编码格式 音频编码码率 ...
  • 全国省份信息编码 //省份数组 $all_region = [ '110000' => '北京市', '120000' => '天津市', '130000' => '河北省', '140000' => '山西省', '
  • 信息论实验-信源编码2(Lz编码和算数编码的C++实现)

    万次阅读 多人点赞 2017-08-13 17:21:36
    上一篇文章给出了Huffman编码和Shannon Fano编码编码原理以及C++的程序,程序可以用来实现给任意类型的文件进行无损压缩,缺点是比较耗时,不能作为正常的通用压缩软件来使用,但是作为算法理解,算法思路是没有...
  • 信息论与编码之课设-哈夫曼编码

    千次阅读 2016-11-26 19:45:41
    哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,  夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之...
  • 实现压缩编码算法——Huffman编码 2. 实现压缩编码算法——Shannon Fano编码 3. 实现压缩编码算法——LZ编码 4. 实现压缩编码算法——算数编码 5. 利用上述压缩算法压缩图像、音频、视频文件,分析压缩算法的性能。...
  • git设置编码

    万次阅读 2017-06-07 16:09:49
    $ git config --global core.quotepath false 显示 status 编 $ git config --global gui.encoding utf-8 ...$ git config --global i18n.commit.encoding utf-8 提交信息编码 $ git config --global i18n.logoutp...
  • 信源编码与信道编码

    千次阅读 2018-04-20 19:14:18
    信源编码:对输入信息进行编码,优化信息和压缩信息,并打包成符合标准的数据包。信源编码的主要作用是:1. 将模拟信号转化为数字信号;2. 对数据进行压缩。在保证通信质量的前提下,尽可能的通过对信源的压缩,提高...
  • 之前弄明白了信息熵是什么,由于信息熵来源于信息论,要怎么才能跟编码联系起来呢?这个问题当时没有想明白,今天查了一下资料,理解了一下,做笔记整理一下,如有错误欢迎指正。如果信息熵不明白的请看这里:...
  • 为此,我专门研究了一下中文编码,看了网络上的许多文章,现在对计算机中的信息编码理解逐渐清晰。下面,我就网络上所学到的以及自己的一些理解做一个简单的梳理。 计算机编码的发展 很久很久以前,有一群人,他们...
  • 服务器与浏览器信息传送编码

    千次阅读 2015-04-20 10:55:59
    1 请求编码 1.1 直接在地址栏中给出中文 请求数据是由客户端浏览器发送服务器的,请求数据的编码是由浏览器决定的。例如在浏览器地址栏中给出:http://localhost:8080/hello/AServlet?name=传智,那么其中“传智...
  • 文章目录哈夫曼编码编码步骤例子优点缺点费诺编码编码步骤例子优点缺点香农编码编码步骤例子优点缺点参考 备注:本文除了例子与数据,其他内容均为整合网络资源。 哈夫曼编码 编码步骤 S1 将信源符号按照概率大小从...
  • 信息论之哈夫曼编码

    千次阅读 2018-11-06 19:01:06
    先将信源符号的概率按...码字W1是按照对应一行的信源符号ai的概率p(ai)在编码过程中担任了0or1,先标记的数字在后面,后标记的在前面。 码长Ki为二进制码字的位数。 将表5-5和5-6中编码过程横向看即可发现,...
  • 编码和可靠性编码

    千次阅读 2019-03-31 20:24:36
    编码和可靠性编码
  • 哈夫曼编码

    万次阅读 2016-05-20 18:25:26
    哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为...
  • 编码:算术编码

    万次阅读 2020-02-10 11:29:53
    算术编码不是简单的将每个信源符号映射成一个码字,而是对整个输入序列分配一个码字,所以平均意义上可以为每个信源符号分配长度小于1的码字。 算术编码操作简单,下面以一个实例讲解算术编码的原理: 设信源有a,b...
  • 香农编码,哈夫曼编码与费诺编码的比较

    万次阅读 多人点赞 2018-12-05 16:46:12
    香农编码是根据香农第一定理直接得出的,指出了平均码长与信息之间的关系,同时也指出了可以通过编码使平均码长达到极限值。香农第一定理是将原始信源符号转化为新的码符号,使码符号尽量服从等概分布,从而每个码...
  • 编码

    千次阅读 多人点赞 2019-07-04 16:49:57
    大多数编码器都使用光学传感器来提供脉冲序列形式的电信号, 这些信号可以依次转换成运动、方向或位置信息编码器依运动方式可分为旋转编码器或是线性编码器;按照读出方式编码器可以分为接触式和非接触式两种;...
  • 霍夫曼编码

    万次阅读 2018-06-17 10:36:27
    霍夫曼在1952年提出了霍夫曼编码,霍夫曼编码是一种无损的统计编码方法,利用信息符号概率分布特性来改编字长进行编码。适用于多元独立信源。霍夫曼编码对于出现概率大的信息符号用字长小的符号表示,对于出现概率小...
  • 一、PUCCH 控制信息的信道编码 1、 数据是以测量指示,调度请求,HARQ-ACK确定的形式到达编码单元。 共有三种编码的方式:用于信道质量信息CQI编码,用于HARQ-ACK和调度请求的编码,用于信道质量信息和HARQ-ACK的...
  • 文本编码

    万次阅读 2016-03-01 00:05:49
    文本编码 文本编码这个问题自三年前就困扰着我,当时是用Python处理多国语言时出现的bug,最后问题解决了,但其中具体逻辑并不懂。后来零零散散接触了不少资料,算是大致弄明白,记录如下。 unicode与ascii等编码...
  • 信息分类编码技术研究及应用

    千次阅读 2008-01-07 10:27:00
    本文从烟草机械制造企业信息化过程入手,介绍信息分类编码在企业信息化中的重要性, 对信息分类编码技术进行了较为详细的阐述,重点介绍烟草机械制造企业信息分类编码的方法、信息分类编码的原理与编码的内容。...
  • ASCII编码

    千次阅读 2020-01-11 12:29:50
    ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,208,852
精华内容 483,540
关键字:

信息编码