ReSpeaker DSP V02
Dependencies: mbed MbedJSONValue
Matlab_Script/HighPassFilterDesign.txt@14:8a4699aa69b5, 2019-06-20 (annotated)
- Committer:
- Arkadi
- Date:
- Thu Jun 20 09:06:46 2019 +0000
- Revision:
- 14:8a4699aa69b5
- Parent:
- 1:574b54755983
experiments version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Arkadi | 1:574b54755983 | 1 | function [Hd, SOS, G] = HighPassFilterDesign(FilterFs,Fc, FilterOrder, RipplePass, RippleStop, FilterType) |
Arkadi | 1:574b54755983 | 2 | % On the base of https://www.youtube.com/watch?v=crRNF8JjzIs |
Arkadi | 1:574b54755983 | 3 | % |
Arkadi | 1:574b54755983 | 4 | %Filter design |
Arkadi | 1:574b54755983 | 5 | % Biquad Direct Form 1 |
Arkadi | 1:574b54755983 | 6 | |
Arkadi | 1:574b54755983 | 7 | Wn = (2/FilterFs)*Fc; |
Arkadi | 1:574b54755983 | 8 | % design a second order filter: |
Arkadi | 1:574b54755983 | 9 | |
Arkadi | 1:574b54755983 | 10 | if strcmp(FilterType,'butter') |
Arkadi | 1:574b54755983 | 11 | [z,p,k] = butter(FilterOrder,Wn,'high'); |
Arkadi | 1:574b54755983 | 12 | [SOS,G] = zp2sos(z,p,k); |
Arkadi | 1:574b54755983 | 13 | Hd = dfilt.df1sos(SOS,G); |
Arkadi | 1:574b54755983 | 14 | else |
Arkadi | 1:574b54755983 | 15 | if strcmp(FilterType,'cheby2') |
Arkadi | 1:574b54755983 | 16 | [z,p,k] = cheby2(FilterOrder,RippleStop, Wn, 'high'); |
Arkadi | 1:574b54755983 | 17 | [SOS,G] = zp2sos(z,p,k); |
Arkadi | 1:574b54755983 | 18 | Hd = dfilt.df1sos(SOS,G); |
Arkadi | 1:574b54755983 | 19 | else |
Arkadi | 1:574b54755983 | 20 | if strcmp(FilterType,'ellip') |
Arkadi | 1:574b54755983 | 21 | [z,p,k]=ellip(FilterOrder,RipplePass,RippleStop,Wn,'high'); |
Arkadi | 1:574b54755983 | 22 | [SOS,G] = zp2sos(z,p,k); |
Arkadi | 1:574b54755983 | 23 | Hd = dfilt.df1sos(SOS,G); |
Arkadi | 1:574b54755983 | 24 | |
Arkadi | 1:574b54755983 | 25 | else |
Arkadi | 1:574b54755983 | 26 | error('WRONG PARAMETER!!! Stop execution!'); |
Arkadi | 1:574b54755983 | 27 | quit |
Arkadi | 1:574b54755983 | 28 | end |
Arkadi | 1:574b54755983 | 29 | end |
Arkadi | 1:574b54755983 | 30 | end |
Arkadi | 1:574b54755983 | 31 | end |