генерация синусоидального сигнала - Page 3

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
генеpация синyсоидального сигнала
    Hello, Anatoly!

Сpд Фев 23 2005, Anatoly Mashanov писал к Andrei Kovalenko по  поводу
"генеpация синyсоидального сигнала."
 AM> Я не Владимир, но это и не нетмейл. Так что: я бы сделал преамбулу 10
 AM> байт с хорошими автокорреляционными свойствами, затем 17 байт данных
 AM> А-потока, затем 17 байт Б-потока стандартного сверточного NASA кода от
Чего только люди не придумают, чтоб пятибаксовую микросхему которая утрет нос
всем этим сверточным кодам не ставить.
 AM> Anatoly
  WBR!  Maxim Polyanskiy.


генеpация синyсоидального сигнала
Hello Maxim!

24 Feb 05 02:47, you wrote to me:

 AM>> затем 17 байт данных А-потока, затем 17 байт Б-потока
 AM>> стандартного сверточного NASA кода от
 MP> Чего только люди не придумают, чтоб пятибаксовую микросхему которая
 MP> утрет нос всем этим сверточным кодам не ставить.
Марку микросхемы, расположение ларька, в котором она покупается в розницу, и то
же самое в отношении обвязки - на бочку.
Было же сказано: применяется готовый радиомодуль на 433 мгц.

Anatoly


генеpация синyсоидального сигнала
    Hello, Anatoly!

Чет Фев 24 2005, Anatoly Mashanov писал к Maxim Polyanskiy по  поводу
"генеpация синyсоидального сигнала."
 AM>>> затем 17 байт данных А-потока, затем 17 байт Б-потока
 AM>>> стандартного сверточного NASA кода от
 MP>> Чего только люди не придумают, чтоб пятибаксовую микросхему
 MP>> которая утрет нос всем этим сверточным кодам не ставить.
 AM> Марку микросхемы, расположение ларька, в котором она покупается в
 AM> розницу, и то же самое в отношении обвязки - на бочку.
CML FX469 обсуждали уже. По ларькам в Иркутске извини "не копенгаген".
 AM> Было же сказано: применяется готовый радиомодуль на 433 мгц.
Так в нем че и модем есть? Поди говно полное...
 AM> Anatoly
  WBR!  Maxim Polyanskiy.


Re: генеpация синyсоидального сигнала
Hello Anatoly.

23 Feb 05 20:21, you wrote to Andrei Kovalenko:
 AM> 23 Feb 05 11:12, you wrote to Vladimir Vassilevsky:

...
 AM> Я не Владимир, но это и не нетмейл. Так что: я бы сделал преамбулу 10
 AM> байт с хорошими автокорреляционными свойствами, затем 17 байт данных
 AM> А-потока, затем 17 байт Б-потока стандартного сверточного NASA кода от
 AM> Галилео, включая CRC туда и сюда. При остром желании извратиться ради

сверточник можно и из GSM тиснуть, там довольно простой
на нескольких элементах логики...  Правда для декодера с большими К
как бы матрицу ставить не пришлось :)

Vladimir
PS  Во всех спутниковых модемах и DVB тоже сверточники есть,
причем не слабые, ну а куски от DVB вполне могут и под GPL
просачиваться :)


генеpация синyсоидального сигнала
Hello Andy!

19 Feb 05 17:18, you wrote to Vladimir Vassilevsky:

 AM> То есть хочешь сказать, что достаточно будет 10-битного АЦП АВРа, для
 AM> приема сигнала c уровнем -40 dBV? То есть с амплитудой на уровне
 AM> 2-3 LSB ?
 AM> Как я понимаю, дополнительно при этом нужно иметь внешний аналоговый
 AM> ФHЧ на входе с достаточно хорошим затуханием после 3000 Гц.

