реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Pulse Shaping Filter, Правильно ли понимаю?
Politeh
сообщение Aug 12 2008, 05:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Здравствуйте!

Хотелось бы узнать работу PSF(Pulse Shaping Filter).

В модеме 8PSK в моём случае используется PSF преподнятый косинус. Не могу точно понять как он работает. В книге К.Феер "Беспроводная цифровая связь" написано, что подавая импульсы на PSF преподнятого косинуса, на выходе получаем отклик - импульсную характеристику. Это понятно, но конкретно в модеме тоже нужно модулировать несущую такими же откликами(импульсной характеристикой), или просто обычные импульсы(NRZ) пропускаем через этот PSF, а потом этим резльтатом модулируем несущие в квадратурных каналах?

Спасибо.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
MKS
сообщение Aug 12 2008, 06:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 469
Регистрация: 13-03-05
Пользователь №: 3 315



Подаете на приподнятый косинус +-1, а в зависимости от частоты среза фильтра оставшийся символьный интервал добиваете необходимым кол-вом нулей 0. Например если частота среза 0.5 от частоты Найквиста то добавляем один 0.
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 12 2008, 06:32
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Цитата(MKS @ Aug 12 2008, 10:06) *
Подаете на приподнятый косинус +-1, а в зависимости от частоты среза фильтра оставшийся символьный интервал добиваете необходимым кол-вом нулей 0. Например если частота среза 0.5 от частоты Найквиста то добавляем один 0.



Т.е. всё таки просто последовательность импульсов и соответствующее количество нулей между ними.
А модуляция фазы несущих за счёт чего происходит? Ведь должна быть разная амплитуда на выходе PSF, чтобы получить 8PSK? Или я не так понимаю?
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 12 2008, 06:51
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Конечно дельта-импульсами на символьном интервале, вы же хотите приподнятый косинус получить а не произведение приподнятого косинуса с частотной характеристикой прямоугольного импульса. У вас так же должен быть преобразователь входных данных в координаты точек PSK, за счёт этого и будет фазовая модуляция. Только ещё на передаче у вас должен быть корень из приподнятого косинуса, и на приёме сответственно будет согласованный корень из приподнятого косинуса. Полосовой фильтр на выходе идеального квадратурного модулятора не нужен.
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 12 2008, 07:01
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Цитата(petrov @ Aug 12 2008, 10:51) *
Конечно дельта-импульсами на символьном интервале, вы же хотите приподнятый косинус получить а не произведение приподнятого косинуса с частотной характеристикой прямоугольного импульса. У вас так же должен быть преобразователь входных данных в координаты точек PSK, за счёт этого и будет фазовая модуляция. Только ещё на передаче у вас должен быть корень из приподнятого косинуса, и на приёме сответственно будет согласованный корень из приподнятого косинуса. Полосовой фильтр на выходе идеального квадратурного модулятора не нужен.


А можно подрнобнее о преобразователе точек в PSK? Т.е. мне нужно найти такое соотношение между входными данными данными на PSF, чтобы сумма промодулированных сигналов давала нужную фазу. Где можно почитать об этом преобразователе? Т.е. всё таки за счёт амплитуды получаем готовый модулированный сигнал.
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 12 2008, 07:03
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Политех @ Aug 12 2008, 09:32) *
Т.е. всё таки просто последовательность импульсов и соответствующее количество нулей между ними.
А модуляция фазы несущих за счёт чего происходит? Ведь должна быть разная амплитуда на выходе PSF, чтобы получить 8PSK? Или я не так понимаю?

То что у Вас на схеме обозначено SRC может быть либо аналоговым ФНЧ, либо его цифровым эквивалентом, преобразующим форму импульса чтобы сузить спектр и уменьшить внеполосные излучения.
Приподнятый косинус это одна из самых простых реализаций ФНЧ в цифре.
Реально Вам надо перемножить битовые импульсы с коэффициентами. Т.е. каждый битовый импульс будет выглядеть как "колокол" с амплитудой соответствующей его коду. В простейшем случае достаточно 8-16 уровней обкатки этого импульса.
Надеюсь понятно объяснил.


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 12 2008, 07:08
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Политех @ Aug 12 2008, 11:01) *
А можно подрнобнее о преобразователе точек в PSK? Т.е. мне нужно найти такое соотношение между входными данными данными на PSF, чтобы сумма промодулированных сигналов давала нужную фазу. Где можно почитать об этом преобразователе?


Это просто таблица в которой входные данные адресуют координаты I,Q точек созвездия, положение точки и задаёт фазу, в книжках просто рисуют созвездие и нумеруют точки.
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 12 2008, 07:26
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Цитата(petrov @ Aug 12 2008, 11:08) *
Это просто таблица в которой входные данные адресуют координаты I,Q точек созвездия, положение точки и задаёт фазу, в книжках просто рисуют созвездие и нумеруют точки.


Спасибо! С этим разобрался.


Цитата(alexkok @ Aug 12 2008, 11:03) *
То что у Вас на схеме обозначено SRC может быть либо аналоговым ФНЧ, либо его цифровым эквивалентом, преобразующим форму импульса чтобы сузить спектр и уменьшить внеполосные излучения.
Приподнятый косинус это одна из самых простых реализаций ФНЧ в цифре.
Реально Вам надо перемножить битовые импульсы с коэффициентами. Т.е. каждый битовый импульс будет выглядеть как "колокол" с амплитудой соответствующей его коду. В простейшем случае достаточно 8-16 уровней обкатки этого импульса.
Надеюсь понятно объяснил.


Не ясно, что такое - "В простейшем случае достаточно 8-16 уровней обкатки этого импульса." Будьте добры, объясните пожалуйста. Имеется в виду порядок фильтра?
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 12 2008, 16:55
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Политех @ Aug 12 2008, 10:26) *
Не ясно, что такое - "В простейшем случае достаточно 8-16 уровней обкатки этого импульса." Будьте добры, объясните пожалуйста. Имеется в виду порядок фильтра?

Это относится к разрядности коэффициентов и разрядности ЦАП формирующего битовые отсчеты и их обкатку. Проще всего, чтобы хорошо понять это, найти программу расчета цифровых фильтров и менять в ней вид окна, число и разрядность коэффициентов. По уровню боковых лестков фильтра будет наглядно все видно.
Порядок фильтра примерно такой же.


--------------------
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 13 2008, 04:25
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



