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

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

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

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

2.1 概述

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

2.2信号函数和标准信号

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第1张图片
连续的正弦波要进行离散化,才能进而的进行数字信号处理,将连续的时间t用n倍的时间间隔表示
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第2张图片
改错:dt=1/11025
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第3张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第4张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第5张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第6张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第7张图片
matlab中生成三角波和锯齿波用同一个函数sawtooth
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第8张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第9张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第10张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第11张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第12张图片

2.3 信号发生器设计

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第13张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第14张图片
b站视频P20:讲解如何生成信号发生器和电子琴(包含GUI设计)

第三章 信号的时域分析

3.1概述

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第15张图片

3.2信号波形参数识别

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第16张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第17张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第18张图片
画一条零线,可求出信号的周期和初相位
相邻两过零点时间差就是周期,第一个过零点位置与周期的比例可算出初相位
过零检测法求周期和相位很常用
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第19张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第20张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第21张图片

3.3 信号的数字微分/积分

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第22张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第23张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第24张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第25张图片【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第26张图片

第四章 信号的频谱分析

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第27张图片

4.1频谱分析的概念

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第28张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第29张图片
可以从频谱图看出一个信号的频率构成,和不同频率不分的强弱(幅值)
从波形,可以看出信号随时间变化的幅值强弱
与波形相比,频谱可以更直观的
波形:幅值随时间的变化情况;频谱:幅值随频率的变化情况
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第30张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第31张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第32张图片
与波形相比,频谱的抗干扰能力更强
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第33张图片
频谱分析分解出的正弦波,往往能找到明确的物理意义,比如齿轮转动的频谱,每一个谱线都能对应到一个机械零件上去

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

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第34张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第35张图片
任意两个波形相乘,积分等于0说明两个函数正交
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第36张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第37张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第38张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第39张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第40张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第41张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第42张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第43张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第44张图片
功率谱是幅频谱的平方,反映了每个频率分量的能量大小
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第45张图片
周期信号的频谱图:
谐波性是指频率成分一定是基频的倍数,如基频是f0,则谱线一定智能出现在f0的整数倍上
收敛性是指谐波次数越高,幅值越小
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第46张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第47张图片
fft使用条件:数据长度必须是2的次方
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第48张图片
合成信号——FFT——实频谱和虚频谱——幅值谱和相位谱
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第49张图片
【视频P27,11分位置】注意:使用FFT之后,并不需要显示负频谱的部分,因为正频谱部分就可以显示出有用的信息,负频谱部分的信息是冗余的
在这里插入图片描述
有时功率谱上某些频谱分量的幅值显示的不明显,小能量信号会被大能量信号掩盖,所以通常采用对数功率谱,能将小的信号放大,大的信号压缩,能在一张图上表现出不同大小的频率成分
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第50张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第51张图片

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

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第52张图片

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第53张图片
截取后再延拓的信号会在连接点处产生跳变,在波形上显示的是产生跳变,在频谱上产生的是出现能量泄露
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第54张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第55张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第56张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第57张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第58张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第59张图片

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

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第60张图片
快速傅立叶变换和离散傅立叶变换的计算结果是相同的,但是速度快很多
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第61张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第62张图片
栅栏效应生成的原因:为了提高计算效率,在使用FFT计算频谱时,在0到二分之一的采样频率区间内,不是每个频率点都计算,而是按照一定的频率间隔抽样计算,频率间隔等于采样频率除以数据长度
在取样的位置和谱峰的位置不重叠时,便会带来一个谱峰误差,这种误差引起的反应,叫做栅栏效应。包含两个误差,一个是幅值高度的误差,一个是最大频率的误差。
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第63张图片
谱峰越尖锐,产生误差的可能性就越大
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第64张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第65张图片
由于截断带来的能量泄露,这时会减小栅栏效应的误差,可以通过控制截断函数的形状,来调整能量泄露形状,
左侧图为矩形窗能量泄露函数,以中心频率为主的成份叫做主瓣,比较窄比较尖,越尖锐造成的栅栏效应的误差就越大,还有其他很高的旁瓣,但理想情况下只希望读出主瓣处的能量泄露,但这种理想的窗函数并不存在,实际上只能去逼近它。
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第66张图片

直接截断,然后周期延拓,如果截断的不是整周期的位置,会产生一个跳变,此时加一个汉明窗,用这样的窗函数和原来的信号相乘,这样会将原信号在接头处的幅值被压缩成0,以这种方式进行周期延拓,无论原来的信号怎样,在接头处都不存在跳变(从波形上看)
(从频谱上看)相当于增宽主瓣,压缩旁瓣,因此可以通过这种方式抑制旁瓣的能量泄露,同时提高主瓣的宽度,使栅栏效应的误差减小
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第67张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第68张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第69张图片
汉宁窗和矩形窗相比,主瓣变的更宽,而旁瓣变得更低
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第70张图片
这是汉宁窗对波形进行截断的情况,截断后要进行修正,窗函数和原信号相乘再进行截断延拓,幅值修正后幅值增大了一倍,这样幅值增大后可以弥补两端衰减造成的能量损失
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第71张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第72张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第73张图片
和矩形窗相比,主瓣宽一些,旁瓣窄一些
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第74张图片
主瓣更宽一些,旁瓣更窄一些
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第75张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第76张图片
平顶窗,主瓣相当宽
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第77张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第78张图片
能量修正z=2*w1.*x,然后再进行FFT
加窗能克服能量泄露和栅栏效应带来的误差
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第79张图片

4.5 非周期信号的频谱分析

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第80张图片
工程上大量的信号都是非周期信号,在数字领域,由于截断,不管原信号是不是周期信号,都会转换成周期信号
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第81张图片
1.如果数据长度不够长,可以通过补0的方式提高频谱的频率分辨率
eg:假如原来数据长度是1024,再补1024个0,频谱分析时,精度会高一倍
2.细化:如果想看清某一部分的频谱,使用ZOOM-FFT可以将观测的视角集中在一个频率
3.主要针对受噪声干扰频谱,计算时谱当中有很多的随机干扰,此时将频谱多次累加再除以N,这样干扰也会减小到N分之一
4.用于修正栅栏效应误差
5.传感器输出的都是实信号,但是matlab里的FFT输入的是复信号,因此针对虚部的计算浪费了,采用实信号FFT计算技术,可以将计算速度提高一倍

4.6频谱分析应用

【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第82张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第83张图片
结果会发现,信号波形的幅值是1,倒是频谱的幅值不是1,产生差异的原因就是能量泄露和栅栏效应

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

首先通过计算机上的脉冲,采集一段声音信号,然后进行FFT变换,再画出信号频谱
1.新建GUI文件
2.安放控件,修改控件属性
3.使用定时器,实现连续采样
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第84张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第85张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第86张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第87张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第88张图片
【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析_第89张图片

你可能感兴趣的:(matlab,信号处理,matlab,信号处理)