信号处理入门_HawardScut的博客-程序员ITS203_信号处理入门

技术标签: 信号处理  

1、基本概念

在这里插入图片描述
周期: 每个循环的时长,如上图,周期约为2.3ms
频率: 即周期的倒数,其单位为每秒钟循环数,也称为赫兹(Hz),上图的型号频率大约为1/2.3*1000 = 439Hz
波形:周期信号的形状

正弦信号:
(1)数学描述:

x(t) = Asin(ωt+φ)=Acos(ωt+φ-π/2)

其中,A 为振幅,ω为角频率(弧度/秒),φ 为初始相角(弧度),周期T为:T=2π/ω=1/f (f为频率)。余弦信号与正弦信号在相位上相差π/2,所以他们统称为正弦型信号(简称正弦信号)。ωt+φ称为相位

(2)性质:
a) 两个同频率的正弦信号相加(即使振幅与相位各不相同),结果仍然是原频率的正弦信号。
b) 两个不同频率的正弦信号( fhigh= nflow)的合成信号是非正弦周期信号,其周期等于基波(频率为flow的正弦信号就称作基波)的周期T= 1/flow (合成信号是频率与基波相同的非正弦信号)。

在这里插入图片描述
c) 正弦信号对时间的微分与积分仍然是同频率的正弦信号。

2、频谱分析

在这里插入图片描述
如图:x轴表示的是合成这个信号的频率范围,y轴表示各个频率元素的振幅。

任何信号都可以表示成一系列不同频率的正弦信号的叠加和,频谱是指相加产生信号的正弦波的集合。

