The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Digital Signal Processing Project
Replies: 2   Last Post: Nov 10, 2012 9:53 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 3
Registered: 11/10/12
Digital Signal Processing Project
Posted: Nov 10, 2012 7:15 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Hi, I have a MATLAB project and I have never used MATLAB before so I need some help.

I have to design a digital IIR bandpass filter from an analog low pass prototype which can either be a butterworth, chebyshev (1 or 2) or elliptical. The bandpass filter should have the following specs:

Passband ripple: ±0.005

Lower and upper passband cutoff frequencies: 0.115 and 0.325

Stopband ripple: -42 dB

Lower stopband and upper stopband cutoff frequencies: 0.082 and 0.365

Note: specs are given in terms of fractional frequencies.

I need to then use bilnear transform and spectral transforms to change the analog low pass into digital bandpass IIR.

I need to estimate the prototype and its order, and do a number of design cycles (around 3, 4 I guess) and choose/explain which was the best. I think elliptic has the best roll-off so I want to go with it. But the ripples. Also the order of the filter has to be optimum (satisfying specs but not of very high order).

Then I have a specbox.m function which I need to use to check if my specifications are correct. The function given is defined as :

function specbox(x1,x2,y1,y2,RGB)

% specbox(x1,x2,y1,y2,RGB)
% draws an RGB colored box using the given coordinates
% in the current figure
% RGB is a vector [r g b] with 3 values between 0 and 1
line(x1*[1 1],[y1 y2],'Color',RGB);
line(x2*[1 1],[y1 y2],'Color',RGB);
line([x1 x2],y1*[1 1],'Color',RGB);
line([x1 x2],y2*[1 1],'Color',RGB);


This is the first part of the project.

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.