Cascade filters and amplify
8 ビュー (過去 30 日間)
古いコメントを表示
Hi
I don’t have much experience in MATLAB but I have a circuit that amplifies low frequency breathing it consists of four op-amps each amplify by 10 and each have a second order bandpass set to .1Hz to .4Hz.
I have now used one op-amp as above and a 24bit ADC sampling at 100Hz and my number of samples is 6000 (60 Seconds of data)
I have managed to bring the data in to MATLAB (please see attached) but I am struggling to implement the filters and gain could somebody please assist me.
Many thanks in anticipation
Kind Regards
David
0 件のコメント
採用された回答
Mathieu NOE
2021 年 6 月 24 日
Here you are my friend
the demo is done on a second order bandpass Butterworth filter ; you ca simply increase the order to match was was done in your analog filters
hope it helps
all the best ,
clearvars
load('Raw_Data.mat');
Fs = sample_rate;
samples = number_of_samples;
x = raw_ad_data_sine;
dt = 1/Fs;
t = (0:samples-1)'*dt;
% IIr filter : bandpass butterworth
order = 2;
[numd,dend] = butter(order,2/Fs*[0.1 0.4]);
figure(1)
dbode(numd,dend,dt); % bode plot
y = filtfilt(numd,dend,x); % Zero-phase forward and reverse digital IIR filtering.
figure(2) % time plot
plot(t,x,t,y);
legend('input signal','output signal');
4 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Analog Filters についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!