В матлабе поэкспериментировал с функциями. Вот что получилось. Верхний рисунок - импульсная характеристика. Нижний - реакция фильта при подаче на него трёх последовательных единиц (1 1 1) с символьной скоростью. Теперь я так понимаю такими импульсами и модулируются квадратурные несущие: косинус и синус. Естественно что что они должны подаваться в нужном соотношении(после последовательно параллельного преобразователя который отражает группы из трёх бит в координаты векторов). После фильтра ставится ЦАП и перемножается в аналоговом виде. Только не понимаю, если у меня подаётся два одинаковых импульса(+1) на каждый канал, то после модуляции должна быть фаза в 45 градусов, но тогда и амплитудная модуляция будет присутствовать, так как не могу же сделать я амплитуды импульсов 0.707... .
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 13 2008, 06:41
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Политех @ Aug 13 2008, 07:25) *
В матлабе поэкспериментировал с функциями. Вот что получилось. Верхний рисунок - импульсная характеристика. Нижний - реакция фильта при подаче на него трёх последовательных единиц (1 1 1) с символьной скоростью. Теперь я так понимаю такими импульсами и модулируются квадратурные несущие: косинус и синус.

В общем да, но в реальных системах, работающих в эфире или с частотным уплотнением, есть есть требование к уровню помех в соседнем канале. Например для КВ диапазона это -40дБ, насколько помню.
Чтобы это требование обеспечить, используют цифровые фильтры для модулирующих сигналов. Подавать просто единицы и нули на вход модулятора нельзя. Уровень боковых лепестков этого фильтра должен быть соответствующим.
Цитата
Естественно что что они должны подаваться в нужном соотношении(после последовательно параллельного преобразователя который отражает группы из трёх бит в координаты векторов). После фильтра ставится ЦАП и перемножается в аналоговом виде.

Неправильно, на ЦАП подаются отсчеты уже прошедшие фильтрацию цифровым фильтром. В реальном времени это делать ни к чему, обычно все просчитывается заранее и записывается в ПЗУ.
За один битовый отсчет нужно выбрать из ПЗУ и подать на ЦАП число отсчетов равное порядку фильтра. Поэтому удобнее выбирать порядок как степень двух.
Цитата
Только не понимаю, если у меня подаётся два одинаковых импульса(+1) на каждый канал, то после модуляции должна быть фаза в 45 градусов, но тогда и амплитудная модуляция будет присутствовать, так как не могу же сделать я амплитуды импульсов 0.707... .

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


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 13 2008, 07:08
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Политех @ Aug 13 2008, 08:25) *
Естественно что что они должны подаваться в нужном соотношении(после последовательно параллельного преобразователя который отражает группы из трёх бит в координаты векторов). После фильтра ставится ЦАП и перемножается в аналоговом виде. Только не понимаю, если у меня подаётся два одинаковых импульса(+1) на каждый канал, то после модуляции должна быть фаза в 45 градусов, но тогда и амплитудная модуляция будет присутствовать, так как не могу же сделать я амплитуды импульсов 0.707... .


А что это за координата такая (1,1), нету в 8PSK такой точки, на выходе таблицы у вас должно быть как раз (0.707, 0.707) для 45 градусов.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 13 2008, 07:24
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(MKS @ Aug 12 2008, 10:06) *
Подаете на приподнятый косинус +-1, а в зависимости от частоты среза фильтра оставшийся символьный интервал добиваете необходимым кол-вом нулей 0. Например если частота среза 0.5 от частоты Найквиста то добавляем один 0.


Если оставшийся символьный интервал добиваете нулями, то косинус должен быть не приподнятый а обычный smile.gif


Цитата(alexkok @ Aug 13 2008, 10:41) *
Неправильно, на ЦАП подаются отсчеты уже прошедшие фильтрацию цифровым фильтром. В реальном времени это делать ни к чему, обычно все просчитывается заранее и записывается в ПЗУ.
За один битовый отсчет нужно выбрать из ПЗУ и подать на ЦАП число отсчетов равное порядку фильтра. Поэтому удобнее выбирать порядок как степень двух.


Не могли бы подкинуть ссылочку, где можно почитать, как заранее просчитать выход фильтра и разместить его в ПЗУ. Интересует структура ПЗУ и алгоритм выбора, а то в моем представлении ПЗУ уж очень большое получается.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 13 2008, 07:25
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 13 2008, 11:24) *
Если оставшийся символьный интервал добиваете нулями, то косинус должен быть не приподнятый а обычный smile.gif


Это как?
Go to the top of the page
 
+Quote Post
MKS
сообщение Aug 13 2008, 07:31
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 469
Регистрация: 13-03-05
Пользователь №: 3 315



Цитата(Михаил_K @ Aug 13 2008, 10:24) *
Если оставшийся символьный интервал добиваете нулями, то косинус должен быть не приподнятый а обычный smile.gif

Это вы о чем ?
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 13 2008, 07:50
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Цитата(petrov @ Aug 13 2008, 11:08) *
А что это за координата такая (1,1), нету в 8PSK такой точки, на выходе таблицы у вас должно быть как раз (0.707, 0.707) для 45 градусов.


Понял. Спасибо.


Цитата(alexkok @ Aug 13 2008, 10:41) *
В общем да, но в реальных системах, работающих в эфире или с частотным уплотнением, есть есть требование к уровню помех в соседнем канале. Например для КВ диапазона это -40дБ, насколько помню.
Чтобы это требование обеспечить, используют цифровые фильтры для модулирующих сигналов. Подавать просто единицы и нули на вход модулятора нельзя. Уровень боковых лепестков этого фильтра должен быть соответствующим.

Неправильно, на ЦАП подаются отсчеты уже прошедшие фильтрацию цифровым фильтром. В реальном времени это делать ни к чему, обычно все просчитывается заранее и записывается в ПЗУ.
За один битовый отсчет нужно выбрать из ПЗУ и подать на ЦАП число отсчетов равное порядку фильтра. Поэтому удобнее выбирать порядок как степень двух.

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


Это я уже промоделировал в Матлабе с использованием фильтра. Правда сейчас у меня почему то отклики налазят друг на друга, странно - слишком растянутая импульсная характеристика получилась(ширина её при порядке равном 9 выходит около 0.4 мс), хотя параметры выбрал из стандарта: коэффициент сглаживания = 0.6. Частота симвовлов 10500 Гц, период соот-но 0.095 мс.

Вот код:

fs = 10500; - частота символов


Ts = 1/fs;

fd = 2*fs; - частота дискретизации

[num,den] = rcosine(fs,fd,'fir',0.6, 2); - расчет фильтра.
[H T]= impz(num); - импульсная хар-ка
T = T.*(1/fd); - ось времени
subplot(2,1,1)
stem(T, H) - рисуем
grid on;
% [A w] = freqz(num, den); - рисуем АЧХ
% subplot(2,1,2)
% w*fd;
% plot(w*fd/pi, 20*log10(abs(A)))
% ylim([-100 10])
% grid on


