找回密码
 注册
查看: 1731|回复: 1
打印 上一主题 下一主题

MATLAB —— 介绍一下nextpow2 函数的 Optimize FFT with Padding 用法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-10 09:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 mytomorrow 于 2019-12-10 10:01 编辑   s* |" E6 V% H
' ~  y* J/ S4 @$ I. b% X

% @" [  K: v6 t8 e: W$ J2 ^您可以使用nextpow2来填充传递给fft的信号。 这样做可以在信号长度不是2的精确幂次时加速FFT的计算。
) }7 X& S! ?# G" T9 y
  V# |% \% ?4 e- K/ F! k8 ^* COptimize FFT with Padding/ k. W. `/ g( G( V: e. u
, A3 ~! t* o8 a
下面这个例子展示了 使用填充优化FFT的案例,通过使用函数nextpow2完成:( ~' V! Y) N9 k0 @5 Q- q1 F
5 K' V3 Y9 R4 M
  • clc
  • clear
  • close all
  • % Use the nextpow2 function to increase the peRFormance of fft when the length of a signal is not a power of 2.
  • %
  • % Create a 1-D vector containing 8191 sample values.

  • * j3 J2 F' l4 Q# x: o
  • x = gallery('uniformdata',[1,8191],0);
  • % Calculate the next power of 2 higher than 8191.

  • ( I& o1 x5 L# c. `
  • p = nextpow2(8191);
  • n = 2^p
  • %get  n = 8192
  • % Pass the signal and the next power of 2 to the fft function.
  • " B/ j0 }0 {1 w7 F
  • y = fft(x,n);
  • $ N+ B+ x( e$ }; R) K

  • 1 M9 S! i, q  g% X

  • " ~6 t6 |1 F) r4 }* P$ p) W3 p

  • 7 [; u% y3 D  B# B" o2 D6 E' U' e2 Q9 G  M% v, g
    2 {8 w/ u4 v# n
      
& T# J7 U+ K9 t# Z3 j7 U$ R
' W. Q+ r0 N3 P
# u: C% s; x( I2 C; X# C 8 Y# w, w) Z7 J% s4 y% [& G$ \

8 m3 G0 p+ }' L1 s上述的程序中有一个产生测试矩阵的函数x = gallery('uniformdata',[1,8191],0);,关于它的介绍见上篇:MATLAB —— 认识一下gallery 中的 uniformdata
3 Q7 s. D! j' ?1 g2 F+ ?6 `( ^
8 j: _7 R( L3 [3 j$ V; K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2024-12-18 06:35 , Processed in 0.062500 second(s), 25 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表