Matlab Script that I can add a Gaussian Noise to a Discrete Wavelet Transform processed fault signal
Mostrar comentarios más antiguos
Please does any one has a matlab script where I can add a Gausssian Noise to a Discrete Wavelete Transform processed fault signal. This will mimic a lightning disturbance and switching disturbance during fault connditions and normal steady state. Forf the protective relay to distinguish between this lightning disturbance and fault conditions
Respuesta aceptada
Más respuestas (1)
John Amoo-Otoo
el 21 de Sept. de 2022
0 votos
5 comentarios
William Rose
el 22 de Sept. de 2022
I downloaded the m file and data file which you posted. I see that the m file is a function, not a script. It is not runnable on its own. Can you provide a script that calls this funciton, to help me understand it? Thank you.
Question 1. Why do you want to add Gaussian noise to the signal? I am asking because you asked "where will the Gaussian Noise fit", and the answer depends on what your goal is. If you want to test the ability of an algorithm to distinguish lightning versus some other fault, when the signal is noisy, then add the noise to the signals before you process them. If you have a downstream algorithm (after the DWT) which you want to evaluate, then maybe you woudl add noise after the DWT. Therefore please explain in more detail whay you want to add noise to a signal.
Quesiton 2a, 2b. The DWT function which you posted (which appears to have been written by a third party) says
% The signals in x are divided into multiple windows of size
% "winsize" and the windows are spaced "wininc" apart.
You must specify values for winsize and wininc when calling the function. Q.2a. What values do you plan to use for winsize and for wininc? Q.2b. What do you plan to do with the output from this function?
-------------
I examined the data in the file you sent, by doing the following:
clear
data=load('John_FaultData112km0ohm');
t1=table2array(data.DataPP112km0hmsFaultData(:,1));
x1=table2array(data.DataPP112km0hmsFaultData(:,2));
t2=table2array(data.SteadyStateNoneFaultState(1:end-1,1));
x2=table2array(data.SteadyStateNoneFaultState(1:end-1,2));
%Skip the last row of t2, x2, due to NaNs in that row
figure;
subplot(121); plot(t1,x1,'-r.');
xlabel('Time'); ylabel('Amplitude'); title('Transient 1'); grid on
subplot(122); plot(t2,x2,'-r.');
xlabel('Time'); ylabel('Amplitude'); title('Transient 2'); grid on
The data file includes two recordings. Record 1 is 0.7 seconds long. Record 2 is 30 seconds long. Each record shows a single transient event. Transient 1 occurs 0.2 seconds into the record. Transient 2 occurs at the start of record 2. Transient 1 recovers about 90% of the way to the pre-transient value. Transient 2 never recovers - it is a step change.
The transients differ in amplitude by a factor of 10^5. Therefore a simple threshold detector would easily distinguish the two. The non-return-to-baseline of transient 2 is another distinguishing feaure.
John Amoo-Otoo
el 24 de Sept. de 2022
John Amoo-Otoo
el 24 de Sept. de 2022
John Amoo-Otoo
el 24 de Sept. de 2022
Editada: John Amoo-Otoo
el 24 de Sept. de 2022
Categorías
Más información sobre Wavelet Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
