我是靠谱客的博主 标致茉莉,最近开发中收集的这篇文章主要介绍信噪比(一些概念,公式推导,实验分析),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章解释了几个简单的信噪比公式并给出了相关推导和实验分析

Signal-to-noise ratio 概念

信噪比定义为信号能量与噪声能量的比值:
SNR=PsignalPnoise
P是一个平均能量,信号与噪声的能量必须在同一个系统下测量,且保证一定的系统带宽.

如果信号和噪声的方差已知,且信号是0均值。
SNR=σ2signalσ2noise.

如果信号和噪声时在同一条件下测得,那么也可以通过计算幅值平方比值获得信噪比
SNR=PsignalPnoise=(AsignalAnoise)2,

推导

Psignal,dB=10log10(Psignal)

Pnoise,dB=10log10(Pnoise).

SNRdB=10log10(SNR).

SNRdB=10log10(PsignalPnoise).

10log10(PsignalPnoise)=10log10(Psignal)10log10(Pnoise).

SNRdB=Psignal,dBPnoise,dB.

SNRdB=10log10(AsignalAnoise)2=20log10(AsignalAnoise)=(Asignal,dBAnoise,dB).

实验分析

通过信号输入,加噪,观察加噪时sigma选择的准确性,以及信号能量,噪声信号能量,顺便验证帕塞瓦尔能量定律。

nois = sqrt(sigma)*randn(size(s));
sn = s+nois;
temps = sum(s.^2)/2^N;
tempsn = sum(sn.^2)/2^N;
display(sigma);
tempvs = var(s')
tempvsn = var(sn')
tempd = tempsn-temps
tempfs = fft(s);
tempfsn = fft(sn);
tempfsf = sum(abs(tempfs./2^N).^2)
tempfsnf  =sum(abs(tempfsn./2^N).^2)
tempdf  = tempfsnf - tempfsf

代码说明:s为输入信号(随意选择),sn为带噪信号,平台为matlab 2015a,这里的sigma实则为 σ2

结果展示:

sigma =

    0.1000


tempd =

    0.0971


tempfsf =

    0.9990


tempfsnf =

    1.0961


tempdf =

    0.0971

K>> tempvs = var(s')%验证用方差计算能量的正确性
tempvsn = var(sn')

tempvs =

    1.0000


tempvsn =

    1.0972

证毕

讲究匠心,追求卓越!

最后

以上就是标致茉莉为你收集整理的信噪比(一些概念,公式推导,实验分析)的全部内容,希望文章能够帮你解决信噪比(一些概念,公式推导,实验分析)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部