傅里叶变换与快速傅里叶变换

作为电子信息专业的学生老说,这个不知道,或者理解不清楚,是十分不应该的,作为一个学渣,有时候确实是理解不清楚的

1、首先离散傅里叶变换目的: 简单点说: 就是将一个信号从时域变换到频域

标准点说: 将以时间为自变量的信号 与 频率为自变量的频谱函数之间的某种关系变换

数学描述:

对于 N点序列 ,它的离散傅里叶变换(DFT)为

其中 是 自然对数的 底数, 是 虚数单位。通常以符号 表示这一变换,即

离散傅里叶变换的逆变换(IDFT)为:

可以记为:

其次快速傅里叶变换
下面给出一个fft的栗子: 有一个信号,表达式如下所示:

S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)

现在对该信号做N = 512 点快速傅里叶变换:观察其幅度频率特性 和相位频率特性;

说明:

要说明的是采样点数会影响频率分辨率的 例如 抽样频率为Fs  = 1024 Hz 采样点数N = 1024 那么频率分辨率为 1Hz  如果N = 512 那么采样频率为 2Hz,假设原信号的幅值为 Ac  并且经过FFT 变换后的结果每个点的幅值 是Ac*(N/2) (除了直流分量) 模值是直流分量的 N 倍

代码:

[plain] view plain copy print ?
  1. close all;
  2. Adc = 2; %直流分量为2
  3. A1 = 3; %频率 F1信号的幅度
  4. A2 = 1.5; %频率为F2信号的频率
  5. F1 = 50;
  6. F2 = 75;
  7. Fs = 256; %抽样频率为1024Hz
  8. P1 = -30; %相位为 -30度
  9. P2 = 90 ;%相位为90度
  10. N= 256; %采样点数为1024
  11. t = [0:1/Fs:N/Fs];
  12. %信号
  13. S = Adc + A1*cos(2*pi*F1*t + pi*P1/180) + A2*cos(2*pi*F2*t +pi*P2/180);
  14. plot(S);   %显示原始信号
  15. title('原始信号');
  16. %对其做fft变换
  17. figure;
  18. Y = fft(S,N);
  19. Ayy = abs(Y);
  20. plot(Ayy(1:N)); %原始信号fft模值
  21. %下面对其才进行幅频分析
  22. figure;
  23. Ayy = Ayy/(N/2); % 还原真实幅度值
  24. Ayy(1) = Ayy(1)/2;
  25. F =([1:N])*Fs/N;
  26. plot(F,Ayy);
  27. title('幅频特性');
  28. %下面是相频特性
  29. figure;
  30. Pyy = [1:N/2] ; %为什么这里是1:N/2 因为每次采样就是有一半是没有用的
  31. for i= 1:N/2
  32. Pyy(i) = phase(Y(i));
  33. Pyy(i) = Pyy(i)*180/pi;  %并将器转换为角度
  34. end
  35. plot(F(1:N/2),Pyy);
  36. title('相位频率特性曲线');

close all;
Adc = 2; %直流分量为2
A1 = 3; %频率 F1信号的幅度
A2 = 1.5; %频率为F2信号的频率
F1 = 50;
F2 = 75;
Fs = 256; %抽样频率为1024Hz
P1 = -30; %相位为 -30度
P2 = 90 ;%相位为90度
N= 256; %采样点数为1024
t = [0:1/Fs:N/Fs];

%信号
S = Adc + A1cos(2piF1t + piP1/180) + A2cos(2piF2t +piP2/180);
plot(S); %显示原始信号
title(‘原始信号’);

%对其做fft变换
figure;
Y = fft(S,N);
Ayy = abs(Y);
plot(Ayy(1:N)); %原始信号fft模值

%下面对其才进行幅频分析
figure;
Ayy = Ayy/(N/2); % 还原真实幅度值
Ayy(1) = Ayy(1)/2;
F =([1:N])*Fs/N;
plot(F,Ayy);
title(‘幅频特性’);

%下面是相频特性
figure;
Pyy = [1:N/2] ; %为什么这里是1:N/2 因为每次采样就是有一半是没有用的
for i= 1:N/2
Pyy(i) = phase(Y(i));
Pyy(i) = Pyy(i)*180/pi; %并将器转换为角度
end
plot(F(1:N/2),Pyy);
title(‘相位频率特性曲线’);

然后运行结果:

2.fft变换后的赋值

3、信号的幅频特性:

4、相频特性

