hi; I am looking at Mathematica signals & systems package, latest version, and comparing its features to Matlab's DSP toolbox. Has anyone used MMA signals&systems package who like to share their experience? I am trying to create a butter low pass filter. in matlab, one writes [z,p,k]=butter(n,Wn); where n is the order of the butter filter, Wn is the cutoff normalized frequency. For instance, suppose we want to design a 3 order butter low pass, with cutoff at 300 hz for data sampled at 1000 hz, we write >> [z,p,k]=butter(3,300/500) z = -1 -1 -1 p = -0.2094 + 0.5582i -0.2094 - 0.5582i -0.1584 k = 0.2569 In Mathematica, I am unable to do the above really. The function to design a butter in MMA requires one to supply the magnitude response in the band, which Matlab does not require. Also MMA DesignAnalogFilter function requires one to specify all the bands, even for a low pass filter, so we must tell it that there is a stopband, and the stopband must goes to infinity (else MMA complains). Also the MMA function seems to return only the poles. Needs["SignalProcessing`"] In[6]:= spec = FilterSpecification[Passband[.99999, {0, 300/500}], Stopband[0.0001, { 301/500, Infinity}]]; In[7]:= DesignAnalogFilter[Butterworth, t, spec, FilterOrder -> 3] -6 Out[7]= 8.53279 10 AnalogFilter[ {-0.0102172 + 0.0176968 I, -0.0204345, -0.0102172 - 0.0176968 I}, {}, t] Does any one have experience with MMA signals&systems who can show me the equivalent code to the matlab code above? I am not even sure the numbers make sense above, as they are no where close to what Matlab gives back. I have bought this package hoping to do signal processing with it, but I find the following problems: 1. MMA documenting for this package is not good. Very hard to find what functions there are (no list of functions). Hard to find what the input and output are. 2. Documentation is little. Compared to Matlab which has huge documentation for its DSP toolbox. 3. MMA signals&systems functionality is much less than Matlab's 4. getting help on this is much harder than with Matlab. I wanted to use it since I think the idea of using symbolic tools to do DSP is interesting, but due to lack of documentation, support, and features, I think I will go back to using Matlab for this type of work. superman.
any users of Mathematica signals and systems? comparing it to Matlab signal processing tool box
Started by ●December 17, 2004
Reply by ●December 18, 20042004-12-18
"superman" <superman@nowhere.com> wrote in message news:yIAwd.43574$6q2.30547@newssvr14.news.prodigy.com...> hi; > > I am looking at Mathematica signals & systems package, latest version, > and comparing its features to Matlab's DSP toolbox. > > Has anyone used MMA signals&systems package who like to share > their experience? > > I am trying to create a butter low pass filter. > > in matlab, one writes > > [z,p,k]=butter(n,Wn); > > where n is the order of the butter filter, Wn is the > cutoff normalized frequency. > > For instance, suppose we want to design a 3 order > butter low pass, with cutoff at 300 hz for data > sampled at 1000 hz, we write > > >> [z,p,k]=butter(3,300/500) >Surely that should be 300/1000 as normalised Freq goes from 0 to 1 and 0.5 is half sampling (500Hz) therefore 300Hz is 300/1000. Country Chiel
Reply by ●December 18, 20042004-12-18
Country_Chiel wrote:>>For instance, suppose we want to design a 3 order >>butter low pass, with cutoff at 300 hz for data >>sampled at 1000 hz, we write >> >> >> [z,p,k]=butter(3,300/500) >> >> Surely that should be 300/1000 as normalised Freq goes from 0 to 1 and 0.5 > is half sampling (500Hz) therefore 300Hz is 300/1000. > > Country Chiel >my mistake, I was copying the example for the high pass filter from the manual, and forgot about it. the above will be correct if I wrote butter(3,300/500,'high'); which is the example in the book. but for a low pass, it should be 300/1000. thanks. so, it looks like no users of Mathemtica here who use signals&systems? I am back to using/learning matlab, as I think it is much better for this sort of thing. sorry Mathematica, but your signals&systems package is too weak compared to matlab's