Sign in

username:

password:



Not a member?

Search matlab



Search tips

Subscribe to matlab



matlab by Keywords

Atanh | Autocorrelation | Bandpass Filter | C++ | Conv | Database | Deconv | Excel | FFT | Filter | Filtering | FIR | Fourier Transfrom | FSK | Gaussian Noise | Haykin | IFFT | Image | Java | LFSR | LMS | LPC | MEX | OFDM | QPSK | Radix | Random | Sampling | Segmentation | Simulink | Visual Basic | Waveform | Wavelet

Discussion Groups

Discussion Groups | Matlab DSP | FIR filter design

Technical discussion about Matlab and issues related to Digital Signal Processing.

  

Post a new Thread

FIR filter design - "marinus.yates" - Sep 13 16:29:34 2007



Hi 

I'm busy designing a decimation filter which takes 8 bits from a
excessively oversampled ADC and  decimates the signal. I need a FIR
filter to have an increased resolution. For example 8 bits into the
filter but I need 13 bits out.

If anyone could tell me how to make design that filter in matlab it
would be of great help.

Thank you.


(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )

Re: FIR filter design - Ahmed Shahein - Sep 14 7:42:53 2007

Hi,

I am working in the same topic, I hope if I can be helpful. Would you send me more detailed
data and then I can send you a complete design flow. The type of data I need are;

Primary data:
------------------
Sampling frequency
Oversampling ratio
Signal frequency

Secondary data:
---------------------
Passband ripples and cutoff band suppression
Transition band width ((fc-fp)/fc, where fc = cutoff band frequency and fp = passband
frequency)
Number of decimation stages
Decimation factor for each single decimation stage
Allowed IBN penalty

In the following there is an simple DESIGN EXAMPLE for single stage decimation.

Design parameters:
*******************
    Fs:                  Sampling frequency
    Fp:                  Passband frequency
    Fc:                  Cutoff band frequency
    Rp:                  Passband ripples
    Rc:                  Cutoff band suppression
    OSR:               Oversampling ratio
    SDM_Data:     Sigma-Delta Modulator output

Matlab Commands for Single Stage Decimation:
***************************************
    [n fo ao w]   = remezord([Fp Fc], [1 0], [Rp Rc], Fs);
    b                  = remez(n fo ao w);

    filtered_data         = filter(b, [1], SDM_Data);
    decimator_output = downsample(filtered_data, OSR)

The recommended plot for analyzing your results is to use the PSD plot for decimator input and
output.

Concerning the input and output resolution of the decimator, after you finish the decimator
design you have to quantize the filter coefficients and then convert them to a any binary
arithmetic representation, i.e. like fixed point , CSD, SPT, ... etc. After this step you will
get the filter coefficient bit width which is very helpful to estimate your output bit width.
Regarding this you have to expect the output bit width from the SDM data, i.e. output
resolution = max(SNR)/5.

Feel free if you has further questions.

Best regards.

Yours,

Ahmed.

----- Original Message ----
From: marinus.yates <m...@gmail.com>
To: m...@yahoogroups.com
Sent: Thursday, September 13, 2007 8:25:28 PM
Subject: [matlab] FIR filter design

            Hi 

I'm busy designing a decimation filter which takes 8 bits from a

excessively oversampled ADC and  decimates the signal. I need a FIR

filter to have an increased resolution. For example 8 bits into the

filter but I need 13 bits out.

If anyone could tell me how to make design that filter in matlab it

would be of great help.

Thank you.



(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )