matlab如何新增自定義訊雜比的噪聲訊號

2021-03-27 05:29:06 字數 2520 閱讀 3013

1樓:會飛的小兔子

clear all;

close all;

x=0:0.2:10;

data1=sin(x);

plot(x,data1);

hold on;

data2=awgn(data1,10*log10(0.05));

plot(x,data2,'r-');

hold off;

擴充套件資料

matlab新增白噪聲疊加到訊號:

function [y,noise] = noisegen(x,snr)

% noisegen add white gaussian noise to a signal.

% [y, noise] = noisegen(x,snr) adds white gaussian noise to x.  the snr is in db.

noise=randn(size(x));

noise=noise-mean(noise);

signal_power = 1/length(x)*sum(x.*x);

noise_variance = signal_power / ( 10^(snr/10) );

noise=sqrt(noise_variance)/std(noise)*noise;

y=x+noise;

其中x是純訊號,snr是要求的訊雜比,y是帶噪訊號,noise是疊加在訊號上的噪聲。

2樓:匿名使用者

對漢明編碼不太瞭解,不過你的**裡for迴圈中沒有地方體現了訊雜比snr,從計算到畫圖全都是一樣的過程。我的理解是code+randn(m,n)*f(snr)---這裡落下了跟snr有關的幅度?

另外code+randn(m,n)>0.95得到的是一個0-1矩陣,rem(*,2)似乎也沒有特別的意義吧?

3樓:匿名使用者

matlab我接觸不多,不好意思。

matlab中如何給訊號加訊雜比可變的瑞利分佈噪聲?有沒有類似awgn的函式?

如何在matlab裡面向訊號裡面加入白噪聲?

4樓:go風影

y=awgn(x,snr),加性高斯白du噪函式,x原訊號,zhisnr是訊雜比,不知道你dao這個2%是能量

專還是幅屬值,如果是能量的話,snr=10*log(100/2);如果是幅值,snr=20*log(100/2);

**如下:

clc; clear ;

t=0:0.01:1;

y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);

snr=10*log(100/2); % 2%是能量比x=awgn(y1,snr);

subplot(211), plot(t,y1);

title('原訊號');

% 加入噪聲後有毛刺,但2%的噪聲有點小,毛刺不明顯。

subplot(212), plot(t,x);

title('加高斯白噪訊號');

5樓:匿名使用者

在matlab中無論是wgn還是baiawgn函式,實質du都是由randn函式產生

zhi的噪聲。即,wgn函式中調

dao用了randn函式,而版awgn函式中呼叫了wgn函式。

權根據awgn的實現**可以知道「向已知訊號新增某個訊雜比(snr)的高斯白噪聲」,

即:awgn(x,snr,』measured』,'linear』),命令的作用是對原訊號x新增訊雜比(比值)為snr的噪聲,在新增之前先估計訊號x的強度。

直接對原始訊號新增噪聲:

y=x+rand(length(x),1)y=x+randn(length(x),1))

6樓:匿名使用者

t=0:0.001:1;

y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);

temp=y1+0.02*y1.*rand(size(y1));

plot(t,y1,t,temp,'r')

7樓:日向淳正

l=length(y1);

noise=rand(1,l); %生成跟你的訊號一樣長度的白噪聲.

y=y1+noise; %加入白噪聲

matlab中如何給我的一段訊號加高斯白噪聲

8樓:匿名使用者

你這個是訊號波形資料嗎? 加噪聲一般是對模擬訊號加噪聲matlab有一個函式很方便加入高斯白噪聲x是訊號序列, y = awgn(x,snr) 在訊號x中加入高斯白噪聲,訊雜比snr以db為單位。x的強度假定為0dbw。

比如:x = sqrt(2)*sin(0:pi/8:6*pi);

y = awgn(x,10);

plot(x,'b');hold on; plot(y,'r')

jquery如何自定義函式,matlab 如何建立 呼叫自定義函式?

function document ready function matlab 如何建立 呼叫自定義函式?新建一個m檔案 在m檔案裡面第一行輸入function x,y pll x1,y1,x2,y2 這裡x1 x2 y1 y2是你函式的輸入值,x y是輸出值,接著定義你要實現的功能,比如 x x1...

js如何呼叫自定義函式,matlab 如何建立 呼叫自定義函式?

自定義函式就是說自己寫的函式,只有自己呼叫,或是自己共享給別人後別人才可以呼叫的。也可以理解為私有函式。function a 定義一個函式,名字是a。函式呼叫,就是讓函式執行。a 函式名字後面加一對小括號就可以執行了,頁面中將彈出一個 1 這個對話方塊必須要用模擬的那種 用div做一個對話方塊,網上...

matlab怎麼建立自定義函式,matlab 如何建立 呼叫自定義函式?

matlab中定義函式的方式有以下幾種 1 函式檔案 呼叫函式檔案 定義多個m檔案。呼叫函式檔案 myfile.m clear clcfor x 1 10 y mylfg x end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylf...