DSP digital bandpass filter
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
A digital bandpass filter has the following specifications:
Passband frequency edge: 0.2pi and 0.6pi rad/sample
Passband ripple: < 1dB
Stopband frequency edge: 0.1pi and 0.8pi rad/sample
Stopband attenuation: > 40dB
Using the windowing method, what is the lowest-order FIR filter that will meet the desired specifications? Give the numerator coefficient B.
0 commentaires
Réponses (1)
Dimitris Kalogiros
le 9 Oct 2018
Modifié(e) : Dimitris Kalogiros
le 9 Oct 2018
%BANDPASSFILTER Returns a discrete-time filter object.
% MATLAB Code
% Generated by MATLAB(R) 9.4 and Signal Processing Toolbox 8.0.
% Generated on: 09-Oct-2018 22:23:40
% Equiripple Bandpass filter designed using the FIRPM function.
% All frequency values are normalized to 1.
Fstop1 = 0.1; % First Stopband Frequency
Fpass1 = 0.2; % First Passband Frequency
Fpass2 = 0.6; % Second Passband Frequency
Fstop2 = 0.8; % Second Stopband Frequency
Dstop1 = 0.01; % First Stopband Attenuation
Dpass = 0.057501127785; % Passband Ripple
Dstop2 = 0.01; % Second Stopband Attenuation
dens = 20; % Density Factor
% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fstop1 Fpass1 Fpass2 Fstop2], [0 1 0], ...
[Dstop1 Dpass Dstop2]);
% Calculate the coefficients using the FIRPM function.
b = firpm(N, Fo, Ao, W, {dens});
Hd = dfilt.dffir(b);
% taps of this filter: Hd.Numerator
figure; stem(Hd.Numerator, '-b^'); grid on; zoom on; title('taps');
% frequency response
figure; freqz(Hd);
0 commentaires
Voir également
Catégories
En savoir plus sur Signal Generation, Manipulation, and Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!