(30)数字信号处理中的时域分析:均值、方差、与功率

文章目录


前言

在数字信号的分析与处理中,时域和频域提供了两个不同的角度,也分别提供了不同的分析和处理方法。本文介绍信号的时域分析,包括信号的均值、方差、与功率,并给出MATLAB代码与分析结果。


一、均值、方差、与功率

假设所处理的信号由序列A=[A0, A1, A2, ... Ai, ... AN]给出,则该信号的均值定义为:

信号的方差定义为:

信号的平均功率定义为:

下面给出求信号均值、方差、与功率的MATLAB代码。

二、MATLAB代码

1.生成余弦波并画图

首先使用MATLAB生成一段余弦波作为时域分析对象。

c 复制代码
% 指定信号的参数,频率1Hz,采样频率为16Hz,信号持续时间为2秒(32个samples)。
A = 1;                         % 余弦波的振幅
f = 1;                         % 余弦波的振荡频率,简称频率
fs = 32;                       % 数字信号的采样频率(sampling frequency ),简称采样率
Ts = 1/fs;                     % 采样周期,也即采样值的时间间隔
L = 64;                        % 一个采样值称为一个sample,L为sample的个数
t = (0:L-1)*Ts;                % 时间向量

% 生成余弦波x
x = A * cos(2*pi*f*t);         % 余弦波

% 画出生成余弦波的时域波形
figure()
plot(t,x,'-','LineWidth',1.5)
% title('余弦信号的时域波形')
title(['余弦波的时域波形(f=',num2str(f),'Hz,fs=',num2str(fs),' samples/s)'])
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)')

画图如下:

2.计算信号的均值、方差、与功率

代码如下:

c 复制代码
%(1)求信号的平均值
avrg = sum(x)/length(x) 

%(2)求信号的方差
varnc = var(x,1)

%(3)求信号的功率
n2 = norm(x, 2);                          % 2-范数
power = n2^2 / length(x) 

计算结果如下:

avrg = -1.9082e-17

varnc = 0.5000

power = 0.5000

3.结果分析

(1)理论上,整周期的一段余弦波信号均值应该是0,而在MATLAB中由于存在计算精度的问题,计算的结果由一个很小的数给出:-1.9082e-17。另外需要指出的是,信号的均值表示的是信号中直流分量。

(2)信号的方差和平均功率都是0.5。

在这个仿真中,信号的方差与信号的平均功率相等。这边自然提出一个很有趣的问题:信号的方差等于平均功率是一个巧合,还是一个普遍现象?后续的文章将对此进行讨论。


相关推荐
CM莫问20 分钟前
详解机器学习中的马尔可夫链
人工智能·算法·机器学习·概率论·马尔可夫·马尔科夫
南宫萧幕22 分钟前
基于 Luenberger 观测器的 PMSM 无速度传感器 id=0 矢量控制系统 Simulink 建模与实现(一)
算法·matlab·汽车·控制
斯维赤29 分钟前
每天学习一个小算法:选择排序
java·学习·算法
超级码力66634 分钟前
【Latex第三方文档类standalone】standalone类介绍及应用
算法·数学建模·信息可视化
明朝百晓生34 分钟前
强化学习 [chapter10] [page3 ]Actor-Critic Methods
算法
peterfei1 小时前
一个 Tauri + Rust AI 编辑器是怎么同时适配 5 家 AI 大厂的?IfAI v0.4.3 架构拆解
人工智能·算法·架构
Via_Neo1 小时前
桶排序算法
算法·排序算法
斯维赤1 小时前
每天学习一个小算法:快速排序
java·python·学习·算法·排序算法
我爱C编程1 小时前
移动边缘网络中基于双深度QLearning强化学习(DDQL)的高能效资源分配方法
matlab·强化学习·移动边缘网络·双深度qlearning·ddql·高能效资源分配
王老师青少年编程2 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:雷达安装
c++·算法·贪心·csp·信奥赛·区间贪心·雷达安装