load handel;
s = y(1:20000); % 音声データの最初の20000点を切り出し
N = length(s); % 切り出した音声データの⻑さをNに格納
n = randn(N,1); % N点分の擬似正規白色雑音(平均0,分散1)を生成
x = s + n; % 音声データにノイズを重畳
sound(s, Fs); pause % ノイズなしハレルヤの再生
sound(x, Fs); pause % ノイズに埋もれたハレルヤの再生
x_ave = s*0; % 加算平均結果を格納するx_aveを初期化
M = 10000; % 加算平均回数の指定
for i = 1:M
ni = randn(N,1); % i回目の計測時に重畳するノイズ
xi = s + ni; % i回目の計測データ(信号+雑音)
x_ave = x_ave + xi; % xiをx_aveにM回加算
end
x_ave = x_ave / M; % x_aveをMで割って平均を計算
sound(x_ave, Fs); % 加算平均結果の再生
t= 0:1/1000:1; % fs=1000で時刻データを1秒間生成
x = sin(2*pi*2*t); % 2Hzの正弦波を生成し,xに代入
x(75:78) = x(75:78)+0.005; % xの75~78点目に突発性ノイズ0.005を付加
x(575:578) = x(575:578)+0.002; % 同575~578点目に0.002を付加
fs = 1000;
c = fs/2;
N = length(x);
y = x*0;
for k=2:N-1
y(k) = c*(x(k+1) - x(k-1));
end
y(1) = (-x(1) + x(2))*fs;
y(N) = (-x(N-1) + x(N))*fs;
plot(t,x,'r-', t,y,'b-')