matlab 工具函数(一) —— 添加指定 SNR 的噪声

摘要:
SNR=PsignalPnoise=10log10∑x=1Nx∑y=1Nyf2(x,y)∑x=1Nx∑y=1Ny2=20log10∥f(x,y)∥∥f^(x,y)f(x,y)∥=20log10∥f(x,y)∥∥noise∥根据信噪比的值,是可以推知noise的:∥noise∥=∥f(x,y)∥10SNR/20这里的f(x,y)f^(x,y)其实就可以视为噪声;注意区别,噪声和含噪信号;noisy=original+noise;fucntion[noisy,noise]=addnoise%signal:表示无噪图像,noise:噪声,snr,指定的SNR值;%定义信噪比计算函数SNR=@20*log10;S=length;N=length;assert;R=randi;noise=noise;noise=noise/norm*norm*10^;%上文给出的计算公式;noisy=noise+signal;assert;

SNR=PsignalPnoise=10log10x=1Nxy=1Nyf2(x,y)x=1Nxy=1Ny(f(x,y)f^(x,y))2=20log10f(x,y)f^(x,y)f(x,y)=20log10f(x,y)noise

根据信噪比(SNR)的值,是可以推知 noise 的:

noise=f(x,y)10SNR/20
  • 这里的 f(x,y)f^(x,y) 其实就可以视为噪声;
    • 注意区别,噪声和含噪信号;
    • noisy = original + noise;
fucntion [noisy, noise] = addnoise(signal, noise, snr)
% signal:表示无噪图像,noise:噪声,snr,指定的 SNR 值;

% 定义信噪比计算函数
SNR = @(signal, noisy) 20*log10(norm(signal)/norm(signal-noisy));

S = length(signal); N = length(noise);
assert(N >= S);

R = randi(1+N-S);
noise = noise(R:R+S-1);

noise = noise / norm(noise) * norm(signal) * 10^(0.05*snr);
        % 上文给出的计算公式;
noisy = noise + signal;

assert(abs(SNR(signal, noisy)) < 1e10*eps);

免责声明:文章转载自《matlab 工具函数(一) —— 添加指定 SNR 的噪声》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇c# Julian day 儒略日计算公式gson 生成的json字符串带u003c,u003d,u003e的解决方案(gson将实体类转json)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CentOS terminal 安装 matlab(mode=silent)

1. 下载matlab for Unix 2014 ,需要crack文件 2. 挂载iso文件, mount -o loop,ro Mathworks.Matlab.R2014a.iso /media 3. 将crack中的install.jar 覆盖/media/java/jar下面的install.jar,这步骤必须正确完成 sudo cp Crack...

Simscape Multibody 教程 —— 入门学习

转载请注明出处,谢谢原创作者:MingruiYU原创链接:https://www.cnblogs.com/MingruiYu/p/12305851.html 本文要点: Simscape Multibody 简介 Simscape Multibody 入门学习的推荐学习材料和学习顺序 建模仿真过程中的重要知识 模型的参数设置(Model Worksp...

matlab读取cvs文件的几种方法

matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1、M = csvread('filename')2、M = csvread('filename', row, col)3、M = csvread('filename', row, col, range) 第一种方法中,直接输入文件名,将数据读...

libevent源码学习(8):event_signal_map解析

目录event_signal_map结构体向event_signal_map中添加event激活event_signal_map中的event删除event_signal_map中的event以下源码均基于libevent-2.0.21-stable。       在前文中分析了event_io_map,在windows环境下event_io_map定义为...

(matlab)plot画图的颜色线型

(matlab)plot画图的颜色线型 y黄色·点线m粉红○ 圈线c亮蓝 × ×线r大红 + +字线g绿色 -实线b蓝色 *星形线w白色 : 虚线k黑色 -.-- 点划线matlab6.1线形:[ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagra...

Matlab/Simulink仿真中如何将Scope转化为Figure?

1.只需要在运行仿真后,在命令窗口内输入: set(0,'ShowHiddenHandle','on'); set(gcf,'menubar','figure'); scope最上方会出现一个菜单栏,选择Tools->Edit Plot,即可修改图像所有属性。 2.双击Scope->Parameters->Data History...