Hi All, I want the impulse response of a filter from its frequency response. I have the required frequency response of my filter--but the frequency response is specified for some frequencies only. For example: Let F be the list of frequencies at for which I have the response and M be the corresponding amplitude at the given frequencies: F = [ 100 125 160 ...... 4000]; freqn in Hz M = [ m1 m2 m3 ...... mn ]; abs amplitude. There is no relation between the frequencies at which the response is available. I want the impulse response of this filter. Could anyone plz guide me how??? Thanx. Rgds Sudheer |
|
Frequency response to Impulse response conversion
Started by ●March 27, 2002
Reply by ●March 28, 20022002-03-28
Sudheer, Your problem does not have a unique answer; it depends on the kind of filter you design, based on the frequency response "specification" you provide. Since you aren't specifying the points in between your frequency samples, there are an infinite number of possible filters that match the spec. However, you're probably thinking that the missing points should be interpolated somehow. If the m vector is the magnitude of the frequency response (i.e. no phase response information) then you can use the yulewalk.m function in the Signal Processing Toolbox. This designs an IIR filter that approximates the desired magnitude frequency response. Then you can use impz.m to get the impulse response of that filter. For a linear-phase FIR filter, you could use remez.m or fircls.m to design it. Then the impulse response is just the resullting coefficient vector. If you want to specify a non-linear phase response as well as the magnitude response, i.e. a complex frequency response, you may want to try cremez.m, but you'll get a complex impulse response, maybe with a neglible imaginary part if you're lucky. Good luck, Mark Egler > -----Original Message----- > From: sudheer nair [mailto:] > Sent: Wed, March 27, 2002 12:25 AM > To: > Subject: [matlab] Frequency response to Impulse response conversion > Hi All, > I want the impulse response of a filter from its > frequency response. > > I have the required frequency response of my > filter--but the frequency response is specified for > some frequencies only. > For example: > Let F be the list of frequencies at for which I have > the response and M be the corresponding amplitude at > the given frequencies: > F = [ 100 125 160 ...... 4000]; freqn in Hz > M = [ m1 m2 m3 ...... mn ]; abs amplitude. > > There is no relation between the frequencies at which > the response is available. > > I want the impulse response of this filter. > > Could anyone plz guide me how??? > > Thanx. > > Rgds > Sudheer > > ------------------------ Yahoo! Groups Sponsor > ---------------------~--> > FIND OLD SCHOOL FRIENDS and OLD FLAMES > Click here to start your search at Reunion.com today! > http://us.click.yahoo.com/NFsLKA/Dn2DAA/ySSFAA/wHYolB/TM > -------------------------- > -------~-> > > _____________________________________ > Note: If you do a simple "reply" with your email client, only > the author of this message will receive your answer. You > need to do a "reply all" if you want your answer to be > distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: > > To Post: > > To Leave: > > Archives: http://www.yahoogroups.com/group/matlab > > More DSP-Related Groups: http://www.dsprelated.com/groups.php3 > > ">http://docs.yahoo.com/info/terms/ |