[y TT] = rcosflt([0.7 ,0.7],fs/6, fd,['filter', 'fir'],num); пропускаем два импульса по 0.7 через фильтр.
subplot(2,1,2)
stem(TT,y) - рисуем.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 13 2008, 07:55
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Неправильно параметры фильтра посчитаны.
NUM = RCOSINE(Fd, Fs) designs an FIR raised cosine filter to filter a
digital signal with the digital transfer sampling frequency Fd. The
filter sampling frequency is Fs.
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 13 2008, 08:25
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Цитата(petrov @ Aug 13 2008, 11:55) *
Неправильно параметры фильтра посчитаны.
NUM = RCOSINE(Fd, Fs) designs an FIR raised cosine filter to filter a
digital signal with the digital transfer sampling frequency Fd. The
filter sampling frequency is Fs.


У меня обозначения перепутаны Fs и Fd, но в вызове функции они стоят на нужном месте. Посмотрите внимательнее.
Насколько могут пересекаться соседние символы? Если боковыми липестками пересекаются?
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 13 2008, 08:49
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Политех @ Aug 13 2008, 12:25) *
[y TT] = rcosflt([0.7 ,0.7],fs/6, fd,['filter', 'fir'],num);


А почему символьная частота вдруг стала fs/6?

Вообще советую вам симулинк, всё гораздо нагляднее.
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 13 2008, 09:11
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Цитата(petrov @ Aug 13 2008, 12:49) *
А почему символьная частота вдруг стала fs/6?

Вообще советую вам симулинк, всё гораздо нагляднее.


Извиняюсь, это пробовал как будет выглядеть. Конечно пробовал и просто fs.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 13 2008, 10:14
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 13 2008, 11:25) *
Это как?


Приподнятый косинус используют для компенсации синка, если же вы подаете на вход фильтра дельта импульсы, то синка нет, следовательно и компенсировать нечего. Т.е. АЧХ фильтра - просто корень из косинуса.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 13 2008, 10:34
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 13 2008, 14:14) *
Приподнятый косинус используют для компенсации синка, если же вы подаете на вход фильтра дельта импульсы, то синка нет, следовательно и компенсировать нечего. Т.е. АЧХ фильтра - просто корень из косинуса.


Это не так. Фильтр с АЧХ приподнятого косинуса имеет импульсную характеристику обладающую тем свойством что она равна нулю в точках отстоящих от максимума на интервалы кратные символьному, и только. Если мы хотим получить импульсы с такими свойствами то естественно должны возбуждать фильтр последовательностью дельта-импульсов отстоящими друг от друга на символьный интервал, чтобы собственно получить импульс. Если же мы возбуждаем приподнятый косинус прямоугольными импульсами то соответственно получаем импульсы которые равны свёртке прямоугольного импульса и импульса приподнятого косинуса, которые ессно свойством отсутствия межсимвольной интерференции не обладают, поэтому нужен корректирующий фильтр обратный синк.
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 13 2008, 16:53
Сообщение #23


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Политех @ Aug 13 2008, 10:50) *
Понял. Спасибо.
Это я уже промоделировал в Матлабе с использованием фильтра. Правда сейчас у меня почему то отклики налазят друг на друга, странно - слишком растянутая импульсная характеристика получилась(ширина её при порядке равном 9 выходит около 0.4 мс), хотя параметры выбрал из стандарта: коэффициент сглаживания = 0.6. Частота симвовлов 10500 Гц, период соот-но 0.095 мс.

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


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 13 2008, 19:00
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alexkok @ Aug 13 2008, 20:53) *
Но частота отсчетов должна быть больше символьной в N раз, где N - порядок фильтра.


Никак не связан порядок фильтра с частотой отсчётов.
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 13 2008, 19:54
Сообщение #25


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(petrov @ Aug 13 2008, 22:00) *
Никак не связан порядок фильтра с частотой отсчётов.

Смотря что понимать под порядком фильтра.
Для FIR фильтра порядок это число коэффициентов и частота отсчетов не может быть меньше чем символьная частота умноженная на число коэффициентов. Больше - может.


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 14 2008, 05:54
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alexkok @ Aug 13 2008, 23:54) *
Смотря что понимать под порядком фильтра.
Для FIR фильтра порядок это число коэффициентов и частота отсчетов не может быть меньше чем символьная частота умноженная на число коэффициентов. Больше - может.


Ерунда какая-то...
Допустим символьная частота 1, 8 отсчётов на символ, т е частота отсчётов 8, коэффициентов 200, вот меньше запросто.
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 14 2008, 06:14
Сообщение #27


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(petrov @ Aug 14 2008, 08:54) *
Ерунда какая-то...
Допустим символьная частота 1, 8 отсчётов на символ, т е частота отсчётов 8, коэффициентов 200, вот меньше запросто.

Ну и промоделируйте какой уровень боковых лепестков будет в соседнем канале для обсуждаемого случая:
символьная частота - 10кГц, т.е. полоса канала 25кГц,
тип фильтра - приподнятый косинус,
плюс Ваши условия.
Что будет за этой полосой?
Я навскидку оцениваю в - 15..-18дБ.


--------------------
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Aug 14 2008, 06:30
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(petrov @ Aug 13 2008, 14:34) *
Это не так. Фильтр с АЧХ приподнятого косинуса имеет импульсную характеристику обладающую тем свойством что она равна нулю в точках отстоящих от максимума на интервалы кратные символьному, и только. Если мы хотим получить импульсы с такими свойствами то естественно должны возбуждать фильтр последовательностью дельта-импульсов отстоящими друг от друга на символьный интервал, чтобы собственно получить импульс. Если же мы возбуждаем приподнятый косинус прямоугольными импульсами то соответственно получаем импульсы которые равны свёртке прямоугольного импульса и импульса приподнятого косинуса, которые ессно свойством отсутствия межсимвольной интерференции не обладают, поэтому нужен корректирующий фильтр обратный синк.


Кстати, у меня функция NUM = RCOSINE(Fd, Fs) создаёт КИХ фильтр длиной 3 символа. Т.е. при возбуждении его последовательностью дельта-импульсов отстоящими друг от друга на символьный интервал межсимвольная интерференция в точках отстоящих от максимума на интервалы кратные символьному действительно отсутствует.
Но между ними она присутствует и в этих точках есть влияние символа на два соседних.
Насколько данное влияние полезно или вредно по вашему?
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 14 2008, 07:00
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alexkok @ Aug 14 2008, 10:14) *
Что будет за этой полосой?


