MATLAB实现傅里叶变换信号滤波详解
创作时间:
作者:
@小白创作中心
MATLAB实现傅里叶变换信号滤波详解
引用
CSDN
1.
https://blog.csdn.net/weixin_44225182/article/details/102488649
运用傅里叶变换对信号进行简单的滤波
原理
将信号进行傅里叶变换可以分析信号中有哪些频率成分,将需要滤除的频率成分的幅值置零,然后进行傅里叶逆变换就可以达到滤波的目的。
注意点
运行FFT进行变换时需要考虑奈奎斯特之后的振幅和相位,进行傅里叶逆变换的时候是取N个点进行变换,而不是取一半。
下面以一个实例进行说明
信号:x=0.5sin(2π3t)+cos(2π10t),滤除8Hz-12Hz的信号。
dt=0.02;%采样间隔
N=512;%采样点数
t=0:dt:(N-1)*dt;%采样时刻
fs=1/dt;%采样频率,与采样间隔互为倒数
n=0:1:N-1;
f=(fs/N).*n;%X轴每个点对应的频率
x=0.5*sin(2*pi*3*t)+cos(2*pi*10*t);%信号
figure(1)
plot(t,x)
y=fft(x);%傅里叶变换得到一个复数
Ay=abs(y);%取模
Ayy=Ay*2/N;%转换成实际的幅值
figure(2)
plot(f(1:N/2),Ayy(1:N/2))
f1=8;
f2=15;
yy=zeros(1,length(y));
for m=0:N-1
if(m*(fs/N)>f1&m*(fs/N)&&(fs-f2)&m*(fs/N)<(fs-f1));%将奈奎斯特之后的频率也滤除点掉
yy(m+1)=0;
else
yy(m+1)=y(m+1);
end
end %将频率为8Hz-12Hz的信号的幅值置0
yyi=abs(yy);
figure(3)
plot(f(1:N/2),yyi(1:N/2))
yi=ifft(yy);
figure(4)
plot(t,real(yi))
结果
滤波后
热门推荐
李商隐爱情诗的意象特征分析
深圳、大连购房条件全解析:户籍、社保、纳税要求一文详解
可转债交易指南:从基础概念到量化策略
世界十大最宜居国家 全球最适合人类居住的国家 第一名竟夺冠超10次
“好喝”VS“能喝”,详解葡萄酒的保质期与适饮期
经常拉伸腿有什么好处
13个热门.NET开源项目大盘点
甄嬛传沈眉庄是谁?沈眉庄是怎么死的?
啤酒热量大揭秘:白啤、黑啤、黄啤谁更胜一筹?
放疗和化疗区别在哪?专家给你一次说清!
手机深色模式对眼睛有无危害
韩信与白起:谁更厉害?历史与军事的双重考量
大脑生物钟和外周生物钟之间的同步,可预防衰老,维持肌肉和皮肤正常
肩颈问题护理方法
应急管理策略
征信异议申诉指南:三种方式和详细步骤
北京同仁眼科医院就诊记录查询与保存指南
2025年3月上海房地产市场交易趋势深度解析
武汉大学54个本科专业详解:从哲学到医学,从文学到工学
短片中的巅峰之作!推荐10部奥斯卡获奖短片
单反相机入门教程 新手必知的单反摄影技巧
脚脱皮的原因及预防措施(了解脚脱皮的原因,保持健康的足部皮肤)
铬矿的主要用途和应用领域
滑膜炎吃氨糖软骨素能缓解吗
流年神煞华盖,大运神煞华盖星是什么意思?
香港离岸公司报税指南:如何合法合规地进行报税
詹姆斯生涯与17位前五顺位球员并肩作战,比乔丹的三倍还要多
重返经典场域 感悟日常书写——从孙晓云书写《三字经》《百家姓》《千字文》想到
机箱前置面板Type-C接口插不到底怎么办?原因分析与解决方案
2025甘肃省大学排名 最新本专科院校排行榜【校友会版】