How to apply bandpass filter
4 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Star Strider
2017-7-22
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 个评论
Star Strider
2017-7-24
Yes. The ‘s_filt’ variable are the filtered signals.
You can name the vectors whatever you want, of course.
muhammad faiz
2017-12-4
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 ?
更多回答(1 个)
muhammad faiz
2017-12-4
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Measurements and Spatial Audio 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!