На 200/8=25 символьных интервалов будет отклик от каждого символа распространяться, на вскидку более 60 дБ будет подавление за пределами основного лепестка.

Цитата(_4afc_ @ Aug 14 2008, 10:30) *
Кстати, у меня функция NUM = RCOSINE(Fd, Fs) создаёт КИХ фильтр длиной 3 символа. Т.е. при возбуждении его последовательностью дельта-импульсов отстоящими друг от друга на символьный интервал межсимвольная интерференция в точках отстоящих от максимума на интервалы кратные символьному действительно отсутствует.
Но между ними она присутствует и в этих точках есть влияние символа на два соседних.
Насколько данное влияние полезно или вредно по вашему?


Прокиса почитайте. Так и должно быть. Чем меньше коэффициент ската тем больше будут всплески на интервалах между моментами синхронизации и например джиттер синхронизации будет соответственно больший вклад вносить.
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 14 2008, 07:08
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(petrov @ Aug 14 2008, 09:56) *
На 200/8=25 символьных интервалов будет отклик от каждого символа распространяться, на вскидку более 60 дБ будет подавление за пределами основного лепестка.

А какая полоса этого фильтра будет и что при этом от полезного сигнала останется?
Мы похоже обсуждаем разные случаи, я возбудитель передатчика (см. пост №1), а Вы приемник.


--------------------
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 14 2008, 07:23
Сообщение #31


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 13 2008, 14:34) *
Это не так. Фильтр с АЧХ приподнятого косинуса имеет импульсную характеристику обладающую тем свойством что она равна нулю в точках отстоящих от максимума на интервалы кратные символьному, и только. Если мы хотим получить импульсы с такими свойствами то естественно должны возбуждать фильтр последовательностью дельта-импульсов отстоящими друг от друга на символьный интервал, чтобы собственно получить импульс. Если же мы возбуждаем приподнятый косинус прямоугольными импульсами то соответственно получаем импульсы которые равны свёртке прямоугольного импульса и импульса приподнятого косинуса, которые ессно свойством отсутствия межсимвольной интерференции не обладают, поэтому нужен корректирующий фильтр обратный синк.


Да, Вы правы. Посмотрел в книжке. Такой фильтр действительно называется не косинусным, а приподнятым косинусом, хотя никакого подъема выше 0 дБ, в его АЧХ нет. А я то по серости своей его косинусным называл
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 14 2008, 07:23
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alexkok @ Aug 14 2008, 11:08) *
А какая полоса этого фильтра будет и что при этом от полезного сигнала останется?
Мы похоже обсуждаем разные случаи, я возбудитель передатчика (см. пост №1), а Вы приемник.


Полоса основного лепестка для коэффициента ската 0.6 и имвольной частоты 1 будет 1.6, не будет межсимвольной интерференции и при памяти фильтра на 25 символов будет ОЧЕНЬ хорошее подавление боковых лепестков. И не имеет значеня передатчик это или приёмник.
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 14 2008, 16:54
Сообщение #33


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(petrov @ Aug 14 2008, 10:23) *
Полоса основного лепестка для коэффициента ската 0.6 и имвольной частоты 1 будет 1.6, не будет межсимвольной интерференции и при памяти фильтра на 25 символов будет ОЧЕНЬ хорошее подавление боковых лепестков. И не имеет значеня передатчик это или приёмник.

Я привык использовать для полосы доли частоты Найквиста и мне не понятно как Вы считаете.
Можете объяснить или дать название книги где это описано?


--------------------
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 15 2008, 05:15
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



В общем вот что я получил.

fs = 10500;
Ts = 1/fs;

fd = 10*fs
Td = 1/fd

[num,den] = rcosine(fs,fd,'fir', 0.6, 2); % 0.6 - коэффициет сглаживания, 2 - задержка в символах
[H T]= impz(num);
T = T.*Td;
subplot(3,1,1)

stem(T,H)
grid on;

% ==================================Спектр
[A w] = freqz(num, den);
subplot(3,1,2)
w*fd;
plot(w*fd/pi, 20*log10(abs(A)))
ylim([-100 10])
grid on
%=========================================

[y1 TT1] = rcosflt([1 0 0 0],fs, fd,['filter','fir'],num);
[y2 TT2] = rcosflt([0 1 0 0],fs, fd,['filter','fir'],num);
[y3 TT3] = rcosflt([0 0 1 0],fs, fd,['filter','fir'],num);
[y4 TT4] = rcosflt([0 0 0 -1],fs, fd,['filter','fir'],num);

[y5 TT5] = rcosflt([1 1 1 -1],fs, fd,['filter','fir'],num);
subplot(3,1,3)
stem(TT1,[y1 y2 y3 y4 y5], 'filled')
grid on;
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 15 2008, 05:56
Сообщение #35


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(petrov @ Aug 14 2008, 10:23) *
Полоса основного лепестка для коэффициента ската 0.6 и имвольной частоты 1 будет 1.6, не будет межсимвольной интерференции и при памяти фильтра на 25 символов будет ОЧЕНЬ хорошее подавление боковых лепестков.

Ширина полосы фильтра при этом будет в 20 раз уже полосы сигнала, подавление боковых полос самого сигнала будет тоже где-то - 60дБ от уровня несущей, т. е. на уровне шумов передатчика.
В матлабе оно может и будет работать, а в железе нет.
Цитата
И не имеет значеня передатчик это или приёмник.

Вот это точно. smile.gif

Цитата(Политех @ Aug 15 2008, 08:15) *
fd = 10*fs

Советую увеличить fd до 32*fs как минимум.

Сообщение отредактировал alexkok - Aug 15 2008, 05:57


--------------------
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 15 2008, 06:31
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Мне кажется всё-таки полоса сигнала(на картинке) широкой. Как такой сигнал с таким спектром втиснется после модуляции в канал в 25 кГц? Или я не прав. Но если сужать импльсный отклик, то соотв-нно расширяется спектр, и наоборот(в этом случае получаем символьную интерференцию).
Go to the top of the page
 
+Quote Post
alex_os
сообщение Aug 15 2008, 06:35
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(alexkok @ Aug 15 2008, 09:56) *
Ширина полосы фильтра при этом будет в 20 раз уже полосы сигнала, подавление боковых полос самого сигнала будет тоже где-то - 60дБ от уровня несущей, т. е. на уровне шумов передатчика.
В матлабе оно может и будет работать, а в железе нет.

Интересно почему это уже будет в 20 раз?!!!

Цитата(alexkok @ Aug 15 2008, 09:56) *
Советую увеличить fd до 32*fs как минимум.

