How can I increase the notch attenuation without changing the bandwidth?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have designed a notch filter of 50Hz cutoff frequency and 8Hz bandwidth and the sampling rate is 1500Hz as shown in the code below. I am getting an attenuation of 28.4dB for an input sinusoidal wave of 50Hz(I took the fft and checked). My bandwidth cannot be greater than this under any circumstances. Is there any way in which I can improve the attenuation for the same cutoff frequency and bandwidth?
Fs = 1500; % Sampling Frequency
t=0:1/Fs:(0.5-1/Fs);
S=sin(2*pi*50*t);
Fnotch = 50; % Notch Frequency
BW = 8; % Bandwidth
[b, a] = iirnotch(Fnotch/(Fs/2), BW/(Fs/2));
fvtool(b,a,2500)
out=filtfilt(b,a,S);
0 Commenti
Risposte (1)
Dimitris Kalogiros
il 5 Set 2018
You can place two similar notch filters in a cascated way:
clc; clear;
%%parameters
Fs = 1500; % Sampling Frequency
t=0:1/Fs:(0.5-1/Fs);
S=sin(2*pi*50*t);
Fnotch = 50; % Notch Frequency
BW = 8; % Bandwidth
%%design filter
[b, a] = iirnotch(Fnotch/(Fs/2), BW/(Fs/2));
fvtool(b,a,2500)
%%two cascated filters
out_temp=filtfilt(b,a,S); %first stage
out=filtfilt(b,a,out_temp); % second stage
1 Commento
Vedere anche
Categorie
Scopri di più su Filter Design 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!