离散傅里叶变换(Discrete Fourier Transform,DFT),DFT:将信号转换成频谱。
快速傅里叶变换(Fast Fourier Transform,FFT):计算离散傅里叶变换的一种高效方式。
基频: 频率为最低的正弦信号对应的频率(其图像为基波。
谐波: 频率为基频的整数倍的其他频率元素。

3、波形与其频谱之间的关系

(1)三角波(频率为200Hz)

在这里插入图片描述

谐波结构:各谐波的幅度随着频率的平方等比例地衰减且只有奇数谐波

(2)方波(频率为100Hz)
在这里插入图片描述
谐波结构:各谐波的幅度随着频率等比例地衰减(不是频率的平方)且只有奇数谐波

(3)混叠
采样高频信号后,其结果和采样低频信号一样(例如对5500Hz和4500Hz信号分别进行10000帧每秒的采样,由于高于5000Hz的信号被折叠刀5000Hz以下,所以其结果和采样低频信号一样)

4、非周期信号

周期信号:其包含的频率元素不随时间变化而变化
非周期信号:其频率元素随时间变化而变化
(1)当频率不变时,相位ωt+φ0 = ωt + 0(初始相角φ0=0)为
φ = ωt = (2π/T)t = (2πf)t = 2πft
(2)当频率是时间的函数时,有
Δφ = 2πf(t)Δt
经推导有:
dφ / dt = 2πf(t)
即频率是相位的导数,相位是频率的积分

(1)泄露
离散傅里叶变换假定信号是周期性的,它隐含性地将信号的开始和结尾连接起来,从而构成一个环。实际上这个假设是错误的,这将导致出现一片段外的频率元素,这些元素不是信号的频率元素,即发生泄露。
在这里插入图片描述
如上图,图左表示一个只有一个频率元素的440Hz的三角函数信号,没有发生泄露(只在440Hz中有一个尖峰);图中表示发生泄露的情况(除了440Hz中有一个尖峰外,还有240Hz-640Hz之间的额外频率元素);图右表示加窗处理的信号频率(有所改善,但是不能完全解决问题)

(2)加窗
通过平滑片段的开始和结束来缓解其不连续性(下图中的上图开始和结束不连续,右边在周期之外还多出个小片段),从而减少泄露,这样做的方法叫作加窗。
在这里插入图片描述
窗函数: 图中间表示的是一个“汉明窗”函数,窗函数中间为1,两边的值比较小,起到平滑的作用。
图下: 显示的是窗函数乘以原信号的结果。在窗函数为1的地方,信号没有变化。在窗函数接近0的地方,信号被衰减。由于窗函数在两端都变窄,片段的结尾能平滑地连接开始。

5、噪声

噪声即不想要的信号(一个信号中包含很多频率使得噪声比较大)
(1)不相关噪声(UU噪声)
即各个值是相互独立的,也就是得到一个值不能得到其他值的信息
不相关噪声的波形如下:
在这里插入图片描述
UU噪声的频谱(能量与频率之间的关系)如下:在这里插入图片描述
(2)布朗噪声
布朗噪声各个值是前一个值域一个随机“步长”的和,如下图
在这里插入图片描述
(3)白噪、粉噪、红噪(与布朗噪声类似,但是更加随机)
β=1的粉噪波形如下
在这里插入图片描述

6、滤波器

(1)平滑(均值滤波器)
即窗和波形数值的乘积(距离窗大小为9,则均值滤波器的窗为[1/9, 1/9, …, 1/9])
下图为方波平滑前后的频谱图

在这里插入图片描述
图上表明,基频没变,前几个谐波被减弱,而更高的谐波几乎被完全消除了,所以平滑有低通滤波器的效果
(2)高斯滤波
作为一种低通滤波器,高斯平滑比简单的滑动平均要好。在比率降低之后,会一直保持低值(均值滤波会出现比率升高的情况)所以它在抑制高频元素方面做得更好

参考
1、《python数字信号处理应用》
2、https://github.com/AllenDowney/ThinkDSP

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hao5335156/article/details/115421015

智能推荐

Express入门教程:一个简单的博客_hsany330的博客-程序员ITS203

转载 http://ourjs.com/detail/56b2a6f088feaf2d031d2468Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站,它有一套健壮的特性,可用于开发单页、多页和混合Web

iOS UIBezierPath和CAShapeLayer画一条多颜色的线条_天行哥哥的博客-程序员ITS203

项目需要做一个有多个色值的进度条,笨办法是创建多个视图,给每个视图设置不同颜色,当然还是画图更高级点。本次记录利用UIBezierPath和CAShapeLayer来画一条多颜色的线条。首先我们要先知道整个线条的所有色值,和当前的结果,也就是偏高然后创建颜色线条类,调用: NSString *resutStr = @"偏高"; NSArray *colorAr...

SfxMCP基于GB28181/RTSP/ONVIF协议实现H5无插件直播方案 - sfxlab_inpilen的博客-程序员ITS203_h5 rtsp

SFX流媒体解决方案-基于rtsp/onvif/gb28181无插件安防行业直播方案(SfxMCP/SfxMDP/SfxMSP)SFX流媒体解决方案基于安防行业推出了以媒体汇聚平台(SfxMCP)为主,以媒体分发平台(SfxMDP)和媒体存储平台(SfxMSP)为辅,实现rtsp/onvif/gb28181相关设备或平台的汇聚,通过媒体分发平台和媒体存储平台对外提供实时流、历史流、报警信息、语音对讲、设备云台控制(PTZ)等相关服务,支持H5无插件直播,配合该方案基于mse开发的相关前端js播放器,可消

计算机图形学(二)输出图元_10_多边形填充区_4_多边形表_heyuchang666的博客-程序员ITS203

场景中的对象一般用一组多边形面片来描述。实际上,图形软件包经常提供以多边形网格形式描述表面形状的函数。对每一个对象的描述包括指定多边形面片的几何信息和其他表面参数(如颜色、透明性及光反射特性)。在输入每个多边形的信息时,数据放进一些表格中等待后续处理、显示和场景的对象管理。这些多边形数据表分成两组来组织:几何数据表和属性数据表。几何数据表包含顶点坐标和标识多边形面片空间方向的参数。对象的属性信息包含指定对象的透明程度及其表面的反射性能和纹理特征。

C++编程之itoa函数的用法_skyereeee的博客-程序员ITS203_c++ itoa

例子:# include # include void main (void){int num = 100;char str[25];itoa(num, str, 10);printf("The number 'num' is %d and the string 'str' is %s. \n" ,num, str);}itoa()函数有3个参数:第一个

FPGA设计——全局曝光CMOS图像采集与USB2.0显示_weixin_34187822的博客-程序员ITS203

1. 概述本设计采用FPGA技术,将CMOS摄像头(LVDS接口)的视频数据经过采集、存储、帧率转换及格式转换,最终通过USB2.0接口显示在电脑屏幕上。2. 硬件系统框图CMOS采用一款全局曝光芯片,FPGA采用ALTERA公司的CYCLONE IV,FLASH采用EPCS64,DDR2采用Hynix公司的1Gb内存条,USB2.0采用Cyp...

随便推点

mybatis错误之Could not find result map java.util.List_Mint6的博客-程序员ITS203_cloud not find result map jutil.list

1.复现错误报错提示:13:41:33.539 ERROR com.fast.framework.advice.FastBootControllerAdvice 58 errorHandler - Could not find result map java.util.List org.apache.ibatis.builder.IncompleteElementException: C...

mybatis详解(三)sqlMapperConfig配置详解_double_lifly的博客-程序员ITS203

properties --- 用于提供一系列的键值对组成的属性信息,该属性信息可以用于整个配置文件中。settings --- 用于设置 MyBatis 的运行时方式,比如是否启用延迟加载等。typeAliases --- 为 Java 类型指定别名,可以在 XML 文件中用别名取代 Java 类的全限定名。<!--别名设置--><typeAliases>    <!...

Python copy与deepcopy的区别_HeoLiu的博客-程序员ITS203

import copyorigin = [1, 2, [3, 4]]#origin 里边有三个元素:1, 2,[3, 4]cop1 = copy.copy(origin)cop2 = copy.deepcopy(origin)cop1 == cop2Truecop1 is cop2False #cop1 和 cop2 看上去相同,但已不再是同一个objectorigin[2][0

【转】送给和我一样曾经浮躁过的PHP程序猿_linglongwunv的博客-程序员ITS203

转载自:http://www.xprogrammer.com/1265.html2012年偶决定开始写博客了,不为别的,就希望可以通过博客记录我的成长历程,同时也希望可以帮助一些刚毕业,刚入行业的兄弟姐们们。我们是一群充满浮躁、抱怨、迷茫的程序猿,想一想3年就这么过去了,社会变得更浮躁了,鸭梨也越来越大,房?车?女人?… 抓狂…决定写这样一篇文章,再次明确自己的职业规划,也送给

Android10 InputManagerService事件输入输出_tangedegushi的博客-程序员ITS203_sendkeydownupsync

InputManagerService管理着屏幕点击以及硬件按钮事件的输入输出,InputManagerService的实现是在native代码中,想要对事件进行处理,那就一定要通过InputManagerService进行注册或是监听。如果A应用要想获取到输入事件,那要怎么和InputManagerService连接起来呢?答案是Socket,其中InputChannel就是对其进行封装,InputChannel的实现同样是native代码,实现的类是NativeInputChannel,...

推荐文章

热门文章

相关标签