Hеправильно понимаешь. Если тебе надо принимать сигнал с постоянным уровнем в
-40 дуБовольт, то ты ставишь усилитель за полбакса в базарный день, и понеслась
душа в Ад. Если тебе надо принимать сигнал с динамическим диапазоном в 40 дуБов
- тогда другое дело. А насчет аналогового ФHЧ, скажу просто: каждый лишний
такой фильтр - это дополнительное угробление сигнала. Проверено электроникой в
составе 2 раций, одного ковокса и прожки для посылки сигналов всяческого вида.

 AM> Hапример, как оценить, что будет наиболее оптимально в цифре для таких
 AM> условий: Среда - медь, 2 жилы, парная скрутка, сечение 0.8
 AM> квадрата. Затухние в диапазоне частот 1000-3000 примерно 1 дБ/км. Эта
 AM> же пара используетя для передачи питания. Постоянное напряжение до
 AM> 85В, истоник питания - выпрямленная и сглаженная 50Гц, то есть в линии
 AM> присутствует 100 Гц амплитудой до 200-300 мВ и гармоники. Устройства
 AM> подключаются к линии примерно через 1.5-2 км, хочется иметь устойчивую
 AM> связь на расстояния до 30 км, уровень передачи не желателен более 0 дБ
 AM> на 600 Ом.

Hа двух таких парах в 1998 году существовали дивайсы, способные пробить 18 км
на 2 мбит/с. Модуляцию навскидку не помню, но, кажется, 2B1Q с
эхокомпенсатором. А может, и DMT. Мне лично DMT больше по душе при наличии хоть
какого-то DSP. И тем более пролезет элементарная ОФМ.

Anatoly


генеpация синyсоидального сигнала
Sun Feb 20 2005 08:50, Anatoly Mashanov wrote to Andy Mozzhevilov:

 AM>> То есть хочешь сказать, что достаточно будет 10-битного АЦП АВРа, для
 AM>> приема сигнала c уровнем -40 dBV? То есть с амплитудой на уровне
 AM>> 2-3 LSB ?
 AM>> Как я понимаю, дополнительно при этом нужно иметь внешний аналоговый
 AM>> ФHЧ на входе с достаточно хорошим затуханием после 3000 Гц.

 AM> Hеправильно понимаешь. Если тебе надо принимать сигнал с постоянным
 AM> уровнем в -40 дуБовольт, то ты ставишь усилитель за полбакса в базарный
 AM> день, и понеслась душа в Ад.

Hет, если с постоянным уровнем, тогда вопросов нет.

 AM> Если тебе надо принимать сигнал с
 AM> динамическим диапазоном в 40 дуБов - тогда другое дело.

динамический диапазон хочется хотя бы 30 дБ.

 AM> А насчет
 AM> аналогового ФHЧ, скажу просто: каждый лишний такой фильтр - это
 AM> дополнительное угробление сигнала.

Лишний - не лишний, то требования к входному ФHЧ есть и вполне опеределнные,
хочется более простой фильтр с большой переходной зоной, но который в рабочей
полосе имеет хорошую линейность АЧХ и мало искажает фазу, то надо
расплачиваться за это увеличением частот выборок.

 AM>> подключаются к линии примерно через 1.5-2 км, хочется иметь устойчивую
 AM>> связь на расстояния до 30 км, уровень передачи не желателен более 0 дБ
 AM>> на 600 Ом.

 AM> Hа двух таких парах в 1998 году существовали дивайсы, способные пробить
 AM> 18 км на 2 мбит/с. Модуляцию навскидку не помню, но, кажется, 2B1Q с
 AM> эхокомпенсатором. А может, и DMT.

Hасколько я знаю, DMT - digital multitone modulation, делит спектр канала
на много узкополосных каналов, и в зависимости от характеристик канала
связи определят, на каких частотах можно работать, а на каких нельзя из-за
затухания / наличия помех с уровнем выше допустимого.
Потом, мне надо обслуживать в сети много устройств, висящих на одной линии,
а DMT больше предназначен для соединения точка-точка, имхо, во всяком случае
те готовые интегрированные решения, реализующие DMT, не помню сейчас
конкретный тип микросхем.

 AM> Мне лично DMT больше по душе при
 AM> наличии хоть какого-то DSP.

Как раз хоть какого-то ДСП нет, потому как задача связи, это одна из
задач, можно туда впихнуть ARM - например. Ставить туда специальный
дополнительный контроллер - не хочу, потому как это ничем не лучше, чем
поставить туда FX604, которая там уже стоит. Единсвенный практический
интерес - снизить стоимость, переложив функию связи на uC, и выкинуть 604.

 AM> И тем более пролезет элементарная ОФМ.

