当前位置: 首页 > news >正文

(33)MATLAB信号分析之信号功率、噪声功率、与信噪比

文章目录

  • 前言
  • 一、信号功率、噪声功率、与信噪比
  • 1.信号功率
  • 2.噪声功率
  • 3.信噪比
  • 4.信噪比线性值与分贝值的换算关系
  • 二、MATLAB仿真分析
    • 1.建立awgn信道通信模型
    • 2.计算信号功率与噪声功率
    • 3.结果分析


前言

本文首先给出了信号功率、噪声功率、与信噪比的概念,以及信噪比线性值和分贝值的换算关系,然后使用MATLAB生成信号,并叠加awgn形成噪声信号,基于该仿真代码计算出信号功率、噪声功率,并说明其与信噪比的关系。


一、信号功率、噪声功率、与信噪比

1.信号功率

信号功率是指信号的平均功率,一般用S表示。若信号由序列A=[A0, A1, A2, … Ai, … AN]给出,则信号功率由下式给出:

在这里插入图片描述

信号功率的单位是W(瓦特)。

2.噪声功率

噪声功率是指噪声的平均功率,一般用N表示。它是噪声序列平方和的平均值,单位也是W(瓦特)。

3.信噪比

信噪比是指信号功率S与噪声功率N的比值,一般用SNR表示。SNR由下式给出:

在这里插入图片描述

显然,SNR是无量纲的。工程中一般使用SNR的dB值,此时便称SNR的单位是分贝(dB)。

4.信噪比线性值与分贝值的换算关系

若用S/N表示SNR的线性值(即由信号功率和噪声功率直接计算得到的比值),用SNR_dB表示SNR的分贝值,则两者之间换算关系如下:

SNR_dB = 10*log10(S/N)

S/N = 10^( SNR_dB/10)

例如,若已知SNR_dB=20dB和信号功率S=0.5W,则可计算出噪声功率N=S/[10^( SNR/10)]=0.005W。

二、MATLAB仿真分析

下面以awgn的使用为例,给出MATLAB仿真中信号功率、噪声功率、与信噪比的应用举例。

1.建立awgn信道通信模型

首先使用MATLAB生成一段余弦信号,并将其送入awgn函数增加噪声,然后用带噪信号和原始信号作差得到噪声序列。代码如下:

% 指定信号的参数,频率1Hz,采样频率为64Hz,信号持续时间为10(640个samples)。
A = 1;                         % 余弦波的振幅
f = 1;                         % 余弦波的振荡频率,简称频率
fs = 64;                       % 数字信号的采样频率(sampling frequency ),简称采样率
Ts = 1/fs;                     % 采样周期,也即采样值的时间间隔
L = 640;                        % 一个采样值称为一个sample,L为sample的个数
t = (0:L-1)*Ts;                % 时间向量
snr = 20;                      % 信噪比,dB值% 生成余弦波x
x = A * cos(2*pi*f*t);         % 余弦波% 信号经过awgn信道
y = awgn(x,snr,'measured');    % 信号叠加高斯白噪声 % 噪声
n = y - x;% 画出生成余弦波的时域波形
figure()
subplot(311)
plot(t,x,'LineWidth',1.5)
title('余弦信号的时域波形')
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)')subplot(312)
plot(t,y,'LineWidth',1.5)
title('加噪余弦信号的时域波形(SNR=10dB)')
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)+noise')subplot(313)
plot(t,n,'LineWidth',1.5)
title('噪声的时域波形')
grid on
xlabel('t/s')
ylabel('noise')

得到的信号与噪声画图如下:

在这里插入图片描述

2.计算信号功率与噪声功率

代码如下:

% 信号功率
n2 = norm(x, 2);                      % 2-范数
Ps = n2^2 / length(y)                 % 计算信号的平均功率(线性值)% 噪声功率
n2_n = norm(n, 2);                    % 2-范数
Pn = n2_n^2 / length(n)               % 计算噪声的平均功率(线性值)

计算结果如下:

Ps = 0.5000
Pn = 0.0049

3.结果分析

SNR=20dB意味着信号功率是噪声功率的100倍,仿真中生成的余弦信号其功率为0.5W,所以加入的噪声功率为0.005W。仿真结果符合理论计算。



http://www.mrgr.cn/news/49058.html

相关文章:

  • 思迅孕婴童重置1001所有权限的语句
  • 麒麟操作系统:解决umount命令卸载USB存储设备时报“device is busy”错误
  • 【实时计算 Flink】DataStream作业大状态导致反压的调优原理与方法
  • C++入门基础知识110—【关于C++嵌套 if 语句】
  • 【Canvas与标牌】立入禁止标牌
  • Elasticsearch-数据索引与查询
  • SQL INNER JOIN:深入解析与实际应用
  • JavaScript可视化:探索顶尖的图表库
  • AI学习指南深度学习篇-变分自编码器在深度学习中的实际应用
  • Promise.resolve()
  • Rhymes AI发布首款开源多模态AI模型Aria 性能超越GPT-4o mini等多家知名AI模型
  • 使用argparse库实现命令行参数解析的实用指南
  • AI学习指南深度学习篇-变分自编码器Python实践
  • 02 线性结构——数组(特性、优缺点、基本使用、可变长的动态数组)
  • 浅析主流监控告警系统基本架构和原理
  • React面试题笔记(一)
  • ACwing题目分享 756
  • 正则表达式的常用示例
  • 泛谈阿里vs美团订单存储架构演进
  • FileZilla的简单使用