声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4022|回复: 7

[综合讨论] 求教使用fft和ifft的滤波程序

[复制链接]
发表于 2007-6-18 10:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求教达人
偶希望实现:
对包含谐波的离散数据信号,通过fft和ifft变换,实现保留基波、滤除谐波的目的
程序是什么样子的?
请不吝赐教。
谢谢。
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-6-18 10:41 | 显示全部楼层
或者换一个问法:

偶现在希望对一组包含谐波的离散信号数据滤波
要求只保留50Hz基波,滤除其他所有频段的波形
输出可以是离散的,也可是连续波形信号
但需要明确50Hz信号的有效值

请问达人
用什么方式实现这样的要求比较方便?
谢谢。
发表于 2007-6-18 12:20 | 显示全部楼层
clear;
w=100*pi;
t=0:0.0001:0.04;
y=sin(w*t)+sin(2*w*t)+sin(3*w*t);%定义原始信号
F=fft(y);
F(find(F>5))=0;%滤除高频分量
y1=ifft(F);
figure
subplot(121),plot(t,y);title('原信号')
subplot(122),plot(t,y1);title('滤波后')
原信号包含100HZ和150HZ的谐波,滤除后只有50HZ的正弦波

[ 本帖最后由 花如月 于 2007-6-18 12:22 编辑 ]
 楼主| 发表于 2007-6-18 14:57 | 显示全部楼层
F(find(F>5))=0

这句怎么理解?
谢谢
发表于 2007-6-18 15:47 | 显示全部楼层
发表于 2007-7-14 10:16 | 显示全部楼层
F是复数,find(F>5)是什么意思?
发表于 2007-7-15 14:29 | 显示全部楼层

回复 #6 wgun 的帖子

程序是我写的,不过当时看到滤波效果还可以,所以没有细想物理意义上的解释!F是复数和常数比较时虚部就被忽略掉了。信号处理我基础也不好,版友可以关于这个帖子:
http://forum.vibunion.com/forum/thread-48557-1-1.html
   应该会后得到满意的答案的
发表于 2012-11-12 16:30 | 显示全部楼层
这样做引起的信号畸变改怎么处理啊?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-15 22:22 , Processed in 0.069288 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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