and is one of the variables in that .mat file. You have to substitute your own signal, apparently ‘ChannelFirst’, for ‘openLoop’.
Question
Using code from Remove the 60 Hz Hum from a Signal. srate = input ('Enter SAMPLE RATE for this subject(check log book!): '); ChannelFirst = data.ECG; Fs=srate; t =( 0:length(data.ECG)-1)/fs; plot(t,data.ECG); ylabel 'Voltage (V)', xlabel 'Time (s)' title 'Open-Loop Voltage with 60 Hz Noise' d = designfilt('bandstopiir','FilterOrder',2, ... 'HalfPowerFrequency1',59,'HalfPowerFrequency2',61, ... 'DesignMethod','butter','SampleRate',Fs); fvtool(d,'Fs',Fs) ; buttLoop = filtfilt(d,openLoop); ERROR THIS LINE =========================== figure (2); plot(t,data.ECG,t,buttLoop); ylabel 'Voltage (V)', xlabel 'Time (s)'; title 'Open-Loop Voltage', legend('Unfiltered','Filtered'); [popen,fopen] = periodogram(data.ECG,[],[],Fs); [pbutt,fbutt] = periodogram(buttLoop,[],[],Fs); plot(fopen,20*log10(abs(popen)),fbutt,20*log10(abs(pbutt)),'--') ylabel 'Power/frequency (dB/Hz)', xlabel 'Frequency (Hz)' title 'Power Spectrum', legend('Unfiltered','Filtered') ERROR MESSAGE: Error in HRcodetest (line 120) buttLoop = filtfilt(d,openLoop);
Related Questions
Expert Answer
Kshitij Singh
PhD Expert
Answered Aug 13, 2026
Looking at the documentation in the link, ‘openLoop’ is loaded in this line:
load openloop60hertz, openLoop = openLoopVoltage;
Have a different question? Ask here