How to plot the error between two signals?

I did the filtering of an EEG signal using fir filter then i implement this fiter in c langage. Now i need to plot the error between the to filter but i don't know how to do that. Can anyone help me please.

6 Kommentare

Chad Greene
Chad Greene am 25 Sep. 2017
It's not clear whether your question is about plotting commands or signal processing techniques. Please clarify.
afef
afef am 25 Sep. 2017
I have 2 signals and i want to plot the error between the 2
Walter Roberson
Walter Roberson am 25 Sep. 2017
... and the error has to be plotted in C language ?
How do you define "error" for your purposes ?
afef
afef am 25 Sep. 2017
Bearbeitet: Walter Roberson am 25 Sep. 2017
NO i want to plot this with Matlab . i tried this :
load('C:\Users\del.dell-PC\pfe\base de donnée\patient sans crise\chb23_16_edfm.mat')
deriv1=(val(1,:)-0)/2.559375;
Fs=256;
t1=(0:length(deriv1)-1)/Fs; %valeur du temps de tout échantillon%
d1=designfilt('lowpassfir','PassbandFrequency',0.45,'StopbandFrequency',0.5,'PassbandRipple',3,'StopbandAttenuation',60,'DesignMethod','equiripple');
a = filtfilt(d1,deriv1);
x=[-41.023197 -29.971899 -6.535204 6.053481 .... ];
figure(1),hold on;
plot(deriv1);
plot(a,'LineWidth',1);
hold off;
figure(2),hold on;
plot(deriv1);
plot(x,'LineWidth',1);
hold off;
figure(3),hold on;
plot(a);
plot(x,'LineWidth',1);
hold off;
X are the values of filtered signal with my c code and a the result of filter with Matlab
And i want to know is there a way to plot the error i mean by that the differnce between the two signals.
Walter Roberson
Walter Roberson am 25 Sep. 2017
plot(x-a) ?
afef
afef am 25 Sep. 2017
Ok i will try it .

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KSSV
KSSV am 26 Sep. 2017

0 Stimmen

x = 1:10;
y1 = 2*x;
y2 = 3.5*x;
% error
dy = y2-y1 ;
% Multiple plot commands, with "hold" on
figure
hold on
plot(x,y1,'r');
plot(x,y2,'b');
plot(x,dy,'g');
%
legend('Signal1','Signal2','error')

3 Kommentare

I don't understand this part .Can you explain this to me please?
x = 1:10;
y1 = 2*x;
y2 = 3.5*x;
Walter Roberson
Walter Roberson am 26 Sep. 2017
Bearbeitet: Walter Roberson am 26 Sep. 2017
KSSV needed some data for illustration purposes, so he created a range of x from 1 to 10, and created one line as 2*x and a second line as 3.5 * x. In your actual code you would replaces those three lines with your own data.
afef
afef am 27 Sep. 2017
Ok i understand now.thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

am 25 Sep. 2017

Kommentiert:

am 27 Sep. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by