How can i filter an EEG signal?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Aparna Gupta
 el 8 de Jul. de 2017
  
    
    
    
    
    Editada: Walter Roberson
      
      
 el 24 de Oct. de 2017
            I have generated an EEG signal in MATLAB.Then in have added random noise to it,n then filtered it using the code as under.But i am getting an error.Can anyone help me to remove it ?
 fs = 512
 T = 1/fs;
 N =length(EEGsig); ls = size(EEGsig);
 tx =[0:length(EEGsig)-1]/fs;
 fx = fs*(0:N/2-1)/N;
 x=  EEGsig;    
 sd = 0.1;                                       
 normal_noise = sd*randn(1, N);
 noisy_EEGsig = x + normal_noise;
 figure();    
 subplot(4,1,1);
 grid on;  
 plot(tx, x);
 xlabel('Time [s]');                                                        
 ylabel('Amplitude');
 title('Original signal');
 subplot(4,1,2);
 grid on;  
 plot(tx,normal_noise);
 xlabel('Time [s]');
 ylabel('Amplitude');
 title('Noise');
 subplot(4,1,3);
 grid on;
 plot(tx, noisy_EEGsig);
 xlabel('Time [s]');
 ylabel('Amplitude');
 title('Original signal + Noise'); 
 subplot(4,1,4);
 d = designfilt('bandstopiir', 'FilterOrder', 2, 'HalfPowerFrequency1', 59, 'HalfPowerFrequency2', 61, 'DesignMethod', 'butter', 'SampleRate', fs);
 fvtool(d,'fs',fs)  
 buttLoop = filtfilt(d, noisy_EEGsig);
 plot(t, noisy_EEGsig,t,buttLoop)
 ylabel('Voltage (V)')
 xlabel('Time (s)')
 title('filtered signal')
 legend('Unfiltered','Filtered')
 grid
The error i am getting is :
"Undefined function 'designfilt' for input arguments of type 'char'."
1 comentario
  aida
 el 24 de Oct. de 2017
				your error in this line (9.noisy_EEGsig = x + normal_noise) and error because of sum different matrix with each other and the correct on is noisy_EEGsig = tx + normal_noise
Respuesta aceptada
  Star Strider
      
      
 el 8 de Jul. de 2017
        Three possibilities:
1. You do not have the Signal Processing Toolbox (that has the designfilt function);
2. Your MATLAB and Signal Processing Toolbox versions are prior to R2014a when designfilt was added;
3. You have an appropriate version of the Signal Processing Toolbox, and need to run these commands (from your Command Window or a script) to restore the correct paths:
restoredefaultpath 
rehash toolboxcache
Note that no frequency-selective filter will completely eliminate broad-band noise, and a bandstop filter of the sort you want to implement will only eliminate 60 Hz mains frequency noise.
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Bartlett en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


