(32)噪声信号的时域分析:均值、方差、与功率

文章目录


前言

本文对叠加了高斯白噪声的一段整周期余弦信号进行时域分析,使用MATLAB进行信号生成,并计算其均值、方差、与功率。最后给出对计算结果的分析,阐明均值、方差、与功率的关系和物理意义。并介绍通信系统设计时对信源符号编码的考虑。


一、生成噪声信号并画图

首先使用MATLAB生成一段叠加高斯白噪声的余弦波。代码如下:

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

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

% 信号经过awgn信道
y = awgn(x,snr,'measured');    % 信号叠加高斯白噪声 

% 画出生成余弦波的时域波形
figure()
subplot(211)
plot(t,x,'LineWidth',1.5)
title('余弦信号的时域波形')
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)')

subplot(212)
plot(t,y,'LineWidth',1.5)
title('加噪余弦信号的时域波形')
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)+noise')

生成的噪声信号画图如下:

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

代码如下:

c 复制代码
dc = mean(y);                       % 直流分量。叠加的噪声并不完全是0均值的,导致直流分量不为0
power_dc = dc^2                     % 直流分量功率

power_ac = var(y,1)                 % 方差。方差计算的是交流分量的平均功率

n2 = norm(y, 2);                    % 2-范数
power = n2^2 / length(y)

计算结果如下:

dc = 0.06564

power_dc = 0.0043

power_ac = 0.6339

power = 0.6383

三、结果分析

结果分析如下:

(1)均值计算出来的是直流分量,dc=0.06564,进而计算出直流功率power_dc=0.0043W。

(2)方差计算得到的是信号中交流分量的功率power_ac=0.6339W。

(3)功率power=0.6383,是信号的总功率,其值是直流分量功率和交流分量功率之和。

需要注意的是,信号的方差和信号的功率这两个概念并不相同。不过,我们在做通信系统设计时,一般将信源符号编码为双极性正负等概的,这样将使得发送的调制信号具有零均值的特性。另外,我们同时假设通信系统中的噪声是零均值分布的。通过这样的设计,我们就可以得到均值为零的接收信号,此时,信号的方差将与信号平均功率相等。这也是我们经常使用方差计算信号功率的原因。

由于某些原因使得接收信号的均值不等于零时,信号的方差与信号功率将不再相等。实际上,这种情况更为常见。此时,只需对信号进行去直流滤波即可将其变为零均值的。

关于去直流滤波器,可以使用高通滤波器,也可以使用陷波滤波器,这将在后面的文章中专题介绍。


相关推荐
CodeJourney.20 分钟前
小型分布式发电项目优化设计方案
算法
带多刺的玫瑰1 小时前
Leecode刷题C语言之从栈中取出K个硬币的最大面积和
数据结构·算法·图论
Cando学算法1 小时前
Codeforces Round 1000 (Div. 2)(前三题)
数据结构·c++·算法
薯条不要番茄酱1 小时前
【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
算法·动态规划
小林熬夜学编程1 小时前
【Python】第三弹---编程基础进阶:掌握输入输出与运算符的全面指南
开发语言·python·算法
字节高级特工1 小时前
【优选算法】5----有效三角形个数
c++·算法
小孟Java攻城狮7 小时前
leetcode-不同路径问题
算法·leetcode·职场和发展
查理零世7 小时前
算法竞赛之差分进阶——等差数列差分 python
python·算法·差分
小猿_009 小时前
C语言程序设计十大排序—插入排序
c语言·算法·排序算法
肖田变强不变秃10 小时前
C++实现矩阵Matrix类 实现基本运算
开发语言·c++·matlab·矩阵·有限元·ansys