目录

Syntax

Description

Y = fft(X)

Y = fft(X,n)

Y = fft(X,n,dim)

Examples

Noisy Signal


Syntax

Y = fft(X)

Y = fft(X,n)

Y = fft(X,n,dim)



Description

Y = fft(X)

Y = fft(X) 使用fast Fourier transform(FFT)算法计算信号X的离散傅里叶变换:

  • 如果 X 是一个向量,那么 fft(X) 返回向量的傅里叶变换;

  • 如果 X 是一个矩阵,则 fft(X) 视X的列为向量,然后返回每列的傅里叶变换;

  • 如果X是多维数组,则fft(X)将沿大小不等于1的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。


Y = fft(X,n)

Y = fft(X,n) 返回 n 点 DFT。 如果未指定任何值,则Y与X的大小相同。

  • 如果X是向量并且X的长度小于n,则用尾随零填充X到长度n。

  • 如果X是向量并且X的长度大于n,则X被截断为长度n。

  • 如果X是矩阵,那么每个列都被视为向量情况。

  • 如果X是多维数组,则大小不等于1的第一个数组维度将被视为向量的情况。


Y = fft(X,n,dim)

Y = fft(X,n,dim)沿维度dim返回傅立叶变换。 例如,如果X是矩阵,则fft(X,n,2)返回每行的n点傅立叶变换。



Examples

Noisy Signal

使用傅立叶变换来查找隐藏在噪声中的信号的频率分量。

指定采样频率为1 kHz且信号持续时间为1.5秒的信号参数。

clc
clear
close all
% Use Fourier transforms to find the frequency components of a signal buried in noise.
% Specify the parameters of a signal with a sampling frequency of 1 kHz and a signal duration of 1.5 seconds.Fs = 1000;            % Sampling frequency
T = 1/Fs;             % Sampling period
L = 1500;             % Length of signal
t = (0:L-1)*T;        % Time vector% Form a signal containing a 50 Hz sinusoid of amplitude 0.7 and a 120 Hz sinusoid of amplitude 1.S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
% Corrupt the signal with zero-mean white noise with a variance of 4.X = S + 2*randn(size(t));% Plot the noisy signal in the time domain. It is difficult to identify the frequency components by looking at the signal X(t).
figure();
plot(1000*t(1:50),X(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('t (milliseconds)')
ylabel('X(t)')% Compute the Fourier transform of the signal.
Y = fft(X);% Compute the two-sided spectrum P2. Then compute the single-sided spectrum P1 based on P2 and the even-valued signal length L.
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);% Define the frequency domain f and plot the single-sided amplitude spectrum P1.
% The amplitudes are not exactly at 0.7 and 1, as expected, because of the added noise. On average,
% longer signals produce better frequency approximations.
figure();
f = Fs*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')% Now, take the Fourier transform of the original, uncorrupted signal and retrieve the exact amplitudes, 0.7 and 1.0.
% Y = fft(S);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);figure();
plot(f,P1)
title('Single-Sided Amplitude Spectrum of S(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')

figure(1)是加上零均值的随机噪声后的信号时域图形,通过观察这幅图很难辨别其频率成分。

figure(2)是X(t)的单边幅度谱,通过这幅图其实已经能够看出信号的频率成分,分别为50Hz和120Hz,其他的频率成分都会噪声的频率分量。

figure(3)是信号S(t)的单边幅度谱,用作和figure(2)的幅度谱对比,原信号确实只有两个频率成分。

上面三幅图画到一起:

更多案例见下篇博文:【 MATLAB 】信号处理工具箱之 fft 案例分析

