Other Parts Discussed in Thread: ADS1298, TMS320F28035, CONTROLSUITE
I want to use the TMS320F28035+ADS1298 devices to detect ECG signals.To do this, processor should be HPS (0.005Hz), BSF (50 Hz), LPF (150Hz) filters. For this I use the function IIR5BIQ32 from C28x_DSP_fixed_point_library and EZIIR tool for filter design.
The experimental conditions:
1. hardware: ECG simulator, TMS320F28035+ADS1298+TFT to resistration and display ECG, XDS100 v2 debuger.
2. software: CCS v4, C28x_DSP_fixed_point_library (use IIR5BIQ32 function), Matlab 2006, EZIIR tool.
3. Sample frequecy 500, data from ADC 24bit, investigated by various filters varinty (bat, cheb type 1, ceb type2, elep), bandstop supression 20-40 db, bandpass ripple 0.1 db.
4. At TFT visually comparing the signal to the filter and after filter.
At the moment, I have developed and tested LPF and BSF. It is work fine. But HPS not work. I experimented with the LPF and BSF and all worked well.
Experiments with HPF showed that there is a dependence on the filter cutoff frequency:
1. Fp=30Hz, Fs=10 - all types HPF work fine.
2..Fp=10Hz, Fs=5Hz - Filter work (stop constant and low frequency part of signal), but bed. After filtering the signal noise appears.
3. Fp=10Hz, Fs=1Hz (or every 1<Fs<Fp<10 Hz) - filter not work, output everytime zero. (In matlab all normals)
4. Fp=1Hz, Fs=0.1Hz, or Fp=0.1 Fs=0,05, or Fp=0.05 Fs=0,005(or 0.01) (it is my target) (or every 0.01<Fs<Fp<1 Hz) - filter not work, filter output of large-amplitude chaotic sgnal. I think the filter is not stable. (In matlab as before, all the normals)
Questions:
1. Data format.
In documentation on the function IIR5BIQ32 of states: the format of input data Q31 and output data same Q31. So I have to make a shift to 8 my 24-bit signed number (ADC result), and I will get a number in the format of Q31. So I have to make the shift to the left to 8 bit my 24-bit signed number (ADC result), and I will get a number in the format of Q31. If the filter output in the format Q31, the number obtained after the filter I need shift to right to 8 bit, that the number was in the original format. But if I do it (shift to the right of adding to the eight values of the sign in the leftmost 8 bits, as usual), the amplitude of the signal after the filter 2 times less than before the filter (I can see it on the screen), although it should remain the same. Hence the output value of the filter should be shifted to the right by 7 bits, and the format of the output Q30 and not Q31. This was confirmed by my experiments on all types of filters.
In the description of the functions IIR5BIQ32 there is an error? Am I right or wrong?
2 HPF filter.
I would like to know what the above described problem with the HPF filter. Function IIR5BIQ32 is working not correctly, or EZIIR program working not correctly.
And most importantly - how do I filter (for example - fourth order chebishev type 2) with a cutoff frequency less than 10Hz (5, 1, 0.5, 0.1, 0.005, etc.), using the EZIIR tool and the IIR5BIQ32 function? Write a function IIR filter, I can `t own, use the FIR filter as there is no possibility of a large hardware requirements FIR filter (especially memory).
Thanks in advance.
Chukavin Andrej.