32 многовато smile.gif, да 10 тоже, достаточно будет fd = (2..4)*fs


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
alexkok
сообщение Aug 15 2008, 06:52
Сообщение #38


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Политех @ Aug 15 2008, 09:31) *
Мне кажется всё-таки полоса сигнала(на картинке) широкой. Как такой сигнал с таким спектром втиснется после модуляции в канал в 25 кГц? Или я не прав. Но если сужать импльсный отклик, то соотв-нно расширяется спектр, и наоборот(в этом случае получаем символьную интерференцию).

25кГц это моё предположение, какая у Вас задача я не знаю.

Цитата(alex_os @ Aug 15 2008, 09:35) *
Интересно почему это уже будет в 20 раз?!!!

Полоса и фильтра и сигнала (символа) обратно пропорциональна длине фильтра или сигнала.
А соотношение длительностей, которое предложил petrov - 8 и 200 и дает соотношение полос около двадцати. Если Вы насчет точности оценки возмущаетесь smile.gif то более точно в 16 раз.


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 15 2008, 07:01
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alexkok @ Aug 15 2008, 10:52) *
25кГц это моё предположение, какая у Вас задача я не знаю.
Полоса и фильтра и сигнала (символа) обратно пропорциональна длине фильтра или сигнала.
А соотношение длительностей, которое предложил petrov - 8 и 200 и дает соотношение полос около двадцати. Если Вы насчет точности оценки возмущаетесь smile.gif то более точно в 16 раз.


Ну не писали бы в ерунды, сбиваете только Политеха, запустите fdatool в матлабе и рассчитайте несколько фильтров с импульсной приподнятого косинуса, и меняйте только количество коэффициентов.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Aug 15 2008, 07:39
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Политех @ Aug 15 2008, 10:31) *
Мне кажется всё-таки полоса сигнала(на картинке) широкой. Как такой сигнал с таким спектром втиснется после модуляции в канал в 25 кГц? Или я не прав. Но если сужать импльсный отклик, то соотв-нно расширяется спектр, и наоборот(в этом случае получаем символьную интерференцию).

Фильтр длинее сделайте и будет Вам счастье.
Например вот так
b = hamming(141)'.*firrcos(140, 1/20, 0.6, 1, 'rolloff', 'sqrt'); 1/20 = fs/fd/2.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 15 2008, 08:42
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



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

1. Вам нужно знать частоту следования символов, назовем ее fs.
2. Выберите количество полных символов, укладывющихся в длине вашего фильтра, исходя из необходимого подавления. Например 32. Назовем его n (для нашего случая n=32, хотя можно и 16, 17, .... и т.д.).
3. Определите необходимую частоту дискретизации (fd) сигнала на выходе вашего фильтра. Причем значение лучше выбирать так, чтобы fd = i*fs, где i - целое число. Очевидно, что i не может быть меньше 4 (Да, здесь я уже чувствую, что сейчас меня будут ругать, говорить, что можно в принципе и 3. В приниципе можно, но не нужно smile.gif ). А вообще частота дискретизации выбирается из условий, в которые включаются тип АЦП, какой фильтр на выходе ЦАП вы можете сделать, собираетесь ли вы сажать на ПЧ в цифре или нет, ну и т.д. Очевидно, что чем выше частота дискретизации, тем дальше будут отодвинуты алиасы на выходе ЦАП, и тем легче от них отфильтроваться.
4. Определяем число коэффициентов фильтра как произведение k = i * n;
5. Выберите коэффициент скругления, исходя из допустимой максимальной ширины спектра сигнала. При этом учтите, что чем меньше коэффициент скругления, тем уже спектр, то тем больше пик-фактор мощности получаемого сигнала.
6. Запускаем FDATOOL в матлабе, выбираем приподнятый косинус, устанавливаем коэффициент скругления, порядок фильтра. Выбираем нормированную частоту. Устанавливаем полосу пропускания, равную 1/i. Выбираем требуемое окно (хорошие результаты дает окно хэмминга). Жмем кнопку "Desing filter" и... вуаля.... Наслаждаемся результатом. smile.gif

Подаем на этот фильтр отсчеты цифрового сигнала, не забывая между каждым из них вставить i-1 нулей, и получаем отличный спектр на выходе. smile.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 15 2008, 09:19
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 15 2008, 12:42) *
2. Выберите количество полных символов, укладывющихся в длине вашего фильтра, исходя из необходимого подавления. Например 32. Назовем его n (для нашего случая n=32, хотя можно и 16, 17, .... и т.д.).


Полных нет нужды.

Цитата(Михаил_K @ Aug 15 2008, 12:42) *
3. Определите необходимую частоту дискретизации (fd) сигнала на выходе вашего фильтра. Причем значение лучше выбирать так, чтобы fd = i*fs, где i - целое число. Очевидно, что i не может быть меньше 4 (Да, здесь я уже чувствую, что сейчас меня будут ругать, говорить, что можно в принципе и 3. В приниципе можно, но не нужно smile.gif ).


Например для коэффициента ската 0.2 по котельникуву будет достаточно 1.2 отсчёта на символ.

Цитата(Михаил_K @ Aug 15 2008, 12:42) *
5. Выберите коэффициент скругления, исходя из допустимой максимальной ширины спектра сигнала. При этом учтите, что чем меньше коэффициент скругления, тем уже спектр, то тем больше пик-фактор мощности получаемого сигнала.


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

Цитата(Михаил_K @ Aug 15 2008, 12:42) *
выбираем приподнятый косинус


Наверное всё же корень из приподнятого косинуса, в приподнятом косинусе смысла нету поскольку он разделён между приёмником и передатчиком.

Цитата(Михаил_K @ Aug 15 2008, 12:42) *
Выбираем требуемое окно (хорошие результаты дает окно хэмминга).


Не забываем что окно портит приподнятый косинус т е вносит межсимвольную интерференцию, а также дополнительно расширяет основной лепесток. Поэтому в коэффициент ската и количество коэффициентов нужно вносить коррективы чтобы расширение и межсимвольные были приемлемыми.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 15 2008, 09:36
Сообщение #43


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 15 2008, 13:19) *
Полных нет нужды.
Например для коэффициента ската 0.2 по котельникуву будет достаточно 1.2 отсчёта на символ.

Дело в том, что дробные значения будет тяжело реализовать аппаратно. Во первых простая полифазная структура не получиться, а во вторых, вы по 0.2 от нуля будете вставлять между цифровыми отсчетами??

Конечно, можно остановиться даже на 2.

Цитата(petrov @ Aug 15 2008, 13:19) *
Надо исходить ещё из того что при меньших коэффициентах скатах сильнее влияет джиттер символьной синхронизации, хуже работают методы синхронизации на основе выделения гармоники символьной, сильнее влияют частотные искажения канала и т. д.