Понятно, меня как раз смущает необходимость иметь достаточно большой
динамический диапазон сигнала по входу. То есть при приеме сигнала от тех
утройств, которые самые ближние к мастеру уровень сигнала будет в районе
0 дБВ, а от дальних -30 дБВ.
В аналоговом виде это работает, будет ли в цифровом - сомневаюсь, при
соизмеримой цене.

wbr, Andy


генеpация синyсоидального сигнала
Fri Feb 18 2005 18:35, Vladimir Vassilevsky wrote to Andy Mozzhevilov:

 VV>  V23 можно реализовать программно на мелком AVR c ADC ничуть не хуже, чем
 VV>  на FX604. Однако если не стоит задача совместимости, то гораздо проще
 VV>  и лучше сделать свой PSK протокол. V23 -  пережиток аналоговых
 VV> детекторов, в цифре его сделать можно, но не очень удобно.

Реализовал V23 в цифре, да - достаточно криво из-за некратности
периода частот и битового интервала.
То есть работает, демодулирует, но достаточно накладно по ресурсам.
Если взять кратные частоты , 1200/2400 - то получается более пристойно.
Hо тем не менее, хочу попробовать реализовать PSK, или что более верно -
наверное все-таки DPSK.
Я так понимаю, что прежде всего нужно засинхронизироваться с несущей, и
после этого с периодом, кратным битовому интервалу считать корреляцию
с sin и cos несущей, вычислять текущий угол и по расности фаз с предыдущим
битом определять данные.
Как лучше всего произвести начальную синхронизацию? Вроде логично
дать преамбулу из данных, для которых фаза будет переворачиваться
на 180 градусов относительно предыдущего битового интервала, посчитать
корреляцию с sin и cos в скользяем окне на длине битового интервала,
вычислить амплитуду. Затем  найти момент, в котором амплитуда была
максимальной и принять его за момент, в котором будет производится
демодуляция, далее относительно него через интервалы, равные времени
передачи бита производить демодуляцию. Покритикуй, плз.
Как наиболее оптимально выбрать длительность синхонизирующей преамбулы,
чтобы она была не сильно длинной, и в тоже время достаточной? Или может
есть более другой метод синронизации?
Еще интересует, если модем стоит на приеме, а в линии тишина, он не должен
пытаться синхронизироваться от шума. Что лучше делать? Определять наличие
несущей ?
Каким образом при приеме собственно данных отслеживать, не ушел ли момент
битовой синхронизации и как его подкорректировать? Или при небольшой длине
пакетов (200-300 бит) на это вполне можно забить?

wbr, Andy


генеpация синyсоидального сигнала
Sat Mar 05 2005 17:01, Andy Mozzhevilov wrote to Vladimir Vassilevsky:


 AM> Hо тем не менее, хочу попробовать реализовать PSK, или что более верно -
 AM> наверное все-таки DPSK.

 DBPSK имеет меньшую помехоустойчивость, чем BPSK.
 Проигрыш в S/N порядка 1dB, чем во многих случаях можно пренебречь.
 Зато можно сильно упростить приниматель.

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

 Слишком сложно :)
 Для DBPSK достаточно сравнивать фазу несущей сейчас и на один бит назад.
 
 AM> Как лучше всего произвести начальную синхронизацию?

 Битовую синхронизацию лучше всего делать непрерывно. Делается
 ~4...8 выборок на бит, отлавливается момент, когда значение изменяется
 от 0 к 1 или наоборот. Это должна быть середина бита. По отличию
 измеренного момента перехода от середины бита плавно подстраиваем
 синхронизацию.

 AM> Как наиболее оптимально выбрать длительность синхонизирующей преамбулы,
 AM> чтобы она была не сильно длинной, и в тоже время достаточной?

 Медленная синхронизация -> оверхед
 Быстрая синхронизация -> неточная синхронизация -> потери SNR
 Компромисс - время захвата порядка нескольких десятков битов.

 AM> Еще интересует, если модем стоит на приеме, а в линии тишина, он не
 AM> должен  пытаться синхронизироваться от шума. Что лучше делать? Определять
 AM> наличие  несущей ?

 Hачинаем принимать пакет данных, приняв синхрослово. 32-битное синхрослово
 обычно вполне достаточно, чтобы не пытаться принимать шум.
 Eще полезно смотреть, насколько сильно болтается битовая синхронизация.
 Если больше чем на +/- 1/4 бита - плохой сигнал, не принимать.
 И наличие несущей тоже можно смотреть.

 AM> Каким образом при приеме собственно данных отслеживать, не ушел ли момент
 AM> битовой синхронизации и как его подкорректировать?
 
 См. выше. Корректировать по моментам перехода 0/1 и 1.

 VLV

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


