今天做作业的时候发现要对一个信号进行FFT变换,在网上找了半天也没找到个能看懂的(因为我太菜了),后来自己研究了一下,感觉一知半解的
起因是这道作业题

例题-满足奈奎斯特


我画了两个图,一个是原信号经过采样后的离散图,一个就是此信号经过FFT后的频谱图
因为是8kHZ采样,所以信号不会失真,频谱也是正确的
解答如下:

clear
close all
clcfs=8000;%采样频率
n=0:99;%采样点100个
y=sin(0.00625*2*pi*n)+sin(0.0625*pi*2*n)+sin(0.125*2*pi*n);%采样后的信号 0.00625=50/8000
subplot(2,1,1);
stem(n,y)
title('抽样后信号的时域图像')
xlabel('n');ylabel('幅值');Y = fft(y);%进行fft变换
f=(0:length(Y)-1)*fs/length(Y);%在频域,转换坐标为f,f= n*(fs/N)=Y的长度*采样频率,还是8k,但是在Matlab需要经过这样的运算
subplot(2,1,2)
stem(f,abs(Y));
title('信号频谱图')
xlabel('f/Hz')
ylabel('幅度')


那么,如果采样频率没有满足奈奎斯特抽样定律,会发生什么呢
正好作业的第二道题就是不满足的

例题-不满足奈奎斯特

clear
close all
clcfs=800;%采样频率
n=0:99;%采样点100个
y=sin(0.0625*2*pi*n)+sin(0.625*pi*2*n)+sin(1.25*2*pi*n);%采样后的信号 0.00625=50/8000
subplot(2,1,1);
stem(n,y)
title('抽样后信号的时域图像')
xlabel('n');ylabel('幅值');Y = fft(y);%进行fft变换
f=(0:length(Y)-1)*fs/length(Y);%在频域,转换坐标为f,f= n*(fs/N)=Y的长度*采样频率,还是8k,但是在Matlab需要经过这样的运算
subplot(2,1,2)
stem(f,abs(Y));
title('信号频谱图')
xlabel('f/Hz')
ylabel('幅度')


感觉和想象中不太一样,我还以为会乱成一片,那么经过观察,我们可以看到,在200HZ和300HZ出现了峰值,为啥在这里呢
因为以400HZ为对称轴的话,500HZ就走到400HZ那里又原路返回,1000HZ也同理

500HZ变成了红色的400HZ+100HZ
1000HZ变成了蓝色的400HZ+400HZ+200HZ
这就是频谱失真的情况

后续思考

然后看了这个,在上课时我又问了老师一个很弱智的问题

既然频谱不是混乱的,那倒着推出未失真的信号不就行了?

后来得到解答,仔细想一想就能发现,假如在200HZ幅度很大,那他既有可能是200HZ,也有可能是600HZ,也有可能是1000HZ等等,其实就是无限的
所以说即使是向上图那样的情况,也依旧不可能知道原信号的频率

数字信号处理FFT快速傅立叶变换MATLAB实现——实例相关推荐

  1. FFT快速傅立叶变换在示波器中的用法

    大多数示波器上都有个FFT功能,也叫快速傅立叶变换,但很多人不了解这个功能是做什么用的,百度以后又会遇到各种各样的高数公式,看的一头雾水,遂而放弃这块知识. 我们来看百度百科的解释: FFT,即为快速 ...

  2. 如何使用计算机实现fft,快速傅立叶变换(FFT)的计算机实现..doc

    快速傅立叶变换(FFT)的计算机实现. 信号与系统课程设计 --FFT的计算机实现 快速傅里叶变换(FFT)的计算机实现 赖智鹏 华中科技大学电气与电子工程学院0809班U200811806 Emai ...

  3. FFT快速傅立叶变换

    //最近突然发现博客园支持\(\rm\LaTeX\),非常高兴啊! 话说离省选只有不到五天了还在学新东西确实有点逗-- 切到正题,FFT还是非常神奇的一个东西,能够反直觉地把两个多项式相乘的时间复杂度 ...

  4. 数字信号处理信号的圆周卷积MATLAB实现——实例

    xa(n)是高斯序列 xb(n)是衰减正弦序列 线性卷积很简单,利用conv函数就可以 那么圆周卷积要怎么实现呢 clc; n1=0:1:15; %16个点 n2=0:1:30; %线性卷积,序列长度 ...

  5. 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换?

    https://www.douban.com/note/164400821/ 写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,绝大部分内容非我所原创.在此向多位原创作者致敬!!! ...

  6. 【转】为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换?...

    写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,绝大部分内容非我所原创.在此向多位原创作者致敬!!!一.傅立叶变换的由来关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶 ...

  7. 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换

    [纯技术帖]为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换来源: 陈诚--WECN的日志 写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,内容 ...

  8. 傅立叶变换的原理、意义以及如何用Matlab实现快速傅立叶变换

    本帖最后由 xiaoliu 于 2011-7-28 21:00 编辑 一.傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象 ...

  9. 为什么要进行傅立叶变换?如何用Matlab实现快速傅立叶变换?

    http://blog.sina.com.cn/s/blog_9015f32301014jbp.html 写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,绝大部分内容非我所原创.在 ...

最新文章

  1. 达摩院2022年十大科技趋势发布:AI for Science刚开始,大模型进入冷静期
  2. 在word中粘贴代码保持高亮
  3. 数据库元数据数据字典查询_7_列出给定表的检查约束
  4. MyEclipse自动补全
  5. 关于计算机与网络导论的论文,计算机科学与导论论文5
  6. React Native官方DEMO
  7. Dynamics 365 Customer Engagement中插件的调试
  8. OpenCV基础——IplImage中的widthStep
  9. ArcGIS教程 - 8 空间数据拓扑处理
  10. linux 6重启网卡,centos 网卡重启方法
  11. base64码通过http传输 +号变 空格 问题解决
  12. 被遗忘的设计模式——空对象模式(Null Object Pattern)
  13. Hexo博客添加live2d卡通人物
  14. RealAI:清华团队打造第三代安全可控人工智能 | 百万人学AI评选
  15. 爬虫Traceback (most recent call last):异常
  16. 苹果开发者账号和证书那些事
  17. Python数据采集和分析告诉你为何上海的二手房你都买不起!
  18. java的声音处理方法
  19. 2017百度之星 资格赛1003度度熊与邪恶大魔王
  20. 表白墙源码/可用作博客论坛都是不错的

热门文章

  1. 终于搞定微信小程序canvas分享海报
  2. flash存储器原理及作用是什么?
  3. 群控成为微商月入百万的神器
  4. DoubanFm之设计模式(一)
  5. 解决DoubanFM第三方客户端UI线程与工作线程交互问题
  6. 显示器序列号查询方式
  7. wow服务器人数最新统计,魔兽世界怀旧服服务器人数统计 魔兽世界怀旧服人数比例查询...
  8. 干货|Webhook配置钉钉/飞书机器人告警
  9. LATEX之对文章排版的相关设置
  10. 诡异!意识何以意识到意识自身?道翰天琼认知智能机器人API接口平台为您揭秘。