|
|||||||||||||||||||||||
comp lang javascript
(33389)![]() comp soft-sys matlab
(30959)![]() comp unix solaris
(23168)![]() comp lang perl misc
(22636)![]() comp dcom sys cisco
(21628)![]() comp sys mac apps
(18500)![]() comp arch fpga
(16639)![]() comp cad solidworks
(13975)![]() comp sys cbm
(10887)![]() comp lang c++ moderated
(9214)![]() comp sys ibm pc games rpg
(8776)![]() comp sys hp48
(8416)![]() comp lang java programmer
(8330)![]() comp lang java gui
(7761)![]() comp graphics apps photoshop
(7691)![]() comp os linux advocacy
(7054)![]() comp graphics api opengl
(6593)![]() comp databases filemaker
(6426)![]() comp jobs computer
(6277)![]() comp graphics apps paint-shop-pro
(5579)![]() comp soft-sys math mathematica
(5510)![]() comp unix programmer
(5310)![]() comp lang vhdl
(5292)![]() comp arch
(5197)![]() comp text pdf
(5127)![]() comp home automation
(4970)![]() comp ai philosophy
(4910)![]() comp lang python
(4663)![]() comp lang ruby
(4545)![]() comp soft-sys sas
(4424)![]() comp fonts
(4312)![]() comp emacs
(4057)![]() comp sys mac hardware misc
(4025)![]() comp compression
(3654)![]() comp hardware
(3623)![]() comp lang asm x86
(3597)![]() comp ai neural-nets
(3470)![]() comp sys sun admin
(3450)![]() comp sys hp hpux
(3358)![]() comp sys ibm pc hardware video
(3327)![]() comp text tex
(3314)![]() comp graphics apps gimp
(3274)![]() comp dsp
(3227)![]() comp protocols time ntp
(3166)![]() comp os ms-windows networking windows
(2958)![]() comp graphics apps lightwave
(2911)![]() comp unix admin
(2901)![]() comp laptops
(2808)![]() comp sys mac advocacy
(2783)![]() comp music midi
(2695)![]() comp mail misc
(2660)![]() comp lang awk
(2601)![]() comp periphs scsi
(2399)![]() comp lang c++
(2398)![]() comp lang prolog
(2389)![]() comp databases mysql
(2210)![]() comp compilers
(2160)![]() comp sys ibm pc games marketplace
(2154)![]() comp lang logo
(2048)![]() comp lang fortran
(2039)![]() comp lang c
(2033)![]() comp dcom xdsl
(1659)![]() comp sys atari st
(1601)![]() comp lang rexx
(1592)![]() comp infosystems www servers ms-windows
(1548)![]() comp sys mac system
(1516)![]() comp lang php
(1428)![]() comp lang tcl
(1422)![]() comp dcom cabling
(1415)![]() comp ai genetic
(1412)![]() comp os linux questions
(1396)![]() comp lang lisp
(1393)![]() comp parallel mpi
(1387)![]() comp lang java help
(1381)![]() comp lang java security
(1362)![]() comp programming
(1292)![]() comp software extreme-programming
(1277)![]() comp arch embedded
(1255)![]() comp software shareware announce
(1244)![]() comp lang idl-pvwave
(1212)![]() comp graphics misc
(1181)![]() comp ai
(1150)![]() comp os linux portable
(1117)![]() comp databases ms-access
(1115)![]() comp compilers lcc
(1107)![]() comp databases postgresql admin
(1102)![]() comp lang misc
(1070)![]() comp speech users
(1035)![]() comp unix shell
(947)![]() comp sys apple2 programmer
(942)![]() comp sys sun announce
(884)![]() comp databases btrieve
(880)![]() comp os linux misc
(865)![]() comp databases oracle server
(785)![]() comp lang python announce
(775)![]() comp sys ibm pc games war-historical
(750)![]() comp os plan9
(746)![]() comp unix bsd netbsd misc
(713)![]() comp graphics apps pagemaker
(707)![]() comp sys ibm ps2 hardware
(681)![]() |
Chebyshev Filter
|
||||||||||||||||||||||
| Group: comp.soft-sys.matlab |
Subscribe
|
Posted:12/16/2009 6:26:02 AM | Replies:4 | Views:115 | Items(4) |
|
I'm trying to filter some data using a 2nd order Chebyshev filter with a passband of 10kHz, a stopband of 250Hz and a ripple of 0.0002.
I've tried using the cheby1 function, but I'm confused because wp must be between 0 and 1. The help file talks about a normalised passband edge frequency, but incase you haven't guessed, I'm new to filters and have no idea what this means! Can anyone help me understand how to set up this filter? Many thanks |
"Jane " <j.l.te...@hotmail.co.uk> 12/16/2009 6:26:02 AM |
|
On 16 Des, 07:26, "Jane " <j.l.te...@hotmail.co.uk> wrote:
> I'm trying to filter some data using a 2nd order Chebyshev filter with a = passband of 10kHz, a stopband of 250Hz and a ripple of 0.0002. > > I've tried using the cheby1 function, but I'm confused because wp must be= between 0 and 1. =A0The help file talks about a normalised passband edge f= requency, but incase you haven't guessed, I'm new to filters and have no id= ea what this means! The filter design routines that come with matlab are very poorly designed. There is no reason why users should need to know, let alone care about, these kinds of details. Explaining what the normalized edge is, and how it works, would amount to giving substantial parts of a semester's class in filter design, which is a bit too much for USENET. Use some GUI tool where you don't have to deal with these details (I am sure there is one in the Signal Processing Toolbox) to design your filter. You will find that the order is not a design parameter, but is derived from the specification. Rune |
Rune Allnor <all...@tele.ntnu.no> 12/16/2009 11:55:55 AM |
|
Rune Allnor <allnor@tele.ntnu.no> wrote in message <3018f8c5-520a-4a9f-b600-ee01c467f0c5@t42g2000vba.googlegroups.com>...
> On 16 Des, 07:26, "Jane " <j.l.te...@hotmail.co.uk> wrote: > > I'm trying to filter some data using a 2nd order Chebyshev filter with a passband of 10kHz, a stopband of 250Hz and a ripple of 0.0002. > > > > I've tried using the cheby1 function, but I'm confused because wp must be between 0 and 1. ?The help file talks about a normalised passband edge frequency, but incase you haven't guessed, I'm new to filters and have no idea what this means! > > The filter design routines that come with matlab are > very poorly designed. There is no reason why users should > need to know, let alone care about, these kinds of details. > Explaining what the normalized edge is, and how it works, > would amount to giving substantial parts of a semester's > class in filter design, which is a bit too much for USENET. > > Use some GUI tool where you don't have to deal with these > details (I am sure there is one in the Signal Processing > Toolbox) to design your filter. You will find that the > order is not a design parameter, but is derived from the > specification. > > Rune Hi Jane, many of the older filter design routines in Matlab use normalized frequency. If you take the Fourier transform of a sequence where you don't explicitly include any information about the sampling interval (time difference between samples), the Fourier transform is 2-pi periodic. The frequencies are in units of radians per sample. Further assuming that the sequence is real-valued means that the Fourier transform at a negative frequency is the complex conjugate of the Fourier transform at a positive frequency. So the [0,1] interval in Matlab (normalized frequency) is really [0,1]*pi radians/sample. You can do a few things here to help you: 1.) Use the newer filter specification objects fdesign.<response> and a design method. With the filter specification object you can enter the filter specifications in Hz directly. If you read the documentation (doc fdesign.lowpass as one example), you will see that there are many ways to specify your desired filter. The filter specification you choose will affect which design methods are possible. You can always query this after you specify your filter and choose the design you want. For example: % Here I choose a specification I know will yield a Chebyshev Type I design % My specifications: % 2nd order filter, passband frequency at 1 kHz, passband ripple of 0.1, and sampling % frequency of 10 kHz (note sampling frequency is last scalar argument) H = fdesign.lowpass('N,Fp,Ap',2,1000,0.1,10000); % designmethods(H) will show all valid designs for this specification D = design(H); % design the filter fvtool(D) %view filter magnitude response y = filter(D,Data); % where Data is your data to be filtered 2.) You can always convert Hz to normalized frequency (and vice versa): (2*FreqHz)/Fs=NormalizedFreq in the interval [0,1] where Fs is the sampling frequency. Then you can use cheby1(), butter(), etc. 3.) As Rune suggested, you can use fdatool or filterbuilder which allow you to explicitly use the sampling frequency. In filterbuilder choose the frequency units to be in Hz. In fdatool, enter the appropriate information under frequency specifications. Hope that helps, Wayne |
"Wayne King" <wmkin...@gmail.com> 12/16/2009 12:40:19 PM |
|
Thankyou both for your detailed reponses.
I will try to implement the filter again when I get to work. Jane |
"Jane " <j.l.te...@hotmail.co.uk> 12/16/2009 2:52:01 PM |
|
On 16 Des, 13:40, "Wayne King" <wmkin...@gmail.com> wrote:
> 2.) You can always convert Hz to normalized frequency (and vice versa): > (2*FreqHz)/Fs=NormalizedFreq in the interval [0,1] where Fs is the sampling frequency. There is quite a bit more to it than that. The design methods behind the analog prototypes are specified in the frequency ramge [0, infinite] whereas the digital filters are specified on the range [0, Fs/2]. This means that there is a nonlinear relation between the digital cut-off frequency and its analog counterpart. The analog prototype maps to a digital prototype, whic in turn has to be transformed to the digital desired filter. Keeping track of such details is crucial for a successful design, and not at all obvious. Rune |
Rune Allnor <all...@tele.ntnu.no> 12/16/2009 5:00:26 PM |