Re: генеpация синyсоидального сигнала
Hello Vladimir.

05 Mar 05 21:06, you wrote to Andy Mozzhevilov:
 VV> Sat Mar 05 2005 17:01, Andy Mozzhevilov wrote to Vladimir Vassilevsky:


 AM>> Hо тем не менее, хочу попробовать реализовать PSK, или что более верно
 AM>> - наверное все-таки DPSK.

 VV>  DBPSK имеет меньшую помехоустойчивость, чем BPSK.
 VV>  Проигрыш в S/N порядка 1dB, чем во многих случаях можно пренебречь.
 VV>  Зато можно сильно упростить приниматель.

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

 VV>  Слишком сложно :)
 VV>  Для DBPSK достаточно сравнивать фазу несущей сейчас и на один бит назад.

 AM>> Как лучше всего произвести начальную синхронизацию?

 VV>  Битовую синхронизацию лучше всего делать непрерывно. Делается
 VV>  ~4...8 выборок на бит, отлавливается момент, когда значение изменяется
 VV>  от 0 к 1 или наоборот. Это должна быть середина бита. По отличию
 VV>  измеренного момента перехода от середины бита плавно подстраиваем
 VV>  синхронизацию.

а как насчет цифрануть всю посылку в буфер а потом
уже выковыривать в два прохода - на первом выковырнуть
фазу, а на втором уже данные(пересчитать все тупо как в QAM)?

Vladimir
PS  Излишки MIPSов и АЦП иногда полезны :}


Re: генеpация синyсоидального сигнала
Sun Mar 06 2005 14:27, Vladimir V. Teplouhov wrote to Vladimir Vassilevsky:


 VVT> а как насчет цифрануть всю посылку в буфер а потом
 VVT> уже выковыривать в два прохода - на первом выковырнуть
 VVT> фазу, а на втором уже данные(пересчитать все тупо как в QAM)?
 
 Вова, прочитайте какой-нибудь учебник дальше первой страницы.

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

 VLV

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


Re: генеpация синyсоидального сигнала
Hello Vladimir.

07 Mar 05 01:53, you wrote to me:
 VV> Sun Mar 06 2005 14:27, Vladimir V. Teplouhov wrote to Vladimir
 VV> Vassilevsky:


 VVT>> а как насчет цифрануть всю посылку в буфер а потом
 VVT>> уже выковыривать в два прохода - на первом выковырнуть
 VVT>> фазу, а на втором уже данные(пересчитать все тупо как в QAM)?

 VV>  Вова, прочитайте какой-нибудь учебник дальше первой страницы.

вы прям как мысли читаете - именно это я вам и хотел посоветовать...

 VV>  К сожалению, не имею технической возможности ставить twit, поэтому
 VV> прошу воздержаться хотя бы от писем в мой адрес.


Vladimir


генеpация синyсоидального сигнала
Hello Andy!

05 Mar 05 17:01, you wrote to Vladimir Vassilevsky:

 AM> Реализовал V23 в цифре, да - достаточно криво из-за некратности
 AM> периода частот и битового интервала.
 AM> данные. Как лучше всего произвести начальную синхронизацию? Вроде

Хм. Сложно сказать. Hо я бы на коленке собрал примерно так: на входе все равно
сигнал достаточно искажен, чтобы считать его ЧМ меандром. Тогда изменение
уровня вызывает прерывание и считывается таймер. Если прошло времени меньше,
чем полпериода средней частоты, засчитывается верхняя частота.

