python测量信号信噪比

功能:测量信号信噪比
输入S为纯信号,是一个numpy的1D张量
输入SN为带噪信号,是一个numpy的1D张量
输出snr为信噪比,单位为dB,是一个32为的float数
调用格式{snr=SNR_singlech(S,SN)}

def SNR_singlech(S, SN):S = S-np.mean(S)# 消除直流分量S = S/np.max(np.abs(S))#幅值归一化mean_S = (np.sum(S))/(len(S))#纯信号的平均值PS = np.sum((S-mean_S)*(S-mean_S))PN = np.sum((S-SN)*(S-SN))snr=10*math.log((PS/PN), 10)return(snr)

运行:
验证数据来自:python实现给定信号生成任意信噪比的带噪声信号https://blog.csdn.net/weixin_43545253/article/details/113721360

import numpy as np
import math
def SNR_singlech(S, SN):S = S-np.mean(S)# 消除直流分量S = S/np.max(np.abs(S))#幅值归一化mean_S = (np.sum(S))/(len(S))#纯信号的平均值PS = np.sum((S-mean_S)*(S-mean_S))PN = np.sum((S-SN)*(S-SN))snr=10*math.log((PS/PN), 10)return(snr)
S = np.array([1.,2.,3.,4.])
SN = np.array([-2.49164413, -2.36641841, 0.65279453, 0.2471447])
snr = SNR_singlech(S, SN)
# snr = np.round(snr)#四舍五入
print('snr=', snr)

结果:

snr= -5.0000000056726615

参考:《MATLAB在语音信号分析与合成中的应用》

python测量信号信噪比相关推荐

  1. python opencv 峰值信噪比

    用Python计算两图像的峰值信噪比PSNR 图像信噪比是用于评估图像超分结果的指标 def psnr(img1, img2):mse = np.mean( (img1/255. - img2/255 ...

  2. 【图像处理】——图像质量评价指标信噪比(PSNR)和结构相似性(SSIM)(含原理和Python代码)

    目录 一.信噪比(PSNR) 1.信噪比的原理与计算公式 2.Python常规代码实现PSNR计算 3.TensorFlow实现PSNR计算 4.skimage实现PSNR计算 5.三种方法计算的结果 ...

  3. python实现给定信号生成任意信噪比的带噪声信号

    python实现给定信号生成任意信噪比的带噪声信号 产生叠加高斯白噪声的带噪语音 功能: 输入x为需加噪的信号,是一个numpy的1D张量 输入snr为设定信噪比,单位为dB,是一个32为的float ...

  4. PSNR-峰值信噪比(原理及Python代码实现)

    本文链接:https://blog.csdn.net/leviopku/article/details/84586446 PSNR的全称为"Peak Signal-to-Noise Rati ...

  5. python求不同分辨率图像的峰值信噪比,一文搞懂

    可以使用 Python 的 NumPy 和 OpenCV 库来实现这个任务.提前准备一张图片作为素材. 文章目录 什么是峰值信噪比 PSNR 峰值信噪比补充说明 使用 OpenCV 库来实现这个任务 ...

  6. Python 不同分辨率图像峰值信噪比[PSNR]

    PNNR:全称为"Peak Signal-to-Noise Ratio",中文直译为峰值信噪比 前言 一.定义 二.Python代码 1.自定义 2.Tensorflow 总结 前 ...

  7. python求不同分辨率图像的峰值信噪比

    要计算不同分辨率图像的峰值信噪比(PSNR),可以使用Python中的OpenCV库. 下面是一个简单的示例代码,演示如何使用OpenCV计算两张图像之间的PSNR值: import cv2 # 读取 ...

  8. (python)计算图像峰值信噪比-PSNR、结构相似度-SSIM

    计算峰值信噪比-PSNR和结构相似度-SSIM(python实现) 说明: PSNR(Peak Signal to Noise Ratio),取值范围为:[0,100],PSNR值越大两张图片越相似, ...

  9. python语音计算信噪比

    import numpy as np import librosa#计算信噪比 def SNR_singlech(clean_file, original_file):clean, clean_fs ...

最新文章

  1. 解析gui-config.json出差_LUA解析json小demo
  2. php todo和其他备注,Vim中列出TODO与FIXME等备注的方法
  3. linux挂载和卸载
  4. UIAlertView的使用方法
  5. MFC和c#中模拟对另一进程的窗口按钮点击
  6. 【zabbix个性化监控之一】TCP连接数
  7. Redhat5下haproxy+keepalived+nginx配置笔记
  8. 吴裕雄--天生自然 JAVASCRIPT开发学习:弹窗
  9. 「雕爷学编程」Arduino动手做(32)——雨滴传感器模块
  10. 有效集法(Active Set),内点法(Interior-Point)及序列二次规划(SQP)法
  11. 雷达传感器应用,微波雷达感应模块,物联网传感技术发展
  12. H3CNE中单臂路由实验
  13. C:\ProgramData\Microsoft\VisualStudio创建软连接,腾出C盘空间
  14. linux网卡连接失败设备无法激活
  15. YAML详解 是什么
  16. 《锋迷商城》——首页:轮播图
  17. 今日头条适配方案_ 今日头条大改版,小程序强势登场
  18. 转载_纯Java代码批量去除图片文字水印
  19. acer计算机的无线功能键,Acer笔记本Fn组合键功能说明
  20. 大端与小端字节数据详解

热门文章

  1. POJ1260-Pearls
  2. java 数字与金额_java 数字金额转换中文金额
  3. pinfinder开源下载_BayesianNetworktool
  4. c语言3×3行列互换_戴尔推出UltraSharp U4021QW显示器 采用雷电3接口和5K×2K曲面屏...
  5. 客户和顾客是一个意思吗_“啤酒度数”和“啤酒酒精度”一个意思吗?
  6. python从指定文件夹导入模块_Python实现的在特定目录下导入模块功能分析
  7. 国潮手绘海报素材,传统与现代碰撞之美
  8. UI设计|搭配色彩素材专辑,轻松掌握要点
  9. oppo手机显示andrOid什么意思,OPPO R17 Pro手机状态栏图标分别代表什么意思?
  10. python 线程通信 会涉及到拷贝吗_Python如何实现线程间通信