文章目录
- 前言
- 一、使用MATLAB生成余弦波并画图
- 二、计算信号的均值、方差、与功率
- 三、结果分析
前言
本文对叠加了直流分量的一段整周期余弦信号进行时域分析,使用MATLAB进行信号生成,并计算其均值、方差、与功率。最后给出对计算结果的分析,阐明均值、方差、与功率的关系和物理意义。
一、使用MATLAB生成余弦波并画图
首先使用MATLAB生成一段叠加直流分量的余弦波。代码如下:
% 指定信号的参数,频率1Hz,采样频率为16Hz,信号持续时间为2秒(32个samples)。
A = 1; % 余弦波的振幅
f = 1; % 余弦波的振荡频率,简称频率
const = 0.1; % 直流分量
fs = 16; % 数字信号的采样频率(sampling frequency ),简称采样率
Ts = 1/fs; % 采样周期,也即采样值的时间间隔
L = 32; % 一个采样值称为一个sample,L为sample的个数
t = (0:L-1)*Ts; % 时间向量
% 生成余弦波x
x = A * cos(2*pi*f*t); % 余弦波
y = x + const; % 余弦波叠加直流分量
% 画出生成余弦波的时域波形
figure()
plot(t,x,'LineWidth',1.5)
hold on
plot(t,zeros(1,L)+const,'LineWidth',1.5)
hold on
plot(t,y,'LineWidth',1.5)
title('余弦信号叠加直流分量的时域波形')
grid on
xlabel('t/s')
ylabel('f(t)')
legend('f(t)=cos(2*pi*f*t)','f(t)=const','f(t)=cos(2*pi*f*t)+const')
生成的余弦波画图如下:
二、计算信号的均值、方差、与功率
代码如下:
%(1)求信号的平均值
avrg = sum(x)/length(x) % 平均值average value。相当与mean(x)
%(2)求信号的方差
varnc = var(x,1) % 方差variance
%(3)求信号的功率
n2 = norm(x, 2); % 2-范数
power = n2^2 / length(x)
计算结果如下:
avrg = 0.1000
varnc = 0.5000
power = 0.5100
三、结果分析
(1)叠加了直流分量的整周期余弦信号,其均值就是所叠加的直流分量。其实,信号的均值就是信号直流分量。
(2)直流分量为0.1,则直流功率Pdc=0.1*0.1=0.01W。
(3)当信号中存在直流分量时,也即信号不再是零均值的,此时信号的方差与信号功率不再相等。
(4)方差varnc=0.5,表示的是信号中包含的交流分量的功率Pac=0.5W。
(5)功率power=0.51,是信号的总功率,其值是直流分量功率和交流分量功率之和。
可见,信号的方差并不总等于信号的功率。