Как показывает практика, увеличение пик-фактора является куда более значительным злом. Я кстати пользуюсь методами, основанными на выделении гармоники, и никогда проблем связанных с джиттером тактового генератора не сталкивался. Кварцевые генераторые имеют хорошие фазовые шумы (китайское барахло по 10 центов за мешок я конечно же не использую). А вот увеличение требований к линейности выходного усилителя, связанное с увеличением пик-фактора стоит больших денег.

Цитата(petrov @ Aug 15 2008, 13:19) *
Наверное всё же корень из приподнятого косинуса, в приподнятом косинусе смысла нету поскольку он разделён между приёмником и передатчиком.


Ну это что человек хочет получить. Если сделать передатчик, то да, а если просто фильтрануть сигнал и посмотреть какие межсимвольные получаются.....

Цитата(petrov @ Aug 15 2008, 13:19) *
Не забываем что окно портит приподнятый косинус т е вносит межсимвольную интерференцию, а также дополнительно расширяет основной лепесток. Поэтому в коэффициент ската и количество коэффициентов нужно вносить коррективы чтобы расширение и межсимвольные были приемлемыми.

Конечно. Но это уже следующая ступень квалификации smile.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 15 2008, 09:58
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 15 2008, 13:36) *
Как показывает практика, увеличение пик-фактора является куда более значительным злом. Я кстати пользуюсь методами, основанными на выделении гармоники, и никогда проблем связанных с джиттером тактового генератора не сталкивался. Кварцевые генераторые имеют хорошие фазовые шумы (китайское барахло по 10 центов за мешок я конечно же не использую).


Дело тут не в кварцевом генераторе, пусть он вообще идеальный, просто символьная синхронизация из-за конечного времени усреднения будет иметь джиттер выборки отсчёта, и для меньшего коэффициента ската на приёме точки созвездия будут больший разброс иметь при том же времени усреднения символьного синхронизатора.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 15 2008, 10:40
Сообщение #45


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 15 2008, 13:58) *
Дело тут не в кварцевом генераторе, пусть он вообще идеальный, просто символьная синхронизация из-за конечного времени усреднения будет иметь джиттер выборки отсчёта, и для меньшего коэффициента ската на приёме точки созвездия будут больший разброс иметь при том же времени усреднения символьного синхронизатора.


Да, конечно. Теоретически.
Практически я этого никогда не замечал. Влияние различных шумов, которые имеют место в реальном сигнале очевидно перевешивает. Да и сделать петлю ФАПЧ по тактовой с хорошими шумами тоже не проблема, особенно для созвездий с небольшим количеством точек.

Так что при определении коэффициента ската все-таки нужно пользоваться другими соображениями. Например маской спектра, указнной в нормативных документах.
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 15 2008, 11:29
Сообщение #46


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Михаил_K @ Aug 13 2008, 02:24) *
Не могли бы подкинуть ссылочку, где можно почитать, как заранее просчитать выход фильтра и разместить его в ПЗУ. Интересует структура ПЗУ и алгоритм выбора, а то в моем представлении ПЗУ уж очень большое получается.


у меня SQRT(RRC) 64 го порядка на 8*Fверхнее занимает 4 M4K блока + немножко логики. Ссылку дать не могу, делал все самостоятельно. Там не сложно.

PS. это фильтр для обоих I и Q каналов, правда для одного канала все равно будет 4 M4K блока


--------------------
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 15 2008, 12:41
Сообщение #47


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(des00 @ Aug 15 2008, 15:29) *
у меня SQRT(RRC) 64 го порядка на 8*Fверхнее занимает 4 M4K блока + немножко логики. Ссылку дать не могу, делал все самостоятельно. Там не сложно.

PS. это фильтр для обоих I и Q каналов, правда для одного канала все равно будет 4 M4K блока


Расшифруйте плиз 4 M4K. Не понял.
И потом, в фильтре всего 65 коэффициетов??
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 15 2008, 13:37
Сообщение #48


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Михаил_K @ Aug 15 2008, 07:41) *
Расшифруйте плиз 4 M4K. Не понял.
И потом, в фильтре всего 65 коэффициетов??


M4K это блочная память альтер, 1 M4K = 4096 битов (если не считать дополнительные биты четности).

У меня в фильтре с приподнятым косинусом и коэффициентом скругления 1.28, 64 коэффициента, с разрядностью 18 бит.

этого мне достаточно, для формирования спектра с подавлением вне полосы не менее 60дБ.


--------------------
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 15 2008, 16:29
Сообщение #49


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(des00 @ Aug 15 2008, 17:37) *
M4K это блочная память альтер, 1 M4K = 4096 битов (если не считать дополнительные биты четности).

У меня в фильтре с приподнятым косинусом и коэффициентом скругления 1.28, 64 коэффициента, с разрядностью 18 бит.

этого мне достаточно, для формирования спектра с подавлением вне полосы не менее 60дБ.



Какой коэффициент интерполяции и какая разрядность сигнала на выходе? Какой вид модуляции используется.

Я правильно понимаю, что для всех возможных вариантов цифрового сигнала, число которых 64/Ki (где Ki - коэффициент интерполяции) были просчитаны выходы фильтра и записаны в память?
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 17 2008, 06:15
Сообщение #50


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Михаил_K @ Aug 15 2008, 11:29) *
Какой коэффициент интерполяции и какая разрядность сигнала на выходе? Какой вид модуляции используется.

Я правильно понимаю, что для всех возможных вариантов цифрового сигнала, число которых 64/Ki (где Ki - коэффициент интерполяции) были просчитаны выходы фильтра и записаны в память?


я же уже писал, спектр данных Fверхнее, фильтр работает на 8*Fверхнее. Т.е. интерполяция в 8 раз. Выход 18 бит. Данный фильтр у меня работает в режиме формирования спектра QPSK/QAM16.

понимаете абсолютно правильно, так и было сделано.

Извините но большего сказать не могу, по голове настучат. smile.gif


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 17 2008, 09:03
Сообщение #51


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Aug 17 2008, 10:15) *
Извините но большего сказать не могу, по голове настучат. :)


Секрет Полишенеля :)
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 17 2008, 09:51
Сообщение #52


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Aug 17 2008, 04:03) *
Секрет Полишенеля smile.gif


не хочу давать повода, нашей службе безопасности. Да и в договоре о неразглашении моя подпись все же стоит.


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 17 2008, 09:56
Сообщение #53


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Aug 17 2008, 13:51) *
не хочу давать повода, нашей службе безопасности. Да и в договоре о неразглашении моя подпись все же стоит.


Какой ужас :)
Go to the top of the page
 
