【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析
【学习笔记】matlab进行数字信号处理(二)信号的相关分析及幅值分析
【学习笔记】matlab进行数字信号处理(三)数字滤波技术
【学习笔记】matlab进行数字信号处理(四)信号的时频域分析

b站视频地址:https://www.bilibili.com/video/BV18E411f7ZQ?p=16&spm_id_from=pageDriver

第二章 信号函数与标准信号

2.1 概述

信号发生器产生信号,可用信号函数生成正弦波、方波、三角波、锯齿波、白噪声、脉冲信号、阶跃信号、斜波信号、加速度信号

2.2信号函数和标准信号


连续的正弦波要进行离散化,才能进而的进行数字信号处理,将连续的时间t用n倍的时间间隔表示

改错:dt=1/11025





matlab中生成三角波和锯齿波用同一个函数sawtooth




2.3 信号发生器设计



b站视频P20:讲解如何生成信号发生器和电子琴(包含GUI设计)

第三章 信号的时域分析

3.1概述

3.2信号波形参数识别




画一条零线,可求出信号的周期和初相位
相邻两过零点时间差就是周期,第一个过零点位置与周期的比例可算出初相位
过零检测法求周期和相位很常用


3.3 信号的数字微分/积分




第四章 信号的频谱分析

4.1频谱分析的概念



可以从频谱图看出一个信号的频率构成,和不同频率不分的强弱(幅值)
从波形,可以看出信号随时间变化的幅值强弱
与波形相比,频谱可以更直观的
波形:幅值随时间的变化情况;频谱:幅值随频率的变化情况



与波形相比,频谱的抗干扰能力更强

频谱分析分解出的正弦波,往往能找到明确的物理意义,比如齿轮转动的频谱,每一个谱线都能对应到一个机械零件上去

4.2 周期信号的频谱分析(FFT代码和作业)



任意两个波形相乘,积分等于0说明两个函数正交









功率谱是幅频谱的平方,反映了每个频率分量的能量大小

周期信号的频谱图:
谐波性是指频率成分一定是基频的倍数,如基频是f0,则谱线一定智能出现在f0的整数倍上
收敛性是指谐波次数越高,幅值越小


fft使用条件:数据长度必须是2的次方

合成信号——FFT——实频谱和虚频谱——幅值谱和相位谱

【视频P27,11分位置】注意:使用FFT之后,并不需要显示负频谱的部分,因为正频谱部分就可以显示出有用的信息,负频谱部分的信息是冗余的

有时功率谱上某些频谱分量的幅值显示的不明显,小能量信号会被大能量信号掩盖,所以通常采用对数功率谱,能将小的信号放大,大的信号压缩,能在一张图上表现出不同大小的频率成分

4.3 数字信号的频谱计算方法


截取后再延拓的信号会在连接点处产生跳变,在波形上显示的是产生跳变,在频谱上产生的是出现能量泄露





4.4 FFT中的能量泄露和栅栏效应


快速傅立叶变换和离散傅立叶变换的计算结果是相同的,但是速度快很多


栅栏效应生成的原因:为了提高计算效率,在使用FFT计算频谱时,在0到二分之一的采样频率区间内,不是每个频率点都计算,而是按照一定的频率间隔抽样计算,频率间隔等于采样频率除以数据长度
在取样的位置和谱峰的位置不重叠时,便会带来一个谱峰误差,这种误差引起的反应,叫做栅栏效应。包含两个误差,一个是幅值高度的误差,一个是最大频率的误差。

谱峰越尖锐,产生误差的可能性就越大


由于截断带来的能量泄露,这时会减小栅栏效应的误差,可以通过控制截断函数的形状,来调整能量泄露形状,
左侧图为矩形窗能量泄露函数,以中心频率为主的成份叫做主瓣,比较窄比较尖,越尖锐造成的栅栏效应的误差就越大,还有其他很高的旁瓣,但理想情况下只希望读出主瓣处的能量泄露,但这种理想的窗函数并不存在,实际上只能去逼近它。

直接截断,然后周期延拓,如果截断的不是整周期的位置,会产生一个跳变,此时加一个汉明窗,用这样的窗函数和原来的信号相乘,这样会将原信号在接头处的幅值被压缩成0,以这种方式进行周期延拓,无论原来的信号怎样,在接头处都不存在跳变(从波形上看)
(从频谱上看)相当于增宽主瓣,压缩旁瓣,因此可以通过这种方式抑制旁瓣的能量泄露,同时提高主瓣的宽度,使栅栏效应的误差减小



汉宁窗和矩形窗相比,主瓣变的更宽,而旁瓣变得更低

这是汉宁窗对波形进行截断的情况,截断后要进行修正,窗函数和原信号相乘再进行截断延拓,幅值修正后幅值增大了一倍,这样幅值增大后可以弥补两端衰减造成的能量损失



和矩形窗相比,主瓣宽一些,旁瓣窄一些

主瓣更宽一些,旁瓣更窄一些


平顶窗,主瓣相当宽


能量修正z=2*w1.*x,然后再进行FFT
加窗能克服能量泄露和栅栏效应带来的误差

4.5 非周期信号的频谱分析


工程上大量的信号都是非周期信号,在数字领域,由于截断,不管原信号是不是周期信号,都会转换成周期信号

