notch filter to remove 50Hz fundamental frequency and its second (100 Hz) and third (150Hz) harmonics. with using filter(),
조회 수: 28 (최근 30일)
이전 댓글 표시
My code is down below I get the error like this Not enough input arguments. Error in ecg (line 22 ) d = round(d0 * L / d0(15)); % Scale them to fit in length L.
How can I fix this please help me
lz
oad ecg.mat; % Load noisy ECG recording
%Bandpass filter
fs = 500; % Sampling rate
T = 1/500; % Sampling interval
b1 =[0.9765 -1.5800 0.9765]; %Notch filter with a notch frequency of 50 Hz
a1 =[1.0000 -1.5774 0.9504];
b2 =[0.9753 -0.6028 0.9753]; % Notch filter with a notch frequency 100 Hz
a2 =[1.0000 -0.6025 0.9504];
b3 =[0.9751 0.6027 0.9751]; % Notch filter with a notch frequency of 150 Hz
a3 =[1.0000 0.6025 0.9504];
y1 = filter(b1,a1,ecg); % First section filtering
y2 = filter(b2,a2,y1); % Second section filtering
y3 = filter(b3,a3,y2); % Third section filtering
댓글 수: 0
답변 (2개)
Daniel M
2019년 12월 11일
편집: Daniel M
2019년 12월 11일
'ecg' is the name of a function in the example:
MATLAB/Examples/R2019a/dsp/FindHeartRateUsingPeakFinderPanelWithECGInputSignalExample/ecg.m
If 'ecg.mat' is also the name of a file of yours, I suggest loading it in as follows:
data = load('ecg.mat');
ecg = data.ecg; % if the name of the variable actually IS ecg
Otherwise, I have not looked at the code you're using to create filters. Let me know if there are problems with that and I'll take a closer look.
댓글 수: 2
Sabbir Ahmed
2022년 8월 25일
Hi, May I know how you got the notch filter's coefficient for different noise section?
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Single-Rate Filters에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!