当前位置:网站首页>MATALB signal processing - signal transformation (6)
MATALB signal processing - signal transformation (6)
2022-06-29 03:13:00 【It's an egg】
2-6 The fast Fourier transform
The fast Fourier transform (fast Fourier transform), That is, the discrete Fourier transform is calculated by computer (DFT) It's efficient 、 Fast computing methods , abbreviation FFT. The fast Fourier transform is 1965 Year by year J.W. Cooley and T.W. Tuki proposed . This algorithm can greatly reduce the number of multiplication required by the computer to calculate the discrete Fourier transform , In particular, the number of samples to be transformed N The more ,FFT The more significant the computational cost of the algorithm is .
1.DFT The existing problems and FFT Basic flow
Finite length sequences can be transformed by discrete Fourier transform (DFT) The frequency domain is also discretized into finite sequences . This involves complex multiplication and complex addition , Compared with real number multiplication and real number addition , The number of operations of a complex number is several times more , And we actually take N The value of is also very large , Therefore, the calculation amount of the whole process is too large , It's hard to deal with problems in real time .
take DFT Medium
Defined as an exponential factor
, Because of the particularity of its exponential function , It has symmetry and periodicity , Its properties can be used to reduce the amount of calculation .
FFT The basic process is :1. Put the original N Point sequence , It is decomposed into a series of short sequences ;2. Find out the corresponding DFT And make appropriate combination , To remove double counting , The purpose of reducing multiplication and simplifying structure . Does it sound very similar to the combinatorial operations learned in primary school .
2.FFT The calculation method of
A fast method for computing discrete Fourier transform , There are time - based FFT Algorithm and frequency decimation FFT Algorithm . The former is to divide the time-domain signal sequence into even and odd , The latter is to arrange the frequency domain signal sequence according to even and odd . They all rely on two features of : One is periodicity ; The second is symmetry , Here symbol * Represents its conjugate . such , The calculation of the discrete Fourier transform can be divided into several steps , Greatly improved computing efficiency .
1. Extract by time
Let the signal length be N(2 The power of ), Time domain signal sequence can be x(n) Break it down into two parts , One is the even part x(2n), The other is the odd part x(2n+1),
,
,DFT The operation of is also divided into 2 part

among
Yes
.H(k),G(k) There are N/2 A little bit , from 0 To N/2-1.
According to symmetry , Yes
, that
, therefore , A sampling point is N Signal sequence x(n) Discrete Fourier transform based on Wavelet Transform , It can be made up of two N/2 The discrete Fourier transform of the sampling point sequence is obtained . And so on , This time-based decimation algorithm divides the input signal sequence into smaller and smaller subsequences for discrete Fourier transform calculation , Finally, it is synthesized into N Discrete Fourier transform of points .


Usually, the signal flow graph of butterfly algorithm is used to represent the discrete Fourier transform operation . for example ,N=8 The signal sequence of sampling points x(n) Discrete Fourier transform based on Wavelet Transform , Available as shown in the figure 2 Shown FET The signal flow graph of the algorithm .
about N=2^M, adopt M Second decomposition , Will eventually become 2 Dot DFT operation , Constitute from x(n) To X(k) Of M Level operation . N=2 The calculation of the discrete Fourier transform of points consists entirely of butterfly operations , need M Level operation , Each level includes N/2 Butterfly operation , All in all
(M) Butterfly operation . therefore , The total amount of calculation is
Multiple complex multiplication and
Sub complex addition operation .
2. Extract by frequency
For frequency extraction , The input sequence is not decomposed by odd or even numbers , Instead, the entire sequence is truncated from the middle , Front and back halves , namely
![X(k) = \sum_{n=0}^{N/2-1}x(n)W_{N}^{nk}+\sum _{n=N/2}^{N-1}x(n)W_{N}^{nk}=\sum_{n=0}^{N/2-1}x(n)W_{N}^{nk}+\sum _{n=0}^{N/2-1}x(n+\frac{N}{2})W_{N}^{(n+\frac{N}{2})k}=\sum_{n=0}^{N/2-1}[x(n)+W_{N}^{(\frac{N}{2}k)}x(n+N/2)]W_{N}^{nk}](http://img.inotgo.com/imagesLocal/202202/16/202202161114304659_6.gif)
According to the expansion of exponential factor , You can know
,
It is further decomposed into odd arrays and even groups ,
![X(2r)=\sum_{n=0}^{N/2-1}[x(n)+x(n+N/2)]W_{N}^{2nr}=\sum_{n=0}^{N/2-1}[x(n)+x(n+N/2)]W_{N/2}^{2nr}](http://img.inotgo.com/imagesLocal/202202/16/202202161114304659_15.gif)
![X(2r+1)=\sum_{n=0}^{N/2-1}[x(n)-x(n+N/2)]W_{N}^{n(2r+1)}=\sum_{n=0}^{N/2-1}[x(n)+x(n+N/2)]W_{N/2}^{nr}W_{N}^{n}](http://img.inotgo.com/imagesLocal/202202/16/202202161114304659_8.gif)
The rest is similar to the first method .
Reference material ——《MATLAB signal processing 》 Shen Zaiyang
Baidu Encyclopedia
边栏推荐
- 问题——adb shellerror: insufficient permissions for device: verify udev rules.
- Problem - ADB shellerror: insufficient permissions for device: verify udev rules
- arraylist基操和添加元素源码
- 快速排序,查询序列的第K大的数
- PWN attack and defense world level2
- Counter analysis of the parameter anti content in the backstage of the # yyds dry goods inventory # knife fight shop
- Concise words tell about technical people who must master basic IT knowledge and skills. Part 1
- Tortoise does not display a green Icon
- How to skip time when closing a socket connection_ Wait status of wait
- 2022-2028 global MWIR camera industry research and trend analysis report
猜你喜欢

想当设备管理师?满足这三个报考条件就可以

Allegro's method of setting network flying line and network color

Yyds dry inventory difference between bazel and gradle tools

【雲原生】這麼火,你不來了解下?

Counter analysis of the parameter anti content in the backstage of the # yyds dry goods inventory # knife fight shop

LeetCode 每日一题——324. 摆动排序 II

How does kubernetes store business data persistently? (10)

初探元宇宙存储,数据存储市场下一个爆点?

Solve the problem that the cursor flashes after clicking a point when measuring the distance in Allegro
![[线性代数] 1.2 全排列和对换](/img/04/18fc358c6c426e10c8598bcee9cd43.png)
[线性代数] 1.2 全排列和对换
随机推荐
手机开户股票开户安全吗?开户很难么?
Only in the past four years, Microsoft finally gave it up!
均贫富
[线性代数] 1.2 全排列和对换
Jerry's watch obtains alarm mode settings [chapter]
Overview of PMP project management
Method overload summary
2022-2028 global long wave infrared camera and camera core industry research and trend analysis report
Tkinter Huarong Road 4x4 Tutorial 4
Connect error: no route to host (errno:113)
Jerry's monitoring alarm clock [chapter]
【雲原生】這麼火,你不來了解下?
Yyds dry inventory difference between bazel and gradle tools
PWN beginner level0
[issue 259] uncover how count is executed in MySQL?
Logarithmic calculation in reverse order, logarithmic calculation in sequence -- merge sort
Concise words tell about technical people who must master basic IT knowledge and skills. Part 1
Provide ideas in old texts
Is it safe to open a stock account by mobile phone? Is it difficult to open an account?
[線性代數] 1.1 二階與三階行列式