Jump to content
    

Подскажите, в чем может быть ошибка

А что с чем суммировать? В линии задержки данной длины за 6 тактов есть всего один отсчет, который не отбрасывается при децимации.

Предлагаю отталкиваться не от того, что реализовано у вас; а то того, что должно быть реализовано. Вам нужен фильтр, так? Если фильтр, значит нужна свертка входного сигнала с коэффициентами фильтра, а значит нужна сумма.

Share this post


Link to post
Share on other sites

Предлагаю отталкиваться не от того, что реализовано у вас; а то того, что должно быть реализовано. Вам нужен фильтр, так? Если фильтр, значит нужна свертка входного сигнала с коэффициентами фильтра, а значит нужна сумма.

Хорошо.

 

Я правильно понимаю, что то, что вы называете сигналом значимости, в буржуйских источниках обычно называют как-то так: clk_enable или что - то похожее?

 

Как я понял из вашего объяснения, механизм такой: изначально наш clk_enable имеет значение 1 ( ведь первый входной отсчет нам нужен ). Затем, он 5 тактов сохраняет значение 0. По приходу 6-ого такта он получает значение 1 . Отсчеты со входа мы берем, только когда clk_enable имеет значение 1. Только понять не могу, где здесь сумма вылазит. Мы же не можем так копить 6 отсчетов и их складывать, потому что получается, что у нас выход изменяться за 36 тактов.

Share this post


Link to post
Share on other sites

Понимаете в любой задаче кроме всего прочего нужна еще капелька здравого смысла...

 

Вы с огромным усердием переставляете цифирки и буковки, но теряете общий смысл того что вы делаете... Просто опишите словами что вы хотите получить и что вы получаете....

 

Вот берем вашу последнюю схему:

ИЗ входного сигнала вы выбираете каждый 6 отсчет, и умножаете их на коэффициент, причем 6 отсчет на м0, 12 отсчет на м1, 18 отсчет на м2 и так далее...

 

теперь допустим у вас на входе был сигнал

111111111, что будет на выходе? м0, м1, м2, м3, м4, ....

если был сигнал 00000000000, то на выходе будет 0 0 0 0 0 0

Вы можете внятно объяснить при какой цифровой обработке может понадобиться входной сигнал состоящий из исходного в котором 85% выкинуто, а оставшиеся 15% искажены? Зачем надо на следующий этап передавать умноженные на коэффициенты значения, почему нельзя подать исходные?

 

Вам надо понять задачу!

Share this post


Link to post
Share on other sites

В линии задержки данной длины за 6 тактов есть всего один отсчет, который не отбрасывается при децимации.

давно бы слабали прекрасную картинку, типа той что в атаче, ну и расковыряли бы как оно там внутри. У меня ушло 2 минуты скидать вот это и сверить с оригинальным прототипом.

 

ЗЫ. Все же возьмите матлаб, пригодится.

post-3453-1416588884_thumb.png

Share this post


Link to post
Share on other sites

Да, именно clk_enable.

 

Сумма должна вылазить в самом фильтре и в этой самой полифазной реализации.

 

Если первый входной отсчет x0, то на первом такте вы должны получить x0*h6, на втором - x1*h5, потом x2*h4, x3*h3, x4*h2 и наконец на шестом такте - x5*h1 плюс все предыдущие произведения.

И это будет первый выходной отсчет:

y0 = x0*h6 + x1*h5 + x2*h4 + x3*h3 + x4*h2 + x5*h1.

Следующий выходной отсчет будет:

y6 = x6*h6 + x7*h5 + x8*h4 + x9*h3 + x10*h2 + x11*h1, поскольку отсчеты y1, y2, y3, y4, y5 мы выбрасываем из-за децимации.

Share this post


Link to post
Share on other sites

Ребяты при всем уважении, вы говорите со студентом... Вы пытаетесь объяснить решение, а человек пока не понял даже постановки задачи. Ему надо просто словами объяснить смысл того что он делает и зачем это надо.

Без терминов окно, фильтр, коэффициенты... просто на пальцах так сказать.

 

И уверяю как только вы это сделаете, вы сразу поймете насколько были наивны ваши действия). А также сразу станет понятно зачем нужен матлаб, чем он поможет....

 

 

 

если хотите я вам помогу в этом деле...

дальнейший разбор решения считаю не целесообразным, пока не поймем задачу...

Share this post


Link to post
Share on other sites

Да, именно clk_enable.

 

Сумма должна вылазить в самом фильтре и в этой самой полифазной реализации.

 

Если первый входной отсчет x0, то на первом такте вы должны получить x0*h6, на втором - x1*h5, потом x2*h4, x3*h3, x4*h2 и наконец на шестом такте - x5*h1 плюс все предыдущие произведения.

И это будет первый выходной отсчет:

y0 = x0*h6 + x1*h5 + x2*h4 + x3*h3 + x4*h2 + x5*h1.

Следующий выходной отсчет будет:

y6 = x6*h6 + x7*h5 + x8*h4 + x9*h3 + x10*h2 + x11*h1, поскольку отсчеты y1, y2, y3, y4, y5 мы выбрасываем из-за децимации.

Это, как я понимаю, если длина фильтра 6?

Share this post


Link to post
Share on other sites

Это, как я понимаю, если длина фильтра 6?

Шесть коэффициентов, один умножитель. Если использовать два умножителя, то 12 коэффициентов. 3 - 18 и так далее.

Share this post


Link to post
Share on other sites

Шесть коэффициентов, один умножитель. Если использовать два умножителя, то 12 коэффициентов. 3 - 18 и так далее.

Я имел в виду, что если у нас фильтр-прототип длины N , то для дециматора надо взять каждый N/6 коэффициент. Так?

Share this post


Link to post
Share on other sites

Я имел в виду, что если у нас фильтр-прототип длины N , то для дециматора надо взять каждый N/6 коэффициент. Так?

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

Share this post


Link to post
Share on other sites

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

Ага. Вот есть у меня фильтр длиной 54. Значит, получаем 9 наборов коэффициентов.

Если посмотреть на импульсную характеристику прототипа, то брать надо справа налево. То есть, для первого набора ( если крайний справа коэффициент занумеровать как 1 ), это будут коэффициенты 1,7,13,19,25,31. Все так? Если так, значит в данный момент я делаю правильно.

Edited by desmond breezey

Share this post


Link to post
Share on other sites

Ага. Вот есть у меня фильтр длиной 54. Значит, получаем 9 наборов коэффициентов.

Если посмотреть на импульсную характеристику прототипа, то брать надо справа налево. То есть, для первого набора ( если крайний справа коэффициент занумеровать как 1 ), это будут коэффициенты 1,7,13,19,25,31. Все так? Если так, значит в данный момент я делаю правильно.

Нет, для первого набора коэффициенты будут 1, 2, 3, 4, 5, 6.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...