Technical discussion about Matlab and issues related to Digital Signal Processing.
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.
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.