matlab使用杂谈5-fftshift函数的使用

fftshift基本使用

主要作用:将零频分量移到频谱中心

简单示例

一般使用场合

fftshift基本使用

主要作用:将零频分量移到频谱中心

基本语法:

Y = fftshift(X)

Y = fftshift(X,dim)

X-输入数组,可以是向量、矩阵或多维数组,支持复数

dim - 沿其计算的维度

说明:

如果X是向量,则fftshift会将X的左右两半部分进行交换

如果X是矩阵,则fftshift会将X的第一象限与第三象限交换,将第二象限与第四象限交换

如果X是多维数组,则fftshift会沿每个维度减缓X的半空间

简单示例

交换行向量的左右两半部分,如果一个向量的元素为奇数,则中间的元素会被视为属于向量的左半部分

Initial = [1 2 3 4 5 6 7]

fftshift(Initial)

% 结果

ans = 5 6 7 1 2 3 4

一般使用场合

fftshift从名字上就能看出,主要是配合傅里叶变换使用

所以fftshift在分析信号的频率分量时十分有用,可以将零频分量移动到中心

下面沿用官网的一个实例:

创建信号S、计算其傅里叶变换,然后绘制功率曲线

fs = 100; % 频率

t = 0:(1/fs):(10-1/fs); % 时间分量

S = cos(2*pi*15*t); % 信号

n = length(S);

X = fft(S); 对信号进行傅里叶变换

f = (0:n-1)*(fs/n) % 频率范围

power = abs(X).^2/n; % 信号的振幅

plot(f,power)

如图所示

此时信号分量是从0-100的,不符合信号分析时的分布规则,因此需要利用fftshift将零频分量移动到中心

Y = fftshift(X,2)

fshift = (-n/2:n/2-1)*(fs/n);

powershift = abs(Y).^2/n;

plot(fshift,powershift);

以上主要是fftshift函数的使用了,一般来说咱们在利用matlab分析信号或者图像信息时,大概率会需要用到这个功能

傅里叶变换的详细讲解可以参照另外两篇博客:

https://blog.csdn.net/haoaoweitt/article/details/83012477

https://blog.csdn.net/lihe4151021/article/details/89675567

matlab 音频fftshift,matlab使用杂谈5-fftshift函数的使用相关推荐

  1. 逐步攻略:使用Matlab音频系统工具箱创建自己的VST插件,让音乐编程在Nashville崭新绽放

    第一部分:引言与Matlab音频系统工具箱概览 尊敬的读者,欢迎阅读这篇文章.我作为一个热爱音乐和编程的人,十分激动地在这里和大家分享我最近的一次学习经验.正如标题所述,我们将探索一种崭新的方式来创建 ...

  2. Phase Vocoder的补充完善,Matlab音频变速不变调、变调不变速

    之前有站内朋友介绍了国外的Phase Vocoder,Matlab音频变速不变调.变调不变速(Phase Vocoder)_cyz0612的博客-CSDN博客_matlab变调不变速代码参考这篇文章, ...

  3. MATLAB课程设计音频信号处理,MATLAB音频信号处理实验

    南昌航空大学信息工程学院 课程实验报告 实验名称: 实验时间: 2014年4月23日 指导教师: 班 级 : 学 号 : 姓 名 : 成 绩 : 南昌航空大学实验报告 2014 年 4 月 23 日 ...

  4. matlab音频信号处理实验报告,matlab音频信号处理实验报告.docx

    matlab音频信号处理实验报告 MATLAB音频信号处理实验 南昌航空大学信息工程学院 课程实验报告 实验名称:实验时间:2014年4月23日 指导教师: 班级: 学号: 姓名: 成绩: 南昌航空大 ...

  5. 声音信号预处理matlab,实验一 MATLAB音频信号处理实验

    实验一MATLAB音频信号处理实验 一.实验目的 1.进一步加深DFT算法原理和基本性质的理解: 2.熟悉FFT算法原理: 3.理解掌握音频信号各参数的意义: 二.实验内容 1.对一个音频信号用FFT ...

  6. matlab的fftn,matlab fftn

    (X,m,n) fftn 进行 n 维快速傅立叶变换(反变换用 ifftn) 语法:Y=ffn(X) \\ Y=fftn(X,siz) fftshift 快速傅立叶变换的 DC 组件移到光谱中心 语法 ...

  7. matlab中imapprox,Matlab图像处理工具箱:Image Processing Toolbox

    图像处理工具箱是一个函数的集合,它扩展了matlab数值计算环境的能力.这个工具箱支持了大量图像处理操作,包括: 空间图像变换 Spatial image transformations 形态操作 M ...

  8. 基于matlab毕业设计题目,matlab毕业设计题目.doc

    matlab毕业设计题目 matlab毕业设计题目 篇一:matlab毕业设计 龙岩学院 毕业设计 题目:基于matlab的音频信号处理 专业: 电子信息工程 学号: 作者: 指导教师(职称): 二0 ...

  9. 杭电Matlab与仿真-MATLAB基本语法(二)-数据文件的读/写操作

    数据文件的读/写操作 实验目的 实验内容与要求 实验程序与结果 实验目的 学会matlab数据输入与输出基本操作: 熟悉matlab各种文件的输入输出方法,了解常用的图片及音频文件的输入输出: 掌握用 ...

  10. matlab 浮点数有效位,matlab浮点数精度

    Matlab对应命令:ode23,ode45 说明: t0:初始时刻;tN:终点时刻 y0:初值; tol:计算精度调用格式: [t, y]=ode23 ('函数文件名', t0, tN, y0, t ...

最新文章

  1. oracle11g导出表时会发现少表,空表导不出解决方案。
  2. php是什么症状脾虚什么症状怎么治,脾虚的5个症状是什么呢
  3. linux双机热备 oracle,oracle for linux双机热备实战
  4. qemu核心机制分析-协程coroutine
  5. ros_openvino_toolkit环境搭建纪实
  6. mysql 数据库dbhelp_C# VS连接数据库DBhelp
  7. Google 各语言网站合集
  8. java永生代和新生代_Java:永生的对象和对象的复活
  9. ant-design官网打不开 , 需要用镜像地址打开
  10. 怎么激活linux系统远程桌面休眠状态,如何从命令行挂起/休眠?
  11. RELL软件测试初学者化妆品,浅析软件测试流程在高校软件测试工作室中的应用...
  12. 基于JAVA+SpringMVC+Mybatis+MYSQL的村民信息管理系统
  13. iOS之 开发学习笔记-block
  14. Vue cli3使用vue-awesome-swiper
  15. java openfileoutput_java-openFileOutput在单例类中不能正常工作-想...
  16. jquery easyui后台模板
  17. 普元EOS的项目部署
  18. L1、L2 正则项详解 - 解空间、先验分布、最大似然估计 and 最大后验估计
  19. 用C#一步步写串口通信
  20. DLL文件是什么?有几种调用方式?

热门文章

  1. 银河奇异果/云视听企鹅/CIBN/芒果TV哪个好?四款电视视频软件对比评测
  2. 文件同步工具BT Sync介绍和使用说明
  3. 头条 上传图片大小_遇到不会注册今日头条号,这么办?
  4. js获取当前url的ip+端口
  5. TabHost详细解析
  6. knockoutjs与ajax,MVVM架构~knockoutjs系列之为Ajax传递Ko数组对象
  7. HCIE面试真题战报及点评系列12
  8. 从零开始的Win10系统设置
  9. MCSA / Windows Server 2016 安装Desktop Experience
  10. 分享一款漂亮的Bootstrap模板INSPINIA_adminV2.5