Azzera filtri
Azzera filtri

How to apply bandpass filter

9 visualizzazioni (ultimi 30 giorni)
Elysi Cochin
Elysi Cochin il 22 Lug 2017
Commentato: muhammad faiz il 4 Dic 2017
The attached signal file is of 20Hz sampling rate. Each row is a signal, i needed to to apply bandpass filter to each row and convert it in the frequency range 0.34 - 1 Hz.

Risposta accettata

Star Strider
Star Strider il 22 Lug 2017
This filter will do what you want:
D = load('ehgSignal.mat');
s = D.val';
Fs = 20; % Sampling Frequency (Hz)
Fn = Fs/2; % Nyquist Frequency (Hz)
Wp = [0.34 1.00]/Fn; % Passband Frequencies (Normalised)
Ws = [0.30 1.05]/Fn; % Stopband Frequencies (Normalised)
Rp = 10; % Passband Ripple (dB)
Rs = 50; % Stopband Ripple (dB)
[n,Ws] = cheb2ord(Wp,Ws,Rp,Rs); % Filter Order
[z,p,k] = cheby2(n,Rs,Ws); % Filter Design
[sosbp,gbp] = zp2sos(z,p,k); % Convert To Second-Order-Section For Stability
figure(1)
freqz(sosbp, 2^16, Fs) % Filter Bode Plot
tv = linspace(0, 1, length(s))/Fs; % Time Vector (s)
s_filt = filtfilt(sosbp,gbp, s); % Filter Signal
figure(2)
plot(tv, s_filt)
grid
NOTE The filtfilt function will operate on the first non-singleton dimension of ‘s’, so since ‘s’ is (12 x 35220), it is necessary to transpose it to filter along the rows ( columns in the transposed matrix).
  3 Commenti
Star Strider
Star Strider il 24 Lug 2017
Yes. The ‘s_filt’ variable are the filtered signals.
You can name the vectors whatever you want, of course.
muhammad faiz
muhammad faiz il 4 Dic 2017
sorry sir, i already try this code and it has some error on it, after i run this coding it say that "Reference to non-existent field 'val'." what does this mean ?

Accedi per commentare.

Più risposte (1)

muhammad faiz
muhammad faiz il 4 Dic 2017
excuse me sir, sorry for asking, i'm still new in using the matlab software. But i need to do a bandpass filter, which is i need to apply the band pass filter to the sound signal. right now i only knew how to play the audio file from the matlab and the file was in .wav format, how to get the .mat format from the file ? and how to apply the band pass filter coding sir ? i don't really understand about it. and what does the ehgsignal.mat mean ? i hope you can help me figure out this, thank you sir

Categorie

Scopri di più su Measurements and Spatial Audio in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by