总线上的音频设备
⽂章⽬录
%****************************************************************************************
%
%创建两个信号Mix_Signal_1 和信号 Mix_Signal_2
%
坐式安全带
%***************************************************************************************
Fs =1000;%采样率
N =1000;%采样点数
n =0:N -1;
t =0:1/ Fs:1-1/ Fs;%时间序列
Signal_Original_1 =sin(2* pi *10* t)+sin(2* pi *20* t)+sin(2* pi *30* t);
Noise_White_1 =[0.3*randn(1,500),rand(1,500)];%前500点⾼斯分部⽩噪声,后500点均匀分布⽩噪声 Mix_Signal_1 = Signal_Original_1 + Noise_White_1;%构造的混合信号
Signal_Original_2 =[zeros(1,100),20*ones(1,20),-2*ones(1,30),5*ones(1,80),-5*ones(1,30),9*ones(1,140),-4*ones(1,40),3*ones(1,220), 12*ones(1,100),5*ones(1,20),25*ones(1,30),7*ones(1,190)];
Noise_White_2 =0.5*randn(1,1000);%⾼斯⽩噪声
Mix_Signal_2 = Signal_Original_2 + Noise_White_2;%构造的混合信号
传统滤波
Butterworth滤波
巴特沃斯滤波器适合⽤于信号和噪声没有重叠的情况下。
%****************************************************************************************
%
%信号Mix_Signal_1 和 Mix_Signal_2 分别作巴特沃斯低通滤波。% %***************************************************************************************
%混合信号 Mix_Signal_1 巴特沃斯低通滤波
figure(1);
Wc=2*50/Fs;%截⽌频率50Hz
[b,a]=butter(4,Wc);
Signal_Filter=filter(b,a,Mix_Signal_1);
subplot(4,1,1);%Mix_Signal_1 原始信号
plot(Mix_Signal_1);
axis([0,1000,-4,4]);
title('原始信号1 ');
subplot(4,1,2);%Mix_Signal_1 低通滤波滤波后信号plot(Signal_Filter);
axis([0,1000,-4,4]);
title('巴特沃斯低通滤波后信号1');
%混合信号 Mix_Signal_2 巴特沃斯低通滤波quantumas
Wc=2*100/Fs;%截⽌频率100Hz
[b,a]=butter(4,Wc);
Signal_Filter=filter(b,a,Mix_Signal_2);
subplot(4,1,3);%Mix_Signal_2 原始信号
plot(Mix_Signal_2);
axis([0,1000,-10,30]);
title('原始信号2 ');
subplot(4,1,4);%Mix_Signal_2 低通滤波滤波后信号plot(Signal_Filter);
axis([0,1000,-10,30]);
title('巴特沃斯低通滤波后信号2');
下图是巴特沃斯对两个信号的滤波效果。
从图上可以看出巴特沃斯低通滤波器对信号⼀的滤波效果还是可以的,主要是因为有效的信号最⾼频率才30Hz,本程序将50Hz以上的信号全部滤除,通过的频率成分中仍然是有⽩噪声的。
对于信号⼆,滤波后的信号与没有加噪声的信号相⽐就有失真了,上升沿和下降沿的⾼频信号被滤除了。 FIR
情况同巴特沃斯低通滤波器相似。
%****************************************************************************************
%
%信号Mix_Signal_1 和 Mix_Signal_2 分别作FIR低通滤波。
巴特沃斯滤波器%
%***************************************************************************************
%混合信号 Mix_Signal_1 FIR低通滤波led驱动电路
figure(2);
F =0:0.05:0.95;
A =[11000000000000000000];
b =firls(20,F,A);
Signal_Filter =filter(b,1,Mix_Signal_1);
subplot(4,1,1);%Mix_Signal_1 原始信号
plot(Mix_Signal_1);
axis([0,1000,-4,4]);
title('原始信号1 ');
subplot(4,1,2);%Mix_Signal_1 FIR低通滤波滤波后信号plot(Signal_Filter);
axis([0,1000,-5,5]);
title('FIR低通滤波后的信号1');
%混合信号 Mix_Signal_2 FIR低通滤波
F =0:0.05:0.95;
A =[11111000000000000000];
syk-214
b =firls(20,F,A);
Signal_Filter =filter(b,1,Mix_Signal_2);
subplot(4,1,3);%Mix_Signal_2 原始信号
plot(Mix_Signal_2);
axis([0,1000,-10,30]);
title('原始信号2 ');
subplot(4,1,4);%Mix_Signal_2 FIR低通滤波滤波后信号plot(Signal_Filter);
axis([0,1000,-10,30]);
title('FIR低通滤波后的信号2');
滤波后的效果如下:
移动平均滤波
移动平均的思路是将离散点附近的点取平均从⽽实现平滑化。但这种粗糙的平均,对于变换较为平缓的信号进⾏趋势预测⾮常有益。