Cascade filters and amplify

8 ビュー (過去 30 日間)
David Jones
David Jones 2021 年 6 月 24 日
コメント済み: Mathieu NOE 2021 年 6 月 25 日
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

採用された回答

Mathieu NOE
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 件のコメント
David Jones
David Jones 2021 年 6 月 25 日
Thanks for all your great help Mathieu
Mathieu NOE
Mathieu NOE 2021 年 6 月 25 日
My pleasure

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAnalog Filters についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by