原理:将信号进行傅里叶变换可以信号中有哪些频率成分,将需要滤除的频率成分的幅值置零,然后进行傅里叶逆变换就可以达到滤波的目的。

注意点:运行FFT进行变换时需要考虑奈奎斯特之后的振幅和相位,进行傅里叶逆变换的时候是取N个点进行变换,而不是取一半。

下面以一个实例进行说明:

信号:x=0.5*sin(2*pi*3*t)+cos(2*pi*10*t),滤除8Hz-15Hz的信号,程序运行的结果如下:​​​​​​​

​​​​​​​​​​​​​​

​​​​​​​

图1是原始时域信号,图2是原始频域信号,图3是滤波后的频域信号,图4是经过IFFT之后得到的滤波后的时域信号

源代码如下:

clc,clear
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-1if(m*(fs/N)>f1&m*(fs/N)<f2|m*(fs/N)>(fs-f2)&m*(fs/N)<(fs-f1));%将奈奎斯特之后的频率也滤除点掉yy(m+1)=0; %将【f1,f2】频率段信号的幅值置0elseyy(m+1)=y(m+1); %其它频率段保持原样end
end
yyi=abs(yy)*2/N; %滤波后频域的幅值
figure(3)
plot(f(1:N/2),yyi(1:N/2)) %显示滤波后的频域图
yi=ifft(yy); %对滤波后的信号进行傅里叶反变换
figure(4)
plot(t,real(yi)) %显示滤波后的时域图

运用傅里叶变换对信号进行简单的滤波相关推荐

  1. MATLAB--运用傅里叶变换对信号进行简单的滤波

    运用傅里叶变换对信号进行简单的滤波 原理 将信号进行傅里叶变换可以信号中有哪些频率成分,将需要滤除的频率成分的幅值置零,然后进行傅里叶逆变换就可以达到滤波的目的. 注意点 运行FFT进行变换时需要考虑 ...

  2. matlab对图像信号进行频谱分析及滤波,数字信号处理课程设计---应用 Matlab对信号进行频谱分析及滤波...

    数字信号处理课程设计---应用 Matlab对信号进行频谱分析及滤波 课课 程程 设设 计 (论文) 报计 (论文) 报 告告 书书 课程名称课程名称 数字信号处理 题题 目目 应用Matlab 对信 ...

  3. [Python图像处理] 二十三.傅里叶变换之高通滤波和低通滤波

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  4. 信号与系统——傅里叶变换☞一维信号

    信号与系统--傅里叶变换☞一维信号 0. 引言 1. 广义傅里叶级数 1.1 矢量的正交分解 1.1.1 二维空间的矢量正交分解 1.1.2 n维空间的矢量正交分解 1.2 信号的正交分解 2. 周期 ...

  5. python低通滤波器_[Python图像处理] 二十三.傅里叶变换之高通滤波和低通滤波

    [Python图像处理] 二十三.傅里叶变换之高通滤波和低通滤波 发布时间:2019-04-28 20:35, 浏览次数:2739 , 标签: Python 该系列文章是讲解Python OpenCV ...

  6. matlab - 信号平滑、移动平均滤波

    matlab - 信号平滑.移动平均滤波 对信号进行平滑操作的重要性不言而喻 1.信号提取 matlab内置了一个这样的数据:某个地方一个月内的温度变化数据,1小时测量一次,所以总数据量是24*31. ...

  7. 弱小目标检测跟踪算法研究(7) 基于简单平滑滤波算法的红外弱小目标检测之背景抑制

    基于简单平滑滤波算法的红外弱小目标检测之背景抑制 1. 前言 2. 平滑滤波算法 3. Matlab仿真 4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵"弱"和&quo ...

  8. 一维离散傅里叶变换,信号分解

    傅里叶变换的应用涵盖了概率与统计.信号处理.量子力学和图像处理等学科. 离散傅里叶变换的公式如下: 在MATLAB中,可以直接使用函数库fft(X)对一维向量X做傅里叶变换,分析信号的组成.如下例子处 ...

  9. 跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波

    摘要:本文讲解基于傅里叶变换的高通滤波和低通滤波. 本文分享自华为云社区<[Python图像处理] 二十三.傅里叶变换之高通滤波和低通滤波>,作者:eastmount . 一.高通滤波 傅 ...

最新文章

  1. python时间处理模块datetime+dateutil、numpy时间处理模块datetime64以及pandas时间处理模块Timestamp的演化路径及常用处理接口
  2. PHP菜刀工具WebHandler
  3. 利用Python实现简单的相似图片搜索的教程
  4. 攻防世界第四题Reverse re1
  5. antd如何获取表单的值_antd 父组件获取子组件中form表单的值
  6. r语言合并多个csv文件_PDF合并怎么做?分享多个PDF文件合并的方法
  7. C语言20790内所有因子的和,长春市水污染控制指标的因子和聚类分析.pdf
  8. mysql 启动_mysql安装、启动
  9. android unity hid,Unity5.X与Arduino交互
  10. selenium API
  11. Linux基础-1.Linux命令及获取帮助
  12. 煤矿调度计算机使用管理制度,煤矿调度文档管理制度(参考).doc
  13. 智课雅思词汇---十八、前缀peri是什么意思
  14. PhysX3.4文档(4) --Rigid Body Overview
  15. 红米手机开启开发者模式方法
  16. 2020SCTF——PWN snake
  17. 获取电信天邑TEWA-700E光猫超级密码相近系列通用方法
  18. VGG16 VGG19
  19. 免费主机 虚拟主机 香港虚拟主机
  20. 机器学习 --- 逻辑回归

热门文章

  1. c语言中input函数输入,在第3题的基础上,编写一个函数input,用来输入5个学生的数据记录...
  2. iMeta | 中大李文均组描绘不同极端环境原核微生物培养策略
  3. R(八): R分词统计-老九门
  4. c语言的实验报告 实验4,C语言实验四实验报告
  5. C++中的虚析构函数的作用
  6. 2021年美容师(高级)考试内容及美容师(高级)找解析
  7. 十款优质企业级Java微服务开源项目(开源框架,用于学习、毕设、公司项目、私活等,减少开发工作,让您只关注业务!)
  8. 命令行执行C语言程序时清屏命令
  9. G8期刊《全体育》期刊简介及投稿要求
  10. Eclipse(STS)中查看源代码出现乱码问题