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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 23 Nov. 2020

1 Stimme

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

8 Kommentare

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 am 23 Nov. 2020
Bearbeitet: Ameer Hamza am 23 Nov. 2020
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 am 23 Nov. 2020
Bearbeitet: Rehman Tanim am 23 Nov. 2020
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 am 23 Nov. 2020
Bearbeitet: Rehman Tanim am 23 Nov. 2020
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by