【 MATLAB 】信号处理工具箱之fft简介及案例分析相关推荐

  1. 【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析

    这篇博文和上篇博文对应:[ MATLAB ]信号处理工具箱之fft简介及案例分析 目录 ifft Syntax Description 案例分析 Inverse Transform of Vector ...

  2. matlab ifft函数实例,【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析

    目录 ifft Inverse fast Fourier transform Syntax X = ifft(Y) X = ifft(Y,n) X = ifft(Y,n,dim) X = ifft(_ ...

  3. 【 MATLAB 】信号处理工具箱之 idct 简介及案例分析

    有关idct的基础知识见博文:[ MATLAB ]逆离散余弦变换(idct)的基础知识介绍 idct 逆离散余弦变换 Syntax x = idct(y) x = idct(y,n) x = idct ...

  4. 【 MATLAB 】信号处理工具箱之 dct 简介及案例分析

    dct Discrete cosine transform Syntax y = dct(x) y = dct(x,n) y = dct(x,n,dim) y = dct(___,'Type',dct ...

  5. 【 MATLAB 】信号处理工具箱之 fft 案例分析

    上篇博文:[ MATLAB ]信号处理工具箱之fft简介及案例分析介绍了MATLAB信号处理工具箱中的信号变换 fft 并分析了一个案例,就是被噪声污染了的信号的频谱分析. 这篇博文继续分析几个小案例 ...

  6. MATLAB信号处理工具箱函数列表分类

    **现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询)** Waveform Generation(波形产生) chairp: 产生 ...

  7. matlab信号处理工具箱函数列表

    现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦 ...

  8. matlab滤波器设计工具箱带阻滤波器,用matlab信号处理工具箱进行fir滤波器设计的三种方法...

    用matlab信号处理工具箱进行fir滤波器设计的三种方法 摘 要 介绍了利用 MATLAB 信号处理工具箱进行 FIR 滤波器设计的三种方法:程序设计法. FDATool 设计法和 SPTool 设 ...

  9. matlab软件及基础实验第8单元,《MATLAB统计分析与应用:40个案例分析》程序与数据(内含彩蛋)...

    [实例简介]Matlab教材及随书光盘,超实用的好书,强烈推荐! MATLAB统计分析与应用 40个案例分析.pdf <MATLAB统计分析与应用:40个案例分析>程序与数据.rar 第1 ...

最新文章

  1. Xcode 5.0.1安装插件:规范注释生成器VVDocumenter + OSX 10.9.2
  2. 剪花布条(KMP入门)
  3. 02-HTTP的请求方法以及响应状态码
  4. Google Maps JavaScript API V3 根据地址 加载地图
  5. cyclicbarrier_Java并发– CyclicBarrier示例
  6. long类型20位示例_Java Long类lowerOneBit()方法与示例
  7. 百度关键词排名查询源码_章丘百度霸屏总部,关键词排名腾沃云
  8. 通过阿里云K8S Ingress Controller实现路由配置的动态更新
  9. linux 文件上传扫描_SecureCRT实现windows与linux文件上传下载
  10. rocketmq同步消息,异步消息
  11. 360大战QQ,用户被“保护”还是被“偷窥”
  12. Codeforces 553A Kyoya and Colored Balls 给球涂颜色
  13. 微信开发--IOS微信端confirm以及alert去掉网址的方法
  14. 《大数据: IDEA开发工具配置大全》
  15. 电脑开机遇到二维码怎么办?
  16. $http的使用方式
  17. PPT最强抠图技巧(收藏必备)
  18. bzoj2876: [Noi2012]骑行川藏 :拉格朗日乘数法
  19. 梦幻西游手游服务器维护时间表,梦幻西游手游4月17日维护更新公告
  20. 腾讯测试“儿童锁模式”:13周岁以下想玩游戏须家长先“开锁”

热门文章

  1. 在拓扑图上做标准ACL和扩展ACL(期末考试)
  2. 利用C语言 Python校正图像,情人节来了,教你个用 Python 表白的技巧
  3. 我的世界服务器菜单制作,小白腐竹福[服务器菜单制作]极其详细!看了就会
  4. python中float与eval式一样的吗_用Python最原始的函数模拟eval函数的浮点数运算功能...
  5. 微信小程序打开红包的css_山海经攻略(微信小程序现金红包提现游戏)
  6. python php 通信,Python和php通信乱码问题解决方法
  7. 智能车竞赛技术报告 | 智能车视觉 - 青岛工学院 - 青工战斗
  8. 智能车竞赛技术报告 | 双车接力组 - 辽宁工业大学 - 灵越1队
  9. 2021年春季学期-信号与系统-第七次作业参考答案-第三小题
  10. 基于AD5272多组变阻器电路设计