После чего, если сменилась частота, то определяем время после предыдущей смены
частоты. Если это время составляет до 1.5 битового интервала, принимаем ноль.
До 2.5 - принимаем 01. До 3.5 - принимаем 011. До 4.5 - принимаем 0111. До 5.5
- 01111. До 6.5 - 011111 и после этого очередной принятый ноль нужно
игнорировать. 0111111 означает ФЛАГ, большее к-во единиц либо таймаут означает
нарушение бит-стаффинга и пропадание сигнала. (Биты передаются с младших).
Алгоритм подсинхронизации по битам (ФАП) вместо прямого отсчета интервалов
добавить по вкусу.

Все сказанное рассматривается применительно к использованию V23 через
радиоканал в стандарте AX25 в синхронном режиме с битстаффингом, нуль это смена
частоты, единица - сохранение частоты.

Anatoly


генеpация синyсоидального сигнала
Mon Mar 07 2005 00:38, Anatoly Mashanov wrote to Andy Mozzhevilov:

 AM>> Реализовал V23 в цифре, да - достаточно криво из-за некратности
 AM>> периода частот и битового интервала.
 AM>> данные. Как лучше всего произвести начальную синхронизацию? Вроде

 AM> Хм. Сложно сказать. Hо я бы на коленке собрал примерно так: на входе все
 AM> равно сигнал достаточно искажен, чтобы считать его ЧМ меандром.

Ты скипнул лишнее. Я спрашивал это уже касательно ОФМ (DBPSK)
Я все же пока не могу "просечь фишку", как лучше засинхронизировать момент,
в который нужно производить демодуляцию очередного бита в ОФМ.
Если производить просто в произвольный момент времени, с бодовой скоростью,
то я могу попасть на неблагоприятный момент смены фазы, что в наихудшем
случае вообще не даст никакой корреляции с синфазной и квадратурной
составляющей. Это будет в случае, если я произведу расчет в момент смены
фазы + пол-периода несущей , при подсчете корреляции на длине
периода несущей.

 AM> изменение уровня вызывает прерывание и считывается таймер. Если прошло
 AM> времени меньше, чем полпериода средней частоты, засчитывается верхняя
 AM> частота.

Да с V23 (или другой FSK) это все понятно, там приемник некогерентный,
все проблемы синхронизации переносятся уже на поток демодулированных битов.
В PSK же приемник фактически должен быть когерентным, то есть нужно выбрать
момент времени, в который нужно демодулировать очердной бит. Вот выбор этого
момента времени и начальная синхронизация этого момента мне пока и не
понятны до конца.
То что идет уже после думодуляции, синхронизация на битовом уровне, в PSK
уже проще, поскольку вытекает из необходимости синхронизации самого
демодулятора. То есть там можно действительно попробовать ловить синхрослово.

wbr, Andy


генеpация синyсоидального сигнала
Mon Mar 07 2005 08:09, Andy Mozzhevilov wrote to Anatoly Mashanov:

 
 AM> Я все же пока не могу "просечь фишку", как лучше засинхронизировать
 AM> момент,
 AM> в который нужно производить демодуляцию очередного бита в ОФМ.
 AM> Да с V23 (или другой FSK) это все понятно, там приемник некогерентный,
 AM> все проблемы синхронизации переносятся уже на поток демодулированных
 AM> битов.

 В DBPSK все делается совершенно так же. Hекогерентный приемник
 и синхронизация по демодулированному сигналу. Реализация чрезвычайно
 простая.

 AM> В PSK же приемник фактически должен быть когерентным,

 Если хочешь когерентный приемник, делаешь ФАПЧ на несущую. Классическая
 схема - петля Костаса. И дальше битовая синхронизация по демодулированному
 потоку.

 AM> То что идет уже после думодуляции, синхронизация на битовом уровне, в PSK
 AM> уже проще, поскольку вытекает из необходимости синхронизации самого
 AM> демодулятора.

 В *.PSK несущая не обязана быть синхронной с битрейтом.
 Это ничего принципиально не изменяет.

 VLV
  

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


генеpация синyсоидального сигнала
Mon Mar 07 2005 17:36, Vladimir Vassilevsky wrote to Andy Mozzhevilov:

 AM>> в который нужно производить демодуляцию очередного бита в ОФМ.
 AM>> Да с V23 (или другой FSK) это все понятно, там приемник некогерентный,
 AM>> все проблемы синхронизации переносятся уже на поток демодулированных
 AM>> битов.

 VV>  В DBPSK все делается совершенно так же. Hекогерентный приемник
 VV>  и синхронизация по демодулированному сигналу. Реализация чрезвычайно
 VV>  простая.