傅里叶变换与快速傅里叶变换相关推荐

  1. 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波

    频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...

  2. Matlab如何进行利用离散傅里叶变换DFT (快速傅里叶变换FFT)进行频谱分析

    文章目录 1. 定义 2. 变换和处理 3. 函数 4. 实例演示 例1:单频正弦信号(整数周期采样) 例2:单频正弦信号(非整数周期采样) 例3:含有直流分量的单频正弦信号 例4:正弦复合信号 例5 ...

  3. 【从FT到DFT和FFT】(三)从离散傅里叶变换到快速傅里叶变换

    文章目录 推荐阅读 前言 从离散傅里叶变换到快速傅里叶变换 单位根 对DFT进行分治得到FFT 计算前半截 计算后半截 快速傅里叶逆变换(IFFT) 推荐阅读 前置阅读 [从FT到DFT和FFT](一 ...

  4. 卷积、傅里叶级数、傅里叶变换、快速傅里叶变换、pytorch中的fft,rfft

    卷积: 连续形式: 离散形式:  '卷' :  翻转 和 滑动    '积' : 积分 翻转:g(t)  - >  g(-t) 滑动:g(-t) - > g(n-t) 平移n个单位 举个例 ...

  5. 图像傅里叶变换(快速傅里叶变换FFT)

    学习DIP第7天,图像傅里叶变换 转载请标明出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对 ...

  6. matlab图片快速傅里叶变换,图像傅里叶变换(快速傅里叶变换FFT) | 学步园

    #include "Image_FFT.h" /* 中心化,根据傅里叶性质的平移性质 */ void FFT_Shift(double * src,int size_w,int s ...

  7. 快速傅里叶变换python_快速傅里叶变换及python代码实现

    一.前言 我想认真写好快速傅里叶变换(Fast Fourier Transform,FFT),所以这篇文章会由浅到细,由窄到宽的讲解,但是傅里叶变换对于寻常人并不是很容易理解的,所以对于基础不牢的人我 ...

  8. MATLAB之傅里叶变换,快速傅里叶变换FFT

    文章目录 傅里叶变换及傅里叶逆变换定义 窗函数/矩形脉冲信号的傅里叶变换 基于MATLAB的快速傅里叶变换FFT 傅里叶变换及傅里叶逆变换定义 能从时域的非周期连续信号转化到频域非周期连续信号. 窗函 ...

  9. matlab对一组数据傅里叶变换,matlab快速傅里叶变换(三个matlab程序介绍)

    描述 一种积分变换,它来源于函数的傅里叶积分表示.积分 (1) 称为ƒ 的傅里叶积分.周期函数在一定条件下可以展成傅里叶级数,而在(-∞,∞)上定义的非周期函数ƒ,显然不能用三角级数来表示.但是J.- ...

最新文章

  1. mysql存储过程输入参数拆分_mysql 存储过程字符分割
  2. 《高效程序员的45个习惯》-之三
  3. 俄罗斯方块(结对作业)
  4. linux 更改文件夹大小,Linux下改变文件大小
  5. js实现审批流_小程序瀑布流组件:支持翻页与图片懒加载
  6. PHP - 5.4 Array dereferencing 数组值
  7. mysql的安全管理_MySQL安全管理
  8. extjs 关于dom操作的几个库
  9. Web服务器点击劫持(ClickJacking)的安全防范
  10. 为什么属龙的有二婚命_88属龙的一生婚姻状况详细解析
  11. 《趣谈网络协议》课程学习笔记
  12. 编程c语言中文图形代码,C语言图形编程代码
  13. 一名“老”引擎程序员的昨天、今天和明天
  14. vue图片裁剪插件:vue-img-cutter
  15. 漏洞分析---SSLv3降级加密协议Padding Oracle攻击(POODLE)技术分析
  16. 分数计算器java报告_20182307 2019-2020-1 《数据结构与面向对象程序设计》实验四报告...
  17. Python实现ACO蚁群优化算法优化支持向量机回归模型(SVR算法)项目实战
  18. slab为什么要进行染色处理
  19. 用select多路io复用实现简单聊天程序
  20. signature=8a8da1744f65c202ddd549875ac05881,Flurform

热门文章

  1. Cesium添加geojson数据及WMS在线图层服务
  2. Python读写yaml文件(使用PyYAML库)
  3. 前端-----之-----轮播
  4. 第三讲 Matlab/Simulink入门——离散系统仿真实例
  5. 科普!人人都爱Python,可Python为什么叫Python?
  6. c语言实现 自动访问网址,使用C语言实现网站开发
  7. 2021年终总结--躺平的一年
  8. 【图像分割】ExG超绿特征灰度化、二值化分割(Matlab及Python代码实现)
  9. 华为鸿蒙2.0开发文档及API
  10. JavaWeb----Ajax技术