第3章信号生成和预处理Signalgenerationandpreprocessing
信号生成和预处理“信号生成和预处理是信号处理中的重要环节,它涉及信号的产生、采集、处理和分析等方面。在信号处理中,信号的质量和准确性往往取决于信号的生成和预处理过程。信号生成和预处理的目的是提高信号的质量和准确性,以便后续的信号处理和分析能够更加准确和有效。在本部分中,将介绍基于MWORKS的信号生成和预处理实例,包括平滑和去噪、波形生成两部分。
信号生成和预处理函数名简介hampel使用Hampel标识符去除异常值medfilt1一维中值滤波sgolaySavitzky-Golay滤波器设计sgolayfiltSavitzky-Golay滤波平滑和去噪平滑和去噪中使用到的MWORKS函数如下表所示。
信号生成和预处理例:中值滤波的噪声抑制生成采样频率为100Hz持续时间为1秒的正弦信号。添加更高频率的正弦信号来模拟噪声。使用10阶中值滤波器来平滑信号,并绘制结果,如下图所示。图3-1中值滤波平滑信号
信号生成和预处理例:对数据去趋势测量的信号可能显示数据中非固有的整体模式。这些趋势有时会妨碍数据分析,因此必须进行去趋势。以具有不同趋势的两种心电图(ECG)信号为例。ECG信号对电源干扰等扰动很敏感。加载信号并绘制它们。图3-2去趋势前后的ECG信号第一个绘图上的信号显示线性趋势。第二个信号的趋势是非线性的。要去线性趋势,需要使用函数detrend。要去非线性趋势,需要对信号进行低阶多项式拟合并减去它。通过图3-2可以看到信号的基线已不再偏移,它们现在可用于进一步处理。
信号生成和预处理例:从信号中去除60Hz干扰美国和其他几个国家的交流电以60Hz的频率振荡。这些振荡通常会破坏测量结果,在处理信号时必须将其减去。在存在60Hz电力线噪声的情况下,研究模拟仪器的输入的开环电压。电压采样频率为1kHz。图3-3开环电压原始数据
信号生成和预处理例:从信号中去除60Hz干扰使用巴特沃斯陷波滤波器消除60Hz噪声。使用designfilt设计该滤波器。陷波的宽度定义为59至61Hz的频率区间。滤波器至少去除该范围内频率分量的一半功率。用filtfilt对信号进行滤波,以补偿滤波器延迟。注意振荡是如何显著减少的。图3-4滤波之后开环电压
信号生成和预处理例:从信号中去除60Hz干扰图3-5能量谱使用周期图可以看到60Hz的“峰值”已去除。
信号生成和预处理例:去除信号中的峰值有时数据会出现不必要的瞬变(即峰值)。中位数滤波是消除它的好方法。以存在60Hz电线噪声时模拟仪器输入的开环电压为例。采样率为1kHz。函数medfilt1将信号的每个点替换为该点和指定数量的邻点的中位数。因此,中位数滤波会丢弃与其周围环境相差很大的点。通过使用三个邻点的集合计算中位数来对信号进行滤波。图3-6添加了峰值的开环电压图3-7中位数滤波之后的开环电压
信号生成和预处理函数名简介chirp扫频余弦gauspuls高斯调制正弦射频脉冲pulstran脉冲序列tripuls采样的非周期性三角形波形生成在MWORKS中,可以运用chirp生成线性、二次和对数chirp。使用square、rectpuls和sawtooth创建方波、矩形波和三角形波。一些常见的生成波形的函数如下表所示:
信号生成和预处理例:脉冲函数和阶跃函数可以用下列传递函数表示连续时间系统的脉冲响应:对于这个例子,创建一个tf模型来表示传递函数。可以类似地绘制其他动态系统模型类型的脉冲响应,例如零极增益(zpk)或状态空间(ss)模型。图3-8冲激响应图
信号生成和预处理例:脉冲函数和阶跃函数阶跃函数在系统分析中也具有重要作用,特别是在连续时间和离散时间系统中。系统的单位阶跃响应是系统对阶跃函数输入的响应。通过对系统的单位阶跃响应进行积分操作,可以计算出系统对任意输入信号的响应。阶跃函数在信号处理中经常用于定义信号的启动时间、模拟开关操作以及定义系统的开启时间。图3-9阶跃响应曲线图
信号生成和预处理例:生成常见的周期性波形借助TySignalProcessing,可以生成常见的周期性波形。生成10个周期的基本频率为50Hz的锯齿波和方波。采样率为1kHz。图3-10锯齿波信号图3-11方波信号
信号生成和预处理例:生成常见的非周期性波形生成具有线性瞬时频率偏差的噪音,计算并绘制chirp的时域图。噪音以1kHz的采样频率采样2秒。瞬时频率在t=0时为0,在t=1秒时跨越250Hz。图3-12chirp时域图
信号生成和预处理例:生成常见的非周期