matlab中根据信号和信噪比添加高斯白噪声(函数直接使用)
生活随笔
收集整理的這篇文章主要介紹了
matlab中根据信号和信噪比添加高斯白噪声(函数直接使用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
matlab中根據信號和信噪比添加高斯白噪聲:
function [y,noise] = Gnoisegen(x,snr) % Gnoisegen函數是疊加高斯白噪聲到語音信號x中 % [y,noise] = Gnoisegen(x,snr) % x是語音信號,snr是設置的信噪比,單位為dB % y是疊加高斯白噪聲后的帶噪語音,noise是被疊加的噪聲 noise=randn(size(x)); % 用randn函數產生高斯白噪聲 Nx=length(x); % 求出信號x長 signal_power = 1/Nx*sum(x.*x); % 求出信號的平均能量 noise_power=1/Nx*sum(noise.*noise);% 求出噪聲的能量 noise_variance = signal_power / ( 10^(snr/10) ); % 計算出噪聲設定的方差值 noise=sqrt(noise_variance/noise_power)*noise; % 按噪聲的平均能量構成相應的白噪聲 y=x+noise; % 構成帶噪語音總結
以上是生活随笔為你收集整理的matlab中根据信号和信噪比添加高斯白噪声(函数直接使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue及rect面试点(更新中) - 面
- 下一篇: HTML5七夕情人节表白网页(抖音-罗盘