一种传感器的信号分析和滤波器设计

%原始信号
%信号周期:T=10ms;f=100Hz
%干扰信号周期:Tn=0.25ms;fn=4KHz
%
%截止频率Fc=8K
%分辨率:Fd=1Hz
%--------------------------------------
%采样时间:Ts=1/Fd=1s
%采样间隔:delta=1/(2*Fc)=6.25e-5(s)
%采样数:N=2*Fc/Fd=16K
close all;
clear all;
clc;
delta=6.25e-5;
N=16000;
t=0:(delta):(1-(delta));
%原始信号生成
for Ti=0:1:99
    for i=0:1:8
        xIn(Ti*160+i+1)=3;
    end
    for i=9:1:17
        xIn(Ti*160+i+1)=0;
    end
    for i=18:1:79
        xIn(Ti*160+i+1)=1;
    end
    for i=80:1:159
        xIn(Ti*160+i+1)=0;
    end
end
figure;
plot(t(1:160),xIn(1:160),'b');
%原始信号频谱分析
XIn=fft(xIn);
AmpIn = abs(XIn);
AmpIn = AmpIn*2/N;
AmpIn(1)=AmpIn(1)/2;
PhaseIn = angle(XIn);
figure;
subplot(2,1,1);
plot(AmpIn(1:(N/2)));
subplot(2,1,2);
plot(PhaseIn(1:(N/2)));
%----------------------------滤波器设计-----------------------------------
R=3600;
C=2.2e-7;
Tc=R*C;%截止频率
filterInput = tf(1,[Tc,1]);%滤波器传递函数
[SigMid,Tr] = lsim(filterInput,xIn,t);%通过滤波器
%
Rmid=2000;
Cmid=2.2e-7;
filterMid= tf(1,[Rmid*Cmid,1]);
[SigOut,Tr] = lsim(filterMid,SigMid,t);%通过滤波器
figure;
plot(Tr(1:320),SigOut(1:320));
title('滤波器输出');
%输出信号分析
XOut=fft(SigOut);
AmpOut=abs(XOut)*2/N;
AmpOut(1)=AmpOut(1)/2;
PhaseOut = angle(XOut);
figure;
subplot(2,1,1);
plot(AmpOut(1:(N/2)));
subplot(2,1,2);
plot(PhaseOut(1:(N/2)));
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值