DJ王大海

Back

编程实现 MATLAB 中的离散傅里叶变换 FFT 函数的部分功能Blur image

FFT_NEW#

编程实现MATLAB 中的离散傅里叶变换FFT 函数的部分功能。即编写一个函数𝑌 = FFT_NEW(𝑋) 满足以下条件:

  • 输入向量 X 的长度是 2𝑁,其中N 是任意自然数。你可以用 X = rand(1, 2𝑁) 产生这样的序列。(这个限制是为了降低难度)

  • 输出 𝑌 要和 MATLAB 自带的函数 Y = fft(X) 一模一样,即实现离散傅里叶级数的快速计算。

  • 必须采用快速傅里叶的变换蝴蝶型算法,而不是根据定义死算。

Matlab代码如下:

FFT_NEW.m

test_FFT.m

IFFT_NEW#

请编程实现 MATLAB 中的离散傅里叶变换 IFFT 函数的部分功能。即编写一个函数𝑋 = IFFT_NEW(𝑌) 满足以下条件:

  • 输入向量 𝑌 的长度是 2𝑁,其中 𝑁 是任意自然数。你可以用 Y = rand(1, 2𝑁) 产生这样的序列。(这个限制是为了降低难度)

  • 输出 𝑋 要和 MATLAB 自带的函数 X = ifft(Y) 一模一样,即实现离散傅里叶级数反变换的快速计算。

  • 需采用快速傅里叶变换的蝴蝶型算法,而不是根据定义死算。

(提示:如果编出了 FFT,这题不难,但是请注意,如果用递归编程,应该是除以 2,而不是除以 𝑁。)

Matlab代码如下:

IFFT_NEW.m

test_IFFT.m

编程实现 MATLAB 中的离散傅里叶变换 FFT 函数的部分功能
https://astro-pure.js.org/blog/2024/matlab-fft
Author 小岛秀儿
Published at 2024年6月13日
Comment seems to stuck. Try to refresh?✨