我们知道,两个 N 位数字的整数的乘法,如果使用常规的算法,时间复杂度是 O(N2)。然而,使用快速傅里叶变换,时间复杂度可以降低到 O(N logN loglogN)。
假设我们要计算以下两个 N 位数字的乘积:
a = (aN-1aN-2...a1a0)10 = aN-1x10N-1 + aN-2x10N-2 + ... + a1x101 + a0x100
b = ...
分类:
其他好文 时间:
2015-08-04 08:13:33
阅读次数:
217
快速数论变化(NTT)是的原理其实和快速傅里叶变换是一样的原理。 对于形如m= c*2^n+1的费马素数,假设其原根为g。那么瞒住g^(m-1)==1 而且正好(m-1)能整除2^n的。所所以可以在模p域进行NTT变换。旋转因子为 g^((m-1)/n)。其他的原理都和FFT的原理相同。这样可以解决特殊情况下FFT的浮点误差。
/*
* Author: islands
* Create...
分类:
其他好文 时间:
2015-07-31 22:03:42
阅读次数:
169
1.先载入一幅灰度图像,如下:(非灰度图)2.利用函数fft2,对其进行快速傅立叶变换,并利用函数fftshift将变换后的图像原点移动到频率矩形的中心。3.利用abs()函数来得到傅立叶频谱;angle()函数得到相位图;4.利用imshow来可视化图像,观察图像的特点;一.结果(图像):二.分析...
分类:
其他好文 时间:
2015-07-29 22:47:01
阅读次数:
320
本文描述一种利用OpenCV及傅里叶变换识别图片中文本旋转角度并自动校正的方法,由于对C#比较熟,因此本文将使用OpenCVSharp。文章参考了http://johnhany.net/2013/11/dft-based-text-rotation-correction,对原作者表示感谢。我基于OpenCVSharp用C#进行了重写,希望能帮到同样..
分类:
其他好文 时间:
2015-07-24 18:47:30
阅读次数:
203
一、快速傅里叶介绍傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的余弦(或正弦)波信号的无限叠加。FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。那其在实际应用中,有哪些用途呢?1.有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征(频率,幅值...
分类:
其他好文 时间:
2015-07-24 12:18:06
阅读次数:
358
前面曾经介绍过空间域滤波,空间域滤波就是用各种模板直接与图像进行卷积运算,实现对图像的处理,这种方法直接对图像空间操作,操作简单,所以也是空间域滤波。频域滤波说到底最终可能是和空间域滤波实现相同的功能,比如实现图像的轮廓提取,在空间域滤波中我们使用一个拉普拉斯模板就可以提取,而在频域内,我们使用一个高通滤波模板(因为轮廓在频域内属于高频信号),可以实现轮廓的提取,后面也会把拉普拉斯模板频域化,会发现...
分类:
编程语言 时间:
2015-07-21 13:01:10
阅读次数:
1780
原文在这里Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。其中Numpy是一个用python实现的科学计算包。包括:一个强大的N维数组对象Array;比较成熟的(广播)函数库;用于整合C/C++和Fortran代码的工具包;实用的线性代数、傅里叶变换和随机数生成函数。 S....
分类:
编程语言 时间:
2015-07-20 21:15:13
阅读次数:
596
题意:两个数相乘,每个数的长度不超过10^5;思路:FFT第一题。通过将系数表达式转换为点值表达式,降低复杂度;算导是个好东西!!! 用DFT实现单位复根计算点值表达式,逆DFT则将点值表达式转为系数表达式,即计算插值;复杂度均为O(n^2); FFT采用分治的思想,将奇偶分开处理,优化...
分类:
其他好文 时间:
2015-07-20 14:18:43
阅读次数:
340
选带傅里叶变换的原理大家可以看书。大致的步骤为
移频 (将选带的中心频率移动到零频)
数字低通滤波器 (防止频率混叠)
重新采样 (将采样的数据再次间隔采样,间隔的数据取决于分析的带宽,就是放大倍数)
复FFT (由于经过了移频,所以数据不是实数了)
频率调整 (将负半轴的频率成分移到正半轴)
程序如下:
function [f, y] = zfft(x, fi, fa,...
分类:
其他好文 时间:
2015-07-11 16:48:10
阅读次数:
134
题面很简单,就懒得贴了,那不是我要说的重点。
重点是NTT,也称快速数论变换。
在很多问题中,我们可能会遇到在模意义下的多项式乘法问题,这时传统的快速傅里叶变换可能就无法满足要求,这时候快速数论变换就派上了用场。
考虑快速傅里叶变换的实现,利用单位复根的特殊性质来减少运算,而利用的,就是dft变换的循环卷积特性。于是考虑在模意义下同样具有循环卷积特性的东西。
考虑在模p意义下(pp为特定的质...
分类:
其他好文 时间:
2015-07-08 22:40:19
阅读次数:
291