由于是相关运算,需要的点数越多越好,N=Fs*t,t并不适合设置很大,所以尽可能需要提高采样率,采样率并不是满足奈奎斯特采样定理即可,30Hz的信号如果用10k以下的采样率做效果会很差。
clear
close all;
%滤波器初始化
% Cof0=readmatrix('LockIn.xlsx')';
% Cof1=Cof0(:);
% Hd=Cof1(1:1001,1)';
% fir_length=length(Hd);
Log=7;
length=200;
x=1:length;
y(1,1:length)=0;
Resu2(1,Log)=0;
Variance(1,Log)=0;
for index=1:Log
%参数初始化
Fs=10^index; %%抽样频率
Time=1; %%总时间
T=1/Fs; %%抽样周期
N=Fs*Time; %%抽样次数
f=30; %%参考信号频率
t=0:1/Fs:Time-1/Fs;
%%动态图初始化
figure(index)
title(['采样率为',num2str(Fs),'Hz']);
h = animatedline;
axis([0,length,0,5]);
%自定义滤波器
Filter_Order=300; %%滤波器阶数
Fstop=1;