这玩意最近经常出现额……

FFT解决的问题是\[C_{k}=\sum_{i+j=k}A_i \cdot B_j\]

其中\(A\)、\(B\)、\(C\)是三个列向量。

而FWHT是将\(\sum\)下面的\(+\)号换成位运算符时采用的方法。

做法与FFT相似,先将类似的系数表达式转换为点值表达式,点积之后再转换回来。

将系数表达式转换为点值表达式的函数叫\(tf\),反向的叫\(utf\)。

\(A_0\)表示\(A\)的前半部分(二进制位最高位为0),\(A_1\)表示\(A\)的后半部分(二进制位最高位为1),转换方法为:

\[tf_{xor}(A)=(tf_{xor}(A_0+A_1),tf_{xor}(A_0-A_1))\]\[utf_{xor}(A)=(utf_{xor}(\frac{A_0+A_1}{2}),utf_{xor}(\frac{A_0-A_1}{2}))\]

\[tf_{and}(A)=(tf_{and}(A_0+A_1),tf_{and}(A_1))\]\[utf_{and}(A)=(utf_{and}(A_0-A_1),utf_{and}(A_1))\]

\[tf_{or}(A)=(tf_{or}(A_0),tf_{or}(A_1+A_0))\]\[utf_{or}(A)=(utf_{or}(A_0),utf_{or}(A_1-A_0))\]

还有一点就是,先递归再转换还是先转换再递归是对结果没有影响的,所以可以把\(tf\)与\(utf\)写成一个函数。

P.S. http://picks.logdown.com/posts/179290-fast-walsh-hadamard-transform

Fast Walsh-Hadamard Transform的更多相关文章

  1. Fast Walsh–Hadamard transform

    考虑变换 $$\hat{A_x} = \sum_{i\ or\ x = x}{ A_i }$$ 记 $S_{t}(A,x) = \sum_{c(i,t)\ or\ c(x,t)=c(x,t),\ i ...

  2. h.264 fast,1/2,1/4像素运动估计与插值处理

    Hadamard Transform 在1/2,1/4像素运动估计这一阶段中,对于像素残差,可以选择采用哈达玛变换来代替离散余弦变换进行高低频的分离. 优点:哈达玛矩阵全是+1,-1,因此只需要进行加 ...

  3. H.264 Transform

    变换是视频.图像编码的核心部分.目前所采用的变换算法都是从傅里叶变换演变而来.单纯的变换并不会导致视频(图像)的码率变小,反而会增大.但是非常巧妙的一点是:变换把图像从空域转换成的时域,把由色块组成的 ...

  4. 简单的量子算法(一):Hadamard 变换、Parity Problem

    Hadamard Transform Hadamard 变换在量子逻辑门中提过,只不过那时是单量子的Hadamard门,负责把\(|1\rangle\)变成\(|-\rangle\),\(|0\ran ...

  5. paper 132:图像去噪算法:NL-Means和BM3D

    这篇文章写的非常好,确定要~认真~慎重~的转载了,具体请关注本文编辑作者:http://wenhuix.github.io/research/denoise.html   我不会告诉你这里的代码都是f ...

  6. 图像去噪算法:NL-Means和BM3D

    图像去噪是非常基础也是非常必要的研究,去噪常常在更高级的图像处理之前进行,是图像处理的基础.可惜的是,目前去噪算法并没有很好的解决方案,实际应用中,更多的是在效果和运算复杂度之间求得一个平衡,再一次验 ...

  7. X264参考手册

    艺搜简介 基本语法: x264 [options]-o outfile infile 注意与ffmpeg的输入输出文件位置恰好相反: ffmpeg[options][[infile options]- ...

  8. Video processing systems and methods

    BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...

  9. FWT,FST入门

    0.目录 目录 0.目录 1.什么是 FWT 2. FWT 怎么做 2.1. 或卷积 2.2.与卷积 2.3.异或卷积 2.4.例题 3. FST 3.1. FST 怎么做 3.2.例题 1.什么是 ...

  10. [译]处理文本数据(scikit-learn 教程3)

    原文网址:http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html 翻译:Tacey Won ...

随机推荐

  1. XDU 1032

    #include<cstdio> typedef long long ll; ; ll feima(ll a,ll b) { ll c=; while(b) { ) c=c*a%mod; ...

  2. TOSCA自动化测试工具--怎么写自动化用例

    1.查看一下要测试的对象属性 2.

  3. C++、Java、JavaScript中的正则表达式

    C++(VS2013编译器):http://msdn.microsoft.com/zh-cn/library/bb982727.aspx#grammarsummary Java:            ...

  4. FFmpeg 入门(1):截取视频帧

    本文转自:FFmpeg 入门(1):截取视频帧 | www.samirchen.com 背景 在 Mac OS 上如果要运行教程中的相关代码需要先安装 FFmpeg,建议使用 brew 来安装: // ...

  5. 【c++ primer, 5e】参数传递

    p187~p199: [传值参数] [传引用参数] 使用引用形参返回额外信息:传入一个(或者多个)额外的引用实参,令其保存字符出现的次数. 6.11 #include <iostream> ...

  6. Python面试题之回调函数

    0x00 概述 编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写库:而应用编程就是利用写好的 ...

  7. Phred-scale quality scores的相关内容

    phred-scale quality score起源于人类基因组计划,最初是用来评估碱基质量分数,后来,被广泛的推广到基因领域的其他内容. phred-scalequality score表示这件事 ...

  8. 【前端】Vue.js实现简单价格计算器

    价格计算器 实现效果: 实现代码及注释: <!DOCTYPE html> <html> <head> <title>价格计算器</title> ...

  9. iOS开发进阶 - 自定义UICollectionViewLayout实现瀑布流布局

    移动端访问不佳,请访问我的个人博客 最近项目中需要用到瀑布流的效果,但是用UICollectionViewFlowLayout又达不到效果,自己动手写了一个瀑布流的layout,下面是我的心路路程 先 ...

  10. Java之JNDI详解

    转载自(http://blog.csdn.net/u010430304/article/details/54601302) JNDI的基本应用         JNDI是Java Naming and ...