找回密码
 注册
关于网站域名变更的通知
查看: 325|回复: 2
打印 上一主题 下一主题

[仿真讨论] 关于fft与加窗fft

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-20 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
用matlab仿真fft算法时,分别采用直接fft和加窗fft仿真,为什么加窗后的结果还不如不加窗的呢?( I) V5 k/ d# L' b6 P
程序如下:( I# x, k$ S* f. d; @  Z, y
直接fft程序:
! c7 ?; D2 Y' ^* g' rclear;% ^& \1 G5 t  l: I; z
fs=12800;5 t8 J" L* ?7 S4 P* f! I' a$ [
N=256;
; Q; A+ L  \6 `% @" T$ x: S4 o2 E4 Bt = 0:1/fs:0.02-1/fs;& b9 \6 J( C* g
y=cos(2*pi*50*t+10*pi/180)+cos(2*pi*300*t+20*pi/180); %模拟输入信号
2 j0 Z0 L+ G! O5 PY = fft(y,256);
. B9 J8 e# x# e7 W* v: z9 e. UPyy =abs(Y(1:256))*2/256; %幅值
6 V: Q* Z- o# ], ]0 J0 Jpha=angle(Y(1:256))/pi*180; %相位
, U% M3 _1 q: S& h9 @! E
8 s  ]( Y( P7 n& v加窗fft程序:: [  |' m  t" P5 @% t
clear;& v+ A& R# ?; Y; Q7 [9 `. }
fs=12800;5 b0 d# W# a( q3 A5 K2 R! N  b
N=256;! q* U7 n7 Z  ?
t=0:1/fs:0.02-1/fs;% j( m  ]- {% C
x=cos(2*pi*50*t+10*pi/180)+cos(2*pi*300*t+20*pi/180); %模拟输入信号8 x+ i5 N# k" T6 U$ J
n=[0:N-1];% e2 n8 H8 n: P
w=0.5-0.5*cos(2*pi*n/N); % 汉宁) o/ E* g: g+ B8 E8 f: k/ T
y=x.*w;
, l* w8 i, C. I: Q3 h/ F3 L% cY = fft(y,N);
' e; ]$ M9 \3 oPyy =abs(Y(1:N))*2*2/N; %幅值
* w. U0 D+ O  |- q' _& mpha=angle(Y(1:N))/pi*180; %相位6 r: a" \- C  @( v5 Z3 o, t# p

9 f  j% w2 P( p' s  [加窗的频谱泄漏为何更严重?* E" Y* [; c* ^! K4 x

该用户从未签到

2#
发表于 2022-9-20 16:51 | 只看该作者
我没有用你的程序仿真,单一般这样的问题造成的原因是,窗函数不正确,窗的类型没选对,比如衰减度并不符合你原来信号频谱的要求。
& K" `3 e3 E: f6 a

该用户从未签到

3#
发表于 2022-9-20 17:09 | 只看该作者
你可以试试用MATLAB自配的窗函数试试,用凯撒窗通过调BETA值可以调整衰减度,多试几次对比一下,慢慢就能看出结果了。
% t, h' |. T0 P+ K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

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

GMT+8, 2025-11-2 07:28 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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