mutagen 0 4 декабря, 2008 Опубликовано 4 декабря, 2008 · Жалоба Здравствуйте. Столкунлся с проблемой: имея один входной тракт (настроенный один FIR-фильтр с децимацией) возможно ли обрабатывать сигналы с разной частотой дискретизации? У меня имеются 2 FPGA-прошивки, которые обрабатывают сигналы 802.11b(DSSS) и 802.11g(OFDM). Необходимо объединить их в одну. Проблема в том, что сигналы DSSS для WiFi имеют частоту дискретизации кратной 11 Мгц, а сигналы OFDM 802.11g имеют частоту 20Мгц. В 802.11b-DSSS я сэмплирую сигнал с частотой 88Мгц, а в 802.11g-OFDM сэмплирую с частотой 100Мгц ну и далее идёт фильтрация с децимацией. Может быть кто-то сталкивался с подобными вещами? Или имеет ссылки/документацию на wifi-чипсеты 802.11g с более-менее детальным описанием. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitrmax 0 5 декабря, 2008 Опубликовано 5 декабря, 2008 · Жалоба Здравствуйте. Столкунлся с проблемой: имея один входной тракт (настроенный один FIR-фильтр с децимацией) возможно ли обрабатывать сигналы с разной частотой дискретизации? У меня имеются 2 FPGA-прошивки, которые обрабатывают сигналы 802.11b(DSSS) и 802.11g(OFDM). Необходимо объединить их в одну. Проблема в том, что сигналы DSSS для WiFi имеют частоту дискретизации кратной 11 Мгц, а сигналы OFDM 802.11g имеют частоту 20Мгц. В 802.11b-DSSS я сэмплирую сигнал с частотой 88Мгц, а в 802.11g-OFDM сэмплирую с частотой 100Мгц ну и далее идёт фильтрация с децимацией. Может быть кто-то сталкивался с подобными вещами? Или имеет ссылки/документацию на wifi-чипсеты 802.11g с более-менее детальным описанием. Насколько я знаю нет. Можно использовать 22МГц сигнал 802.11b (надеюсь, что вы в курсе, что надо работать на удвоенной частоте дискретизации) для передискретизации его в 20 МГц каким-нить полифазным фильтром. А вообще, советую уже сейчас задуматься от том, как ещё и 802.11n собираетесь принимать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mutagen 0 9 декабря, 2008 Опубликовано 9 декабря, 2008 · Жалоба Насколько я знаю нет. Можно использовать 22МГц сигнал 802.11b (надеюсь, что вы в курсе, что надо работать на удвоенной частоте дискретизации) для передискретизации его в 20 МГц каким-нить полифазным фильтром. А вообще, советую уже сейчас задуматься от том, как ещё и 802.11n собираетесь принимать. Да можно было бы, но проблема в том , что еще один фильтр уже не влезет в прошивку. Без дополнительной фильтрации никак не получить 22 и 20 Мгц ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitrmax 0 9 декабря, 2008 Опубликовано 9 декабря, 2008 · Жалоба Да можно было бы, но проблема в том , что еще один фильтр уже не влезет в прошивку. Без дополнительной фильтрации никак не получить 22 и 20 Мгц ? У вас сейчас две дискретизации со скоростью 88 и 100 МГц, правильно? Оставьте только одну, например 88. Тогда может быть будет вместо второго дециматора влезет ресэмплер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mutagen 0 9 декабря, 2008 Опубликовано 9 декабря, 2008 · Жалоба У вас сейчас две дискретизации со скоростью 88 и 100 МГц, правильно? Оставьте только одну, например 88. Тогда может быть будет вместо второго дециматора влезет ресэмплер. Так точно, могу оставить частоту дискретизации либо 88 либо 100 Мгц. Например сэмплируем на 88мгц, проблем для DSSS не вижу (есть один децимирующий FIR-фильтр). Чтобы получить 20 мгц, нужно 88мгц сдецимировать в 22 раза, а потом интерполировать в 5 раз. Я прав? При этом что от сигнала останется после ресемплера при такой децимации и интерполяции? Но тут же опять фильтрация будет нужна, а я ограничен одним FIR фильтром, т.к. умножителей не хватит в плиске еще на один фильтр.Видимо светит только вариант ресемплера и применение CIC/IIR фильтров.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitrmax 0 9 декабря, 2008 Опубликовано 9 декабря, 2008 · Жалоба Чтобы получить 20 мгц, нужно 88мгц сдецимировать в 22 раза, а потом интерполировать в 5 раз. Так херня получится. Если 88 МГц сдецимировать в 22 раза, то и получите полосу меньше 4 МГц. Её потом можно конечно в 5 раз проинтерполировать, но сигнала шире 4 МГц там уже никогда не появится. Есть два варианта. 1) Пересэмплировать 22 -> 20. Нужно проинтерполировать его до 220 МГц и продецимировать в 11 раз. 2) Пересэмплировать 88 -> 20. Нужно проинтерполировать до 440 МГц и продецимировать в 22 раза. Первый вариант страдает тем, что данные 20 МГц будут получаться с запозданием относительно 22 МГц. Оба варианта звучат страшно, но если сделать полифазный фильтр, то накладных расходов будет едва ли больше чем у простого дециматора. Скажем, если у фильтра будет 66 отвода, то нужно только 6 умножителей, если я ничего не путаю. Правда они должны работать на 10-кратной частоте. Либо умножителей сделать побольше, а их частоту пониже. Я (пока) не программирую ПЛИС, поэтому если что не так, то сорри. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Singer 0 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба Умножители в полифазном фильтре буду работать в любом случае на частоте рабочего клока. Вопрос только в количестве одновременно работающих умножителей, которые на данном рабочем клоке обеспечат нужную частоту обновления на выходе фильтра. Это с точки зрения технической обработки. Теперь с точки зрения математической - На 10 кратной частоте получаются коэффициенты фильтра, а сами полифазные подфильтры (в количестве 10 штук, в случае интерполяции в 10 раз) работают на исходной частоте. Пример - частота дискретизации исходного сигнала fисх = 30 мгц, частота клока fclk = 100 Mhz. Надо получить сигнал с частотой дискритезации fк = 25 мгц. Получается коэффициент пересчета L=5 M =6 (5/6) Фильтр допустим получился на 1000 коэффициентов. Из этого фильтра получаем 5 подфильтров длиной 200 отводов каждый. Получаем на каждый выходной отсчет 200 умножений, при этом на каждый выходной отсчет у нас есть fclk/fк = 4 такта (если учесть что мы не собираемся считать те отсчеты, которые отбрасываются при децимации). Значит нужно 200/4 = 50 умножителей молотящих на частоте 100 мгц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitrmax 0 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба Умножители в полифазном фильтре буду работать в любом случае на частоте рабочего клока. Вопрос только в количестве одновременно работающих умножителей, которые на данном рабочем клоке обеспечат нужную частоту обновления на выходе фильтра. Это с точки зрения технической обработки. Теперь с точки зрения математической - На 10 кратной частоте получаются коэффициенты фильтра, а сами полифазные подфильтры (в количестве 10 штук, в случае интерполяции в 10 раз) работают на исходной частоте. Пример - частота дискретизации исходного сигнала fисх = 30 мгц, частота клока fclk = 100 Mhz. Надо получить сигнал с частотой дискритезации fк = 25 мгц. Получается коэффициент пересчета L=5 M =6 (5/6) Фильтр допустим получился на 1000 коэффициентов. Из этого фильтра получаем 5 подфильтров длиной 200 отводов каждый. Получаем на каждый выходной отсчет 200 умножений, при этом на каждый выходной отсчет у нас есть fclk/fк = 4 такта (если учесть что мы не собираемся считать те отсчеты, которые отбрасываются при децимации). Значит нужно 200/4 = 50 умножителей молотящих на частоте 100 мгц. Ну 1000 коэффицентов - это слишком хороший фильтр для таких нужд. Я думаю, что порядка 100 коллеге хватит. Соответственно, умножителей надо где-то на порядок меньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться