使用傅里叶变换对信号进行时频转换

clear all
clc
%%指定信号与采样频率
Fs = 1000;
T = 1/Fs;
L = 1500;
t = (0:L-1);
%%构造信号
S = 0.7*sin(2*pi*50*t)+sin(2*pi*120*t);
%%构造扰乱信号
X = S+2*randn(size(t));
%%对信号进行傅里叶变换
Y = fft(X);%对信号进行双边傅里叶变换
%%对变换后信号进行单边傅里叶变换
%%计算双侧频谱 P2。然后基于 P2 和偶数信号长度 L 计算单侧频谱 P1
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
%%定义频域 f 并绘制单侧幅值频谱 P1
f = Fs*(0:(L/2))/L;
%=================================%
%              绘图               %
%=================================%
%%在时域绘制原信号
subplot(411);
plot(S,t)
title('Original Signal')
xlabel('t(milliseconds)')
ylabel('S(t)')
%%绘制含噪声图像
subplot(412);
plot(1000*t(1:50),X(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('t (milliseconds)')
ylabel('X(t)')
%绘制傅里叶变换后图像
subplot(413);
plot(t,Y);
title('Both-Sided Amplitude Spectrum of Y(t)');
xlabel('t (milliseconds)')
ylabel('y')
%绘制单侧频谱
subplot(414);
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')

在下面的频率图中可以很明显的看出原始图像和在经过fft变换与单边傅里叶变换(单边傅里叶变换相当于增加阶跃窗)处理之后的信号图像

仅做学习交流,欢迎批评指正!

傅里叶变换matlab学习笔记相关推荐

  1. [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项

    [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项 1. 背景 现有长度为11年的5个时间序列,为某拟研究对象的5个参数.现计划先通过快速傅里叶变换求每个系数序列的显著周期项,再分别按照傅里 ...

  2. matlab数组平方的计算自定义函数_从零开始的matlab学习笔记——(38)简单数论计算函数:取整,gcd,lcm,质数,全排列...

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 翻了翻优化工具箱,发现内容 ...

  3. matlab 线性规划_从零开始的matlab学习笔记——(37)线性规划——后传

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 呼,终于将matlab的优 ...

  4. matlab学习笔记(四)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 matlab学习笔记(四) 一.使用MATLAB实现函数的泰勒展开 傅里叶展开 提示:以下是本篇文章正文内容,下面案例可供参考 一.使 ...

  5. Matlab学习笔记——数据文件定位

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 数据文件定位 1.fseek函数 2.ftell函数 3.feof函数 数据文件定位 1.fseek函数 用于改变 ...

  6. MATLAB学习笔记(二)

    MATLAB学习笔记(二) 一.矩阵运算 矩阵分析 向量和矩阵的范数运算 矩阵的秩 矩阵的化零矩阵 矩阵的化简rref()函数 线性方程组 超定线性方程组求解 矩阵分解 1.对称正定矩阵的Choles ...

  7. MATLAB学习笔记(一)

    MATLAB 一.安装的目录结构 二.常用的菜单及工具 布局 设置路径 设置工作路径 三.常用命令 四. 基础知识 数据类型 复数类型 `inf 和 NaN` 字符与字符串 函数句柄 结构体 结构体的 ...

  8. linspace函数matlab_从零开始的matlab学习笔记——(29)泰勒逼近函数

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图....更多内容尽在个人专栏:matlab学习 上一节我们成功制作了能自己转圈的三维螺旋线,这里我们再来 ...

  9. 取模(mod)与取余(rem)的区别——Matlab学习笔记

    取模(mod)与取余(rem)的区别--Matlab学习笔记http://www.bieryun.com/1099.html 昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem ...

  10. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

最新文章

  1. 腾讯发布全球首个面向移动端的VVC标准视频解码器,手机即可看4K超高清VVC视频...
  2. 016_continue和break语句
  3. js添加keyword让搜索引擎能够搜到_搜索引擎优化考试培训任务书模板 ——XX网站SEO优化方案...
  4. VTK:图片之MarkKeypoints
  5. PL/SQL 08 异常 exception
  6. peewee mysql自动断开_flask+mako+peewee(下)(解决了Error 2006: MySQL server has gone away)
  7. 实例应用 自定义页面taglib标签
  8. java int比较用==,整数-在Java中使用==运算符比较包装对象
  9. 基于python实现resnet_【深度学习】基于Pytorch的ResNet实现
  10. mkv210_image.c详解
  11. (转)RabbitMQ学习之安装
  12. C# datagridview 实现按指定某列或多列进行排序
  13. 机器学习算法之——卷积神经网络(CNN)原理讲解
  14. linux vi 底行命令,Linux下vi命令详解
  15. 3dmax linux版本,如何安装Linux版FLOW-3D及注意事项
  16. zabbix监控打印机并自动更新监控项
  17. Python 爬取豆瓣影片短评 生成词云统计
  18. mysql备份数据库/备份表
  19. labview 游戏 打地鼠
  20. 《微信小游戏远程服务器本地搭建》——本地搭建IIS静态文件服务器

热门文章

  1. 遗传算法原理及算法步骤(学习篇·上)
  2. OA企业管理系统源码
  3. ExtJS中的renderTo何applyTo的差别
  4. jQuery,JS实现自定义鼠标右键菜单
  5. Couchbase SyncGateway
  6. 基于S7-200 PLC控制的小型自动化立体仓
  7. Vista 如何关闭UAC(用户帐户控制)
  8. 泛泰A860 Andorid4.4.3 KTU84M (Omni) 图赏
  9. 富士通Fujitsu DPK1786T 打印机驱动
  10. VMware vSphere 6 序列号大全