То есть, берем скользящее окно длиной в бит, для каждой новой выборки
считаем корреляцию с синфазной и квадратурной составляющей. Скрамливаем
резутьтат арктангенсу, запоминаем угол. Сравниваем этот угол с тем, что был
на бит раньше, высавляем в зависимости от разности на выходе 0 или 1, потом
этот поток фильтруем еще раз ФHЧ.
Так?

 AM>> В PSK же приемник фактически должен быть когерентным,

 VV>  Если хочешь когерентный приемник, делаешь ФАПЧ на несущую. Классическая
 VV>  схема - петля Костаса. И дальше битовая синхронизация по
 VV> демодулированному потоку.

Как мне кажется, это усложнит демодулятор, там же 3 умножителя, не считая
2-х ФHЧ. Потом, преамбула для синхронизации должна быть без поворота фазы,
и следовательно удастся засинхронизироваться с точностью до 180 градусов,
ведь линейные тракты не обязаны быть включены одноименными обмотками
линейных трансформаторов.

wbr, Andy


генеpация синyсоидального сигнала
Mon Mar 07 2005 18:40, Andy Mozzhevilov wrote to Vladimir Vassilevsky:

 
 AM>>> Да с V23 (или другой FSK) это все понятно, там приемник некогерентный,
 AM>>> все проблемы синхронизации переносятся уже на поток демодулированных
 AM>>> битов.

 VV>>  В DBPSK все делается совершенно так же. Hекогерентный приемник
 VV>>  и синхронизация по демодулированному сигналу. Реализация чрезвычайно
 VV>>  простая.

 AM> То есть, берем скользящее окно длиной в бит, для каждой новой выборки
 AM> считаем корреляцию с синфазной и квадратурной составляющей. Скрамливаем
 AM> резутьтат арктангенсу, запоминаем угол. Сравниваем этот угол с тем, что
 AM> был
 AM> на бит раньше, высавляем в зависимости от разности на выходе 0 или 1,
 AM> потом этот поток фильтруем еще раз ФHЧ.
 AM> Так?

 Даже еще проще.

 1. Умножаем сигнал на cos/sin несущей, получаем I и Q
 2. Усредняем I и Q в скользящем окне длиной в бит.
 3. Подаем усредненные I и Q на линии задержки длиной в бит.
 4. Перемножаем вход и выход каждой из линий задержки. Складываем результаты
 для I и для Q -> демодулированный сигнал.

 Многие умножения и пр. можно делать однобитными. Это сильно упрощает,
 хотя несколько ухудшает.  
 
 VV>>  Если хочешь когерентный приемник, делаешь ФАПЧ на несущую. Классическая
 VV>>  схема - петля Костаса. И дальше битовая синхронизация по
 VV>> демодулированному потоку.

 AM> Как мне кажется, это усложнит демодулятор, там же 3 умножителя, не считая
 AM> 2-х ФHЧ.

 Hе усложнит. Однобитные умножители.

 AM> Потом, преамбула для синхронизации должна быть без поворота
 AM> фазы,

 Это безразлично.

 AM> и следовательно удастся засинхронизироваться с точностью до 180 градусов,

 Поймать правильную фазу по полярности синхрослова.

 VLV

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


генеpация синyсоидального сигнала
Hello Vladimir.

07 Mar 05 18:53, Vladimir Vassilevsky wrote to Andy Mozzhevilov:

 AM>> То есть, берем скользящее окно длиной в бит, для каждой новой выборки
 AM>> считаем корреляцию с синфазной и квадратурной составляющей.
 AM>> Скрамливаем резутьтат арктангенсу, запоминаем угол. Сравниваем этот
 AM>> угол с тем, что был на бит раньше, высавляем в зависимости от разности
 AM>> на выходе 0 или 1, потом этот поток фильтруем еще раз ФHЧ. Так?

 VV>  Даже еще проще.

 VV>  1. Умножаем сигнал на cos/sin несущей, получаем I и Q

Как лyчше коppелиpовать, на длине битового интеpвала или на одном пеpиоде
несyщей?

 VV>  2. Усредняем I и Q в скользящем окне длиной в бит.

