Matlab编程实例(2) 同期平均

 

%多点同期平均
close all;
clear all;
pi = 3.14159;
Samp2=input('您需要几组信号做同期平均?')
Samp1=1000 %设置采样精度
t = linspace(0,4*pi,Samp1); %创建向量
g=zeros(Samp2,Samp1);
A=10;
p=0;
w=1;
na=1;%噪声放大系数
s=A*sin(w*t+p)%原信号
temp=0;
for m=1:1:Samp2;
g(m,:)=A*sin(w*t+p)+na*randn(1,Samp1);%构造二位矩阵,每行为一加了噪声的信号
end;
for n=1:1:Samp1; 
    temp=0;
    for k=1:1:Samp2;%将每一列求和
    temp=temp+g(k,n);
    end;
y(n)=temp/Samp2;%同期平均,将一列求平均数
end;
subplot(3,1,1);plot(t,s,'r');
title('原信号');
subplot(3,1,2);plot(t,g(1,:),'b');%画出第一行
title('叠加白噪声后信号');
subplot(3,1,3);plot(t,y,'k');
title('同期平均后信号');
 
 
10组同期平均后
 
1000组同期平均后
原文地址:https://www.cnblogs.com/zhangzhifeng/p/5332582.html