+Quote Post
Politeh
сообщение Aug 18 2008, 06:08
Сообщение #54


Местный
***

Группа: Свой
Сообщений: 467
Регистрация: 7-06-06
Пользователь №: 17 829



Ладно, разобрались.
Хотел ещё спросить, может кто-нибудь Спилкера качал с фтп "Цифровая спутниковая связь". Я скачал полностью, но не могу открыть в DJVU редакторе.Уже несколько верисий перепробовал. Может скажет кто, почему?
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 18 2008, 06:52
Сообщение #55


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(des00 @ Aug 17 2008, 10:15) *
я же уже писал, спектр данных Fверхнее, фильтр работает на 8*Fверхнее. Т.е. интерполяция в 8 раз. Выход 18 бит. Данный фильтр у меня работает в режиме формирования спектра QPSK/QAM16.

понимаете абсолютно правильно, так и было сделано.

Извините но большего сказать не могу, по голове настучат. smile.gif


Жаль конечно. Но может кто другой меня поправит, потому-что я не понимаю.

Если интерполяция в 8 раз, то значит всего на входе фильтра возможно 2^(64/8) = 256 варинатов.
Учитывая что формируется еще и сигнал QAM16, значит в два раза больше, т.е. 512. Интерполяция в 8 раз, значит для каждого варианта 8 отсчетов сигнала на выход. Т.е. 512*8 = 4096 ячеек памяти необходимо. Если сигнал на выходе 18 разрядов, то значит вы должны были использовать 18 блоков 4 килобитной памяти, а не 4. Вот этого я и не понимаю.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 18 2008, 16:52
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 18 2008, 10:52) *
Жаль конечно. Но может кто другой меня поправит, потому-что я не понимаю.

Если интерполяция в 8 раз, то значит всего на входе фильтра возможно 2^(64/8) = 256 варинатов.
Учитывая что формируется еще и сигнал QAM16, значит в два раза больше, т.е. 512. Интерполяция в 8 раз, значит для каждого варианта 8 отсчетов сигнала на выход. Т.е. 512*8 = 4096 ячеек памяти необходимо. Если сигнал на выходе 18 разрядов, то значит вы должны были использовать 18 блоков 4 килобитной памяти, а не 4. Вот этого я и не понимаю.


Там конечно же используется несколько обращений в память и ещё внешние арифметические операции.

Полифазный фильтр 8 фаз по 8 символов в линии задержки. Требуется 8 256*16 блоков, если один из битов адреса 1 то соответствующий отсчёт просуммирован в ячейке памяти, если 0 то соответственно нулевой вклад в ячейку просуммирован. Так как импульсная характеристика симметрична то достаточно 4 256*16 блоков, потребуется соответственно в два раза больше обращений, половина обращений с адресом с обратным порядком битов. Для 16 QAM 4 обращения в блок для вычисления выходного отсчёта, например сначала символы с координатой 1, для них в соответствующих позициях адреса 1 для других символов 0, выход памяти накпливаем, затем символы -1, в соответствующих позициях адреса 1 для остальных символов 0, выход памяти накапливаем с обратным знаком, затем символы с координатой 3, выход памяти накапливаем с умножением на 3, затем символы с координатой -3, выход памяти накапливаем с умножением на -3, всё получили один выходной отсчёт. И так для всех выходных отсчётов с соответствующим им блоком памяти. Используется также двухпортовость памяти и т. п.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 19 2008, 09:22
Сообщение #57


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 18 2008, 20:52) *
Там конечно же используется несколько обращений в память и ещё внешние арифметические операции.

Полифазный фильтр 8 фаз по 8 символов в линии задержки. Требуется 8 256*16 блоков, если один из битов адреса 1 то соответствующий отсчёт просуммирован в ячейке памяти, если 0 то соответственно нулевой вклад в ячейку просуммирован. Так как импульсная характеристика симметрична то достаточно 4 256*16 блоков, потребуется соответственно в два раза больше обращений, половина обращений с адресом с обратным порядком битов. Для 16 QAM 4 обращения в блок для вычисления выходного отсчёта, например сначала символы с координатой 1, для них в соответствующих позициях адреса 1 для других символов 0, выход памяти накпливаем, затем символы -1, в соответствующих позициях адреса 1 для остальных символов 0, выход памяти накапливаем с обратным знаком, затем символы с координатой 3, выход памяти накапливаем с умножением на 3, затем символы с координатой -3, выход памяти накапливаем с умножением на -3, всё получили один выходной отсчёт. И так для всех выходных отсчётов с соответствующим им блоком памяти. Используется также двухпортовость памяти и т. п.


Ну несколько обращений в память - это конечно хорошо, но к сожалению, как правило, такой роскоши нет. Приходится работать на максимальных частотах. В последнем моем модеме, например, частота дискретизации сигнала повышалась до 200 МГц, при том что ПЛИС на такой частоте уже на работет. Работал на 100 МГц.

Но упомянув внешние арифметические операции, вы натолкнули меня на другую мысль. Ведь весь фильтр можно разбить на части. Тогда объем памяти будет меньше. Например, в вышеуказанном случае, можно фильтр разбить на 4 части. Тогд получаем в каждой части 2 двухбитных коэффициента, т.е. 4 бита адреса, плюс еще 3 бита адреса на фазы. Итого 7. Сигнал 18 бит. Всего нужно (2^7)*18 = 2304 бита. Т.е. 1 4килобитный блок. Дальше делаем все четыре части аналогично, и просто складываем выходы всех 4х блоков.

Кстати двухпортовость памяти несомненно используется, вот только правильное ее использование видится как с одного порта формируем канал I, с другого Q
smile.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 19 2008, 09:48
Сообщение #58


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 19 2008, 13:22) *
Ну несколько обращений в память - это конечно хорошо, но к сожалению, как правило, такой роскоши нет. Приходится работать на максимальных частотах. В последнем моем модеме, например, частота дискретизации сигнала повышалась до 200 МГц, при том что ПЛИС на такой частоте уже на работет. Работал на 100 МГц.


В полифазном фильтре как раз такая роскошь есть. Для обсуждаемого фильтра 8 обращений на порт памяти между выдачёй отсчёта.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 19 2008, 10:52
Сообщение #59


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 19 2008, 13:48) *
В полифазном фильтре как раз такая роскошь есть. Для обсуждаемого фильтра 8 обращений на порт памяти между выдачёй отсчёта.

