生成一个正弦信号,设置x的域分别是a1=0:1/100:2*pi;
生成一个指数信号,设置x的域分别是b1=0:1/100:1;
f= @(x) sin(x); % 定义函数f(x)
t= @(i) i.^2; % 定义函数t(i)
x1 = 0:1/100:2*pi; %生成离散点
i1 = 0:1/100:1; %生成离散点
f1=f(x1);
t1=t(i1);
求上述信号的均值;
sin_mean=mean(f1); %求sin函数的均值
sin_var=var(f1); %求sin函数的方差
e_mean=mean(t1);
e_var=var(t1);
添加白噪声,并求噪声后的均值方差:
F_Noise = f(x1) + rand(size(x1)).*f(x1);%添加均匀分布噪声
sin_rand_mean=mean(F_Noise)
sin_rand_var=var(F_Noise)
F_Noise1 = f(x1) + randn(size(x1)).*f(x1);%添加正态分布噪声
sin_randn_mean=mean(F_Noise1)
sin_randn_var=var(F_Noise1)
t_Noise = t(i1) + (2*rand(size(i1))-1).*t(i1);%添加均匀分布噪声
r_rand_mean=mean(t_Noise)
r_rand_var=var(t_Noise)
t_Noise1= t(i1) + randn(size(i1)).*t(i1);%添加正态分布噪声
r_randn_mean=mean(t_Noise1)
r_randn_var=var(t_Noise1)
让其中一个加噪信号通过RC系统去除噪声,修改系统传递函数参数来获得更好的滤波效果
a=[1]; %分子的系数
b=[2,1]; %分母的系数
sys=tf(a,b); %生成 RC 系统的传递函数
k=lsim(sys,F_Noise1,x1); %求出系统在特定输入的情况下的输出
显示上述图像,
plot(X,Y)
创建 Y
中数据对 X
中对应值的二维线图。
subplot函数:
subplot(m,n,p)或者subplot(m n p)。
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
subplot函数详解加例子 链接:https://blog.csdn.net/liyuqian199695/article/details/50143945
figure(1);
subplot(421);plot(x1,f1);title('正弦函数');
subplot(422);plot(x1,noise1);title('白噪声信号');
subplot(423);plot(x1,F_Noise);title('加上相对误差水平为1的均匀分布噪声的正弦函数')
subplot(424);plot(x1,F_Noise1);title('加上相对误差水平为1的正态分布噪声的正弦函数')
subplot(425);autocorr(f1);xlabel('滞后阶数lag');ylabel('数据值');title('正弦信号的自相关函数ACF图')
subplot(426);autocorr(noise);xlabel('滞后阶数lag');ylabel('数据值');title('白噪声信号的自相关函数ACF图')
subplot(427);plot(k);xlabel('输出样本数');ylabel('幅度'); title('加正态分布白噪的正弦信号通过rc系统后输出信号')