文章目录
- 1、基本概念
- 2、频谱分析
- 3、波形与其频谱之间的关系
- 4、非周期信号
- 5、噪声
- 6、滤波器
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