matlab z变换离散化_matlab 数字滤波入门

这篇博客介绍了matlab数字信号处理的基础,包括时间序列分析、FFT变换、数字滤波器(FIR和IIR)以及图像处理。重点讨论了如何避免采样中的Aliasing现象,通过FIR和IIR滤波器进行信号滤波,以及使用能量检测器在噪声中检测信号。此外,还展示了matlab中创建和操作图像的基本方法。
摘要由CSDN通过智能技术生成

2102954ff9e7ec5eeb1192a013969128.png

序言

这是一篇最简单不过的matlab数字信号处理的介绍,里面涉及数字滤波,简单的图像处理和信号检测

1. 时间序列分析入门

模拟与数字信号

我们本身生活在一个模拟量的世界里,所谓模拟量,即连续变化量,屋里的温度是连续变化的,时间是连续变化的,诸如此类。而计算机是数字系统,他不能处理模拟量,而只能处理离散量,这意味着我们要把连续的模拟量进行采样,得到一系列离散的数字量。

5e2673df88d01fa74bdca71694d61c0f.png
一个连续的正弦信号。X为时间,Y为每天因为潮汐引起的水位高度

38a1baba27357f3b725e10ad8f0febcc.png
数字化后的信号,每一个点代表采样点

Aliasing

所有自然界的信号都不是很干净的,都会有噪声。下面是一个更接近真实的潮汐水位高度随时间变化的数据集:

16b412a6941eec3ca1b3b95a412a29b5.png
一个更接近于真实的模拟信号源

如果我们对它采样,大概会得到。。。这样:

db9a7f3d64363aa41a743bb0a9835ccb.png

用一条线把采样点连接起来,采集的到的数字波形可以看出明显的上下振动。由于高频噪声和原来的低频真实信号相叠加,最后采集出来的数据和原来的数据相比很难看。这是因为采样的频率远低于噪声信号的频率,Aliasing发生了。

1fb1b7b55cc1d54f501a2fd70330e515.png
用一条线把采样点连接起来,可以看出,Aliasing发生了

避免Aliasing

Aliasing 通常是有害但又不可能100%避免的:

Nyquist Theorem

这个定理告诉我们,如果想要完整采集某个频率的信号,那么你至少要用2倍于该信号的最高频率的采样率来采集,否则 Aliasing就会发生。举个例子:如果你知道潮汐变化最短以一天为周期,那么你至少半天就需要采集一个潮汐水位变化。实际应用中,通常用更高(>2倍)的采样率去采集信号

Anti-Aliasing Filters

除了提高采样率,另外一种避免Aliasing的方法是使用 Anti-Aliasing Filter. 通常在数字化之前使用一个low-pass filter把噪声滤掉即可。举例:采样之前安装一个低通滤波器,截止频率为10Hz. 那么你只需要一个20Hz的采样率就可以把你感兴趣的信号采集进来。高频噪声在采样之前就被模拟低通滤波器干掉了。

但是:一定要在数字化(采样)之前进行低通滤波(模拟低通滤波)。否则如果采样率不够,则必然发生Aliasing, 噪声会混进你感兴趣的低频信号中,这时候再采用数字低通滤波就没啥效果了。当然,如果你采样频率够高,那么采样进来后才进行数字低通滤波也是OK的。而且绝大多数应用就是这么干的。

RMS

RMS=root,mean,square. 用来描述信号质量。 计算方法: 一组数据,先平方,再求均值,最后开根。

让我们手工用matlab撸一个rms函数:建一个rms.m 写入以下内容:

function

使用也很简单,产生一些随机数,然后计算他们的RMS:

rms(rand(1,1000))

输出结果:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值