1.如果数据长度不够长,可以通过补0的方式提高频谱的频率分辨率
eg:假如原来数据长度是1024,再补1024个0,频谱分析时,精度会高一倍
2.细化:如果想看清某一部分的频谱,使用ZOOM-FFT可以将观测的视角集中在一个频率
3.主要针对受噪声干扰频谱,计算时谱当中有很多的随机干扰,此时将频谱多次累加再除以N,这样干扰也会减小到N分之一
4.用于修正栅栏效应误差
5.传感器输出的都是实信号,但是matlab里的FFT输入的是复信号,因此针对虚部的计算浪费了,采用实信号FFT计算技术,可以将计算速度提高一倍

4.6频谱分析应用



结果会发现,信号波形的幅值是1,倒是频谱的幅值不是1,产生差异的原因就是能量泄露和栅栏效应

大作业:声音信号采集和频谱分析程序设计

首先通过计算机上的脉冲,采集一段声音信号,然后进行FFT变换,再画出信号频谱
1.新建GUI文件
2.安放控件,修改控件属性
3.使用定时器,实现连续采样





【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析相关推荐

  1. 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  2. 基于MATLAB的数字信号处理(3) 用FFT对信号作频谱分析

    文章目录 一.实验目的 二.实验原理与方法 三.实验内容及步骤 1. 有限长序列 2. 周期序列 3. 模拟周期信号 四.回答思考题 五.实验总结 一.实验目的 学习用 FFT 对连续信号和时域离散信 ...

  3. matlab fftshift_数字信号处理没有Matlab?用Python一样很爽

    通常,在数字信号处理时,我们避不开matlab这个工具,因其它的强大的功能受到广大工程师的好评,也一直都是业界的不二之选.但是,matlab毕竟是商业软件,公司里如果使用的话,就需要支付高昂的费用.即 ...

  4. matlab x(n)16点DFT,[基于MATLAB的数字信号处理实例分析.doc

    [基于MATLAB的数字信号处理实例分析 湖北文理学院理工学院 学生结业论文 课程名称:MATLAB教程 结业论文名称:基于MATLAB的数字信号处理实例分析 专业名称:通信工程 班级:1011 学号 ...

  5. MATLAB与数字信号处理——常用序列的MATLAB实现

    常用序列的MATLAB实现 单位抽样序列 单位阶跃序列 矩形序列 实指数序列 复指数序列 正余弦序列 随机序列 周期序列 简单复制 用求余数的方法(模运算) 说明 常用序列的MATLAB实现 单位抽样 ...

  6. 基于matlab的心电信号处理毕业论文,浅议仿真基于MATLAB的“数字信号处理”仿真实验毕业论文范文...

    论文导读:),通过扬声器可以听到"重庆邮电大学,重庆邮电大学"声音,对原始语音信号进行FFT 频谱分析,程序关键代码如下: figure: t=(0:length(x)-1)/Fs ...

  7. matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...

    西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...

  8. matlab数字信号处理实验报告,【实验设计论文】Matlab的数字信号处理课程实验设计(共3490字)...

    摘要:本文设计了一个基于Matlab的"数字信号处理"课程综合性实验.该实验把"数字信号处理"课程中的许多离散的知识点串接了起来,包括采样.量化.滤波器设计.滤 ...

  9. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  10. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt

    <Matlab在数字信号处理中的运用.ppt>由会员分享,可在线阅读,更多相关<Matlab在数字信号处理中的运用.ppt(68页珍藏版)>请在装配图网上搜索. 1.第七讲 M ...

最新文章

  1. 增加自增列 耗时长_又一批长事务,P0故障谁来背锅?
  2. Sqlite c/c++ api 学习
  3. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 3
  4. 数据加解密和数据签名验签
  5. 为什么手机显示itunes store无法连接服务器,无法连接到itunes store是什么意思怎么办...
  6. 试用期间,云服务器操作系统可以更换吗?
  7. Linux 索引节点 inode
  8. 在线JWT Token解析解码
  9. 最全 VxLAN 知识详解
  10. 将pdm换成mysql表结构 报错_MySQL随机生成百万级别数据
  11. Week 8 CSP M2 HRZ学英语
  12. Python数据结构与算法题目 打印二叉树的左视图 打印二叉树的右视图 树的左视图 树的右视图
  13. 音频声音太小怎么调大?
  14. java专业大学生入伍_JAVA程序征兵系统(包含登录系统和征兵系统)
  15. 2023届【校招】安全面试题和岗位总结(字节、百度、腾讯、美团等大厂)
  16. 心理、意识和其他状态
  17. c语言中流水号的写法,科目一流水号是什么号
  18. SQLTXPLAIN
  19. javascript功能插件大集合
  20. 稳定靠谱的企业云桌面选择

热门文章

  1. Burp Suite 扫描工具
  2. javaWeb发展历史
  3. 如何免密操作 github、gitee 远程仓库
  4. FLTK--轻量级C++跨平台GUI库
  5. Python爬虫书籍推荐
  6. PMP考试备考指南基础知识
  7. 大疆文档(2)-指南
  8. java坦克大战项目
  9. 拳王虚拟项目公社:虚拟资源自动化挣钱,空手套白狼的躺赚技术
  10. XILINX 7系列FPGA与SOC产品选型指南