Jump to content

    

Прямой нерекурсивный решетчатый фильтр на TMS320

Добрый вечер!
Хочу реализовать ких-фильтр решетчатый на Си.

Алгоритм во вложении.

Написала код на Си:

х - значения входного вектора

r - значения выходного вектора

h - вектор коэффициентов фильтра

nx - размер входного вектора

nh - размер вектора коэффициентов

int firlat_my(DATA* x, DATA* h, DATA* r, DATA* pbuffer, int nx, int nh) {

    int i, j;
    DATA e_i_n, delay;

    for (i = 0; i < nx; ++i) {
        e_i_n = x[i];

        for (j = 0; j < nh; ++j) {
            delay = pbuffer[j];
            e_i_n += (((LDATA)(h[j] * delay)) SHIFT15);
            pbuffer[j] = (((LDATA)(e_i_n * h[j])) SHIFT15) + delay;
        }
        //pbuffer[0] = e_i_n;
        r[i] = e_i_n;
    }

Но в дебаге, если сравнивать значения полученные моей функцией и встроенной функцией firlat, первые отсчеты считаются хорошо, а дальше уже ошибки. Не могу понять в чем проблема, подскажите, пожалуйста

firlat2.png

Share this post


Link to post
Share on other sites
9 hours ago, chep.elena said:

Добрый вечер!
Хочу реализовать ких-фильтр решетчатый на Си.

Но в дебаге, если сравнивать значения полученные моей функцией и встроенной функцией firlat, первые отсчеты считаются хорошо, а дальше уже ошибки. Не могу понять в чем проблема, подскажите, пожалуйста

Такую хрень лучше всего на ПК отладить вначале, а потом тащить в DSP.

И что такое DATA ?

Share this post


Link to post
Share on other sites
6 часов назад, __inline__ сказал:

Такую хрень лучше всего на ПК отладить вначале, а потом тащить в DSP.

И что такое DATA ?

а я пока на пк и пытаюсь отладить, в Composer Studio

DATA - набор отсчетов

пример: DATA x[NX] ={
0,
2326,
4606,
6792}

Share this post


Link to post
Share on other sites
11 часов назад, __inline__ сказал:

Такую хрень лучше всего на ПК отладить вначале, а потом тащить в DSP.

Это потому, что вы по-колхозному отлаживаетесь по светодиоду.

Ценящие своё время покупают эмулятор и отлаживают сразу в целевой среде. Не тратя попусту времени на ерунду.

20 часов назад, chep.elena сказал:

Но в дебаге, если сравнивать значения полученные моей функцией и встроенной функцией firlat, первые отсчеты считаются хорошо, а дальше уже ошибки. Не могу понять в чем проблема, подскажите, пожалуйста

Цель Вашего вопроса какова? Запустить очередную викторину-угадайку?

Посмотрите взглядом постороннего - чего (очень важного) не хватает в вашем вопросе? Если увидите, то сами возможно найдёте ответ на свой вопрос....

Share this post


Link to post
Share on other sites
On 5/22/2019 at 7:25 PM, chep.elena said:

а я пока на пк и пытаюсь отладить, в Composer Studio

DATA - набор отсчетов

У отсчетов есть размерность? Число байт? Формат данных? Или это пользовательский тип?

On 5/23/2019 at 12:07 AM, jcxz said:

Это потому, что вы по-колхозному отлаживаетесь по светодиоду.

Ценящие своё время покупают эмулятор и отлаживают сразу в целевой среде. Не тратя попусту времени на ерунду.

А ценящие свои деньги отлаживают на Большом Брате - ПК )))

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this