В том-то и дело, что зачастую отсчет выдавать нужно каждый такт системной частоты. И то что фильтр реализуется в полифазной структуре дела не меняет. Кстати, при реализации его на памяти, говорить о структуре уже становится затруднительно (мне так кажется).
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 19 2008, 11:26
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 19 2008, 14:52) *
В том-то и дело, что зачастую отсчет выдавать нужно каждый такт системной частоты. И то что фильтр реализуется в полифазной структуре дела не меняет. Кстати, при реализации его на памяти, говорить о структуре уже становится затруднительно (мне так кажется).


Ну как же меняет ещё как, и полифазная структура остаётся, для обсуждаемого фильтра думаю даже 200 МГц достижимы, в него входят простые элементы работающие на частоте более 200 МГц + конвейеризация.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 19 2008, 11:32
Сообщение #61


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 19 2008, 15:26) *
Ну как же меняет ещё как, и полифазная структура остаётся, для обсуждаемого фильтра думаю даже 200 МГц достижимы, в него входят простые элементы работающие на частоте более 200 МГц + конвейеризация.


Тогда поделитесь секретом, как получить частоту дискретизации сигнала 200 МГц, если для получения каждого отсчета нужно несколько обращений к памяти.

С учетом приведенной ниже цитаты из даташита

Block SelectRAM Switching Characteristics
Clock CLK to DOUT output TBCKO 2.65 ns, Max
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 19 2008, 11:49
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 19 2008, 15:32) *
Тогда поделитесь секретом, как получить частоту дискретизации сигнала 200 МГц, если для получения каждого отсчета нужно несколько обращений к памяти.

С учетом приведенной ниже цитаты из даташита

Block SelectRAM Switching Characteristics
Clock CLK to DOUT output TBCKO 2.65 ns, Max


Она даже слишком быстрая, все 4 блока памяти работают параллельно, в каждом вычисляется по 2 отсчёта на одном порту, на один отсчёт 4 выборки требуется для 16 QAM. Таким образом получаем 8 отсчётов и с выхода всех блоков собираем уже с частотой 200 МГц + плюс простые арифметические операции, память тоже работает на 200 Мгц. Второй порт всех блоков для другого квадратурного канала.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 19 2008, 12:09
Сообщение #63


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 19 2008, 15:49) *
Она даже слишком быстрая, все 4 блока памяти работают параллельно, в каждом вычисляется по 2 отсчёта на одном порту, на один отсчёт 4 выборки требуется для 16 QAM. Таким образом получаем 8 отсчётов и с выхода всех блоков собираем уже с частотой 200 МГц + плюс простые арифметические операции, память тоже работает на 200 Мгц. Второй порт всех блоков для другого квадратурного канала.


Если я Вас правильно понял, вы предлагаете просто другое перераспределение памяти. Дальше требуется мультиплексор, который будет выбирать текущий отсчет, ну или регистр сдвига. Плюс аккумуляторы со сбросом. Да, такой варинат иммет право на существование.
Правда мне разделение фильтра кажется более простым решением (с точки зрения осмысления), хотя сумматоров он наверное потребует большего количества.
Хотя нет.... Вру. Сумматоров будет меньше. чтобы сложить n выходов ОЗУ нужно n-1 сумматоров.
Ну общий смысл мне понятен.
Как нибудь попробую. Сравню затраты ресурсов и потребление.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 19 2008, 12:12
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 19 2008, 16:09) *
Если я Вас правильно понял, вы предлагаете просто другое перераспределение памяти. Дальше требуется мультиплексор, который будет выбирать текущий отсчет, ну или регистр сдвига. Плюс аккумуляторы со сбросом. Да, такой варинат иммет право на существование.
Правда мне разделение фильтра кажется более простым решением (с точки зрения осмысления), хотя сумматоров он наверное потребует большего количества.


Да правильно. Про разделение не понял.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 19 2008, 12:21
Сообщение #65


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 19 2008, 16:12) *
Да правильно. Про разделение не понял.


Разделение - это я имел следующее.
Например есть фильтр 32 * n коэффициентов, где n - коэффицент интерполяции (или число фаз).
Очевидно, что просто в память напрямую его засунуть сложно. Но его можно представить как два отдельных фильтра с числом коэффициентов 16 * n, выходы которых складываются.
Таким образом объем памяти уменьшается в 2^15 раз, за что приходится заплатить дополнительным сумматором. Каждый фильтр с числом коэффицентов 16*n можно также разбить и т.д.

Если задуматься, легко получается алгоритм оптимального разбиения, с точки зрения ресурсозатрат.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 19 2008, 13:14
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 19 2008, 16:21) *
Разделение - это я имел следующее.
Например есть фильтр 32 * n коэффициентов, где n - коэффицент интерполяции (или число фаз).
Очевидно, что просто в память напрямую его засунуть сложно. Но его можно представить как два отдельных фильтра с числом коэффициентов 16 * n, выходы которых складываются.
Таким образом объем памяти уменьшается в 2^15 раз, за что приходится заплатить дополнительным сумматором. Каждый фильтр с числом коэффицентов 16*n можно также разбить и т.д.

Если задуматься, легко получается алгоритм оптимального разбиения, с точки зрения ресурсозатрат.


Если только это использовать то на 4-х блоках 256*16 получится фильтр всего на 2 символа для 16 QAM и интерполяцией в 8 раз.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 19 2008, 15:36
Сообщение #67


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 19 2008, 17:14) *
Если только это использовать то на 4-х блоках 256*16 получится фильтр всего на 2 символа для 16 QAM и интерполяцией в 8 раз.


Смотрите пост 57
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 19 2008, 15:53
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 19 2008, 19:36) *
Смотрите пост 57


И?

1 блок памяти 256*16 хватит на 4 отсчёта импульсной характеристики для 16 QAM:
log4(256)=4, при интерполяции в 8 раз 4-х блоков хватит на 2 символа. Что ещё следует из поста 57 что позволит при таком же количестве используемой памяти получить фильтр более чем на 2 символа?
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Aug 20 2008, 06:41
Сообщение #69


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Aug 19 2008, 19:53) *
И?

1 блок памяти 256*16 хватит на 4 отсчёта импульсной характеристики для 16 QAM:
log4(256)=4, при интерполяции в 8 раз 4-х блоков хватит на 2 символа. Что ещё следует из поста 57 что позволит при таком же количестве используемой памяти получить фильтр более чем на 2 символа?


Видимо вы не поняли. Как будет время, может быть постараюсь нарисовать что-нибудь, чтобы было понятнее.
smile.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 20 2008, 09:14
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Aug 20 2008, 10:41) *
Видимо вы не поняли. Как будет время, может быть постараюсь нарисовать что-нибудь, чтобы было понятнее.
:)


Не надо, дошло :)
Так действительно проще будет.
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 20:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.02333 секунд с 7
ELECTRONIX ©2004-2016