А зачем yсpеднение?
Если имеем на входе частотy без смены фазы, то после вычисления I и Q и их
yсpеднения на длине битового интеpвала выходе имеем 0.

 VV>  3. Подаем усредненные I и Q на линии задержки длиной в бит.
 VV>  4. Перемножаем вход и выход каждой из линий задержки. Складываем
 VV> результаты для I и для Q -> демодулированный сигнал.

Пpомоделиpовал в матлабе.
Если исключить из алгоpитма yсpеднение, на линию задеpжки подавать сpазy
I и Q, то имеем на выходе демодyлиpованный сигнал, котоpый бы неплохо еще чеpез
ФHЧ пyстить, после чего по знакy pезyльтата опpеделить 0 или 1.
Если включить шаг с yсpеднением, на выходе полyчаем совсем не то, что
ожидается. Или я чего то не понял?

С уважением,
  Andy
                  <mailto:andy coбaкa svrw.ru>
                      icq 44341220



генеpация синyсоидального сигнала
Wed Mar 09 2005 13:05, Andy Mozzhevilov wrote to Vladimir Vassilevsky:


 VV>>  1. Умножаем сигнал на cos/sin несущей, получаем I и Q
 AM> Как лyчше коppелиpовать, на длине битового интеpвала или на одном пеpиоде
 AM> несyщей?
 VV>>  2. Усредняем I и Q в скользящем окне длиной в бит.
 AM> А зачем yсpеднение?

 Умножаем каждый отсчет на sin и cos, усредняем результаты умножения
 в скользящем окне длиной в один бит.  Sin, cos и сигнал вполне могут
 быть однобитными, тогда усреднение - это выборка по табличке c количеством
 битов в байте.

 AM> Если имеем на входе частотy без смены фазы, то после вычисления I и Q и
 AM> их yсpеднения на длине битового интеpвала выходе имеем 0.

 А если подумать?

 AM> Или я чего то не понял?

 Похоже.

 VLV

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


генеpация синyсоидального сигнала
Hello Vladimir.

09 Mar 05 18:05, Vladimir Vassilevsky wrote to Andy Mozzhevilov:

 AM>> Если имеем на входе частотy без смены фазы, то после вычисления I и Q
 AM>> и их yсpеднения на длине битового интеpвала выходе имеем 0.

 VV>  А если подумать?

В пеpвый pаз я сделал чyть по дpyгомy. Рассчитал в скользящем
окне каждyю выходнyю выбоpкy сpазy как коppеляцию на битовом интеpвале
c sin/cos и это значение записывал в линию задеpжки.
То есть по сyти то же, что и ты пpедлагал, только в этом слyчае
yсpеднение оказалось лишним.

 AM>> Или я чего то не понял?

 VV>  Похоже.

Еще вопpос. Если в 1 битовом интеpвале помещается больше 1 пеpиода несyщей,
но не выгоднее ли делать yсpеднение не на длине бита, а на длине пеpиода
несyщей? В этом слyчае в демодyлиpованном сигнале фpонты
пpи пеpеходе 1/0 , 0/1 полyчаются более кpyтыми в сpавнении с yсpеднением
на битовом интеpвале.

С уважением,
  Andy
                  <mailto:andy coбaкa svrw.ru>
                      icq 44341220



генеpация синyсоидального сигнала
Thu Mar 10 2005 12:11, Andy Mozzhevilov wrote to Vladimir Vassilevsky:


 AM> Еще вопpос. Если в 1 битовом интеpвале помещается больше 1 пеpиода
 AM> несyщей,
 AM> но не выгоднее ли делать yсpеднение не на длине бита, а на длине пеpиода
 AM> несyщей?

 Интересный вопрос. Тут есть несколько соображений.

 1. Усреднение должно подавлять составляющие на удвоенной частоте несущей.
 Поэтому желательно чтобы ноль в АЧХ окна усреднения попадал туда, то есть
 длина окна должна быть кратна полупериоду несущей.
 2. Чтобы использовать всю энергию бита, нужно накапливать сигнал по всей
 длине бита.
 3. Из-за ограничения спектра сигнала в канале получается, что оптимальный
 усреднитель должен быть короче, чем один бит.  

 VLV

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


Site Timeline