Undefined function 'ecg' for input arguments of type 'double'.

x1 = 3.5*ecg(2700).'; % gen synth ECG signal // Error in this line
y1 = sgolayfilt(kron(ones(1,ceil(NumSamp/2700)+1),x1),0,21); % repeat for NumSamp length and smooth
n = 1:Time*Fs';
del = round(2700*rand(1)); % pick a random offset
mhb = y1(n + del)'; %construct the ecg signal from some offset
t = 1/Fs:1/Fs:Time';
subplot(3,3,1); plot(t,mhb);
axis([0 2 -4 4]);
grid;
xlabel('Time [sec]');
ylabel('Voltage [mV]');
title('Maternal Heartbeat Signal');
IN THE BOLD LINE IT SHOWS THIS ERROR ,IT WOULD BE A GREAT HELP FOR ME.
PLEASE HELP

댓글 수: 5

Is there any variable on the name ecg?
Fs = 4e3;
Time = 40;
NumSamp = Time * Fs;
load Hd;
x1 = 3.5*ecg(2700).'; % gen synth ECG signal // Error in this line
y1 = sgolayfilt(kron(ones(1,ceil(NumSamp/2700)+1),x1),0,21); % repeat for NumSamp length and smooth
n = 1:Time*Fs';
del = round(2700*rand(1)); % pick a random offset
mhb = y1(n + del)'; %construct the ecg signal from some offset
t = 1/Fs:1/Fs:Time';
subplot(3,3,1); plot(t,mhb);
axis([0 2 -4 4]);
grid;
xlabel('Time [sec]');
ylabel('Voltage [mV]');
title('Maternal Heartbeat Signal');
this is the code
i exactly dont know about ECG function
What does this file have?
load Hd;
Check does it have a variable ECG. See what
whos
gives. Does it have ECg variable.
load Hd;
>> whos
Name Size Bytes Class Attributes
Hd 1x1 dfilt.df2sos
i think no

댓글을 달려면 로그인하십시오.

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 11월 23일

1 개 추천

ecg() is not a MATLAB's built-in function. You need to ask the author of the code to give you this function.

댓글 수: 8

Thanks for replying
i got the code from this link:
https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/35328/versions/1/previews/mom_and_fetus.m/index.html
Ameer Hamza
Ameer Hamza 2020년 11월 23일
편집: Ameer Hamza 2020년 11월 23일
It is from this FEX package: https://www.mathworks.com/matlabcentral/fileexchange/35328-simulink-model-for-fetal-ecg-extraction-hdl-compatible-algorithm. You may contact its author to get the file for this function.
Rehman Tanim
Rehman Tanim 2020년 11월 23일
편집: Rehman Tanim 2020년 11월 23일
Thanks for replying
i got this from the comment section :
%ECG Function file
function x = ecg(L)
a0 = [0, 1, 40, 1, 0, -34, 118, -99, 0, 2, 21, 2, 0, 0, 0];
d0 = [0, 27, 59, 91, 131, 141, 163, 185, 195, 275, 307, 339, 357, 390, 440];
a = a0 / max(a0);
d = round(d0 * L / d0(15));
d(15) = L;
for i = 1:14
m = d(i) : d(i+1) - 1;
slope = (a(i+1) - a(i)) / (d(i+1) - d(i));
x(m+1) = a(i) + slope * (m - d(i));
end
end
if yes,how can i use this?
Rehman Tanim
Rehman Tanim 2020년 11월 23일
편집: Rehman Tanim 2020년 11월 23일
yeah got it ,i added this at the end of the code,now it runs
thanks for helping
I am glad to be of help!!!
Rehman, can you please click the link to "Accept this answer" to give Ameer credit (reputation points) for helping you? Thanks in advance.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2020년 11월 23일

댓글:

2020년 11월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by