Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FM demodulation problem: video + audio
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
maxfox2k
уважаемый all,

есть проблема с демодуляцией фм.

имеем следующий формат модуляции. аудио сигнал модулируем фм и поднимаем на 4.977 мгц.
добавляем ntsc видео и опять модулируем фм полученный сигнал.

на приёмной стороне демодулируем FM Output = I*dQ/dt - Q*dI/dt
получаем видео+фм аудио, нч фильтром убираем аудио сигнал и получаем исходный ntsc сигнал.

а вот дальше с аудио начинаются проблемы.
не получается демодулировать сигнал лучше s/n 35 dbm.
если вместо ntsc подавать синусоиду с генератора (0-4.9 мгц), то аудио демодулируется чистое. пробовал на видео сигнал на передатчике ставить фильтр 2 мгц, на демодуляцию аудио никак не повлияло, всё-равно шум.
частота семплирования 20 мгц.

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

либо так:
ставлю полосовой фильтр на 4.977 мгц, смещаю частоту в ноль и раскладываю на iq.
опять фильтрую нч фильтром, делаю даунсамплинг до сотни килогерц, демодулирую.

оба варианта дают примерно одинаковый результат.

что можете посоветовать для улучшения?
litv
"если вместо ntsc подавать синусоиду с генератора (0-4.9 мгц), то аудио демодулируется чистое"
Это же ответ. Ваш ntsc не отфильтрован при демодуляции аудио. АЧХ фильтра должно задавить видео дб на 70.
maxfox2k
Цитата(litv @ Dec 26 2011, 10:47) *
"если вместо ntsc подавать синусоиду с генератора (0-4.9 мгц), то аудио демодулируется чистое"
Это же ответ. Ваш ntsc не отфильтрован при демодуляции аудио. АЧХ фильтра должно задавить видео дб на 70.

ну как бы и есть подозрение на влияние видео sm.gif
как его отфильтровать?
если фильтр на 20 мгц, то нужно несколько тысяч тапсов, чтобы хороший фильтр получился, если даунсамплить, то сразу поднимается уровень шума.
litv
Вы на чем хоть работаете? на ПЛИС или ...
Несколько тыщ тапсов(сильно сомневаюсь) - требуемую АЧХ нарисуйте сюда.
Откуда они....
maxfox2k
Цитата(litv @ Dec 26 2011, 11:21) *
Вы на чем хоть работаете? на ПЛИС или ...
Несколько тыщ тапсов(сильно сомневаюсь) - требуемую АЧХ нарисуйте сюда.
Откуда они....

конечная реализация на фпга, фильтры в матлабе.
например более-менее фильтр на 20 мгц занимает 921 тапс.
под это ресурсов нет, да и в матлабе даже результат плохой на мой взгляд.Нажмите для просмотра прикрепленного файла
des00
Цитата(maxfox2k @ Dec 26 2011, 03:31) *
конечная реализация на фпга, фильтры в матлабе.
например более-менее фильтр на 20 мгц занимает 921 тапс.
под это ресурсов нет, да и в матлабе даже результат плохой на мой взгляд.Нажмите для просмотра прикрепленного файла

БИХ фильтр поставить нельзя? на основе комбинации звеньев второго порядка.
Скинуть в 0, использовать фиры работающие с децимацией сигнала ?

Цитата(maxfox2k @ Dec 26 2011, 01:54) *
если фильтр на 20 мгц, то нужно несколько тысяч тапсов, чтобы хороший фильтр получился, если даунсамплить, то сразу поднимается уровень шума.

не правильно децимацию делаете, раз у вас уровень шума растет.
maxfox2k
Цитата(des00 @ Dec 26 2011, 12:55) *
БИХ фильтр поставить нельзя? на основе комбинации звеньев второго порядка.
Скинуть в 0, использовать фиры работающие с децимацией сигнала ?
не правильно децимацию делаете, раз у вас уровень шума растет.

iir не получится, т.к. реализация на фпга.
на практике делаю не такой узкий фильтр, и сдвигаю в 0. потом это всё конечно даунсэмплю и фильтрую на более низких частотах. после даунсамплинга стоят антиалиас фильтры, но что за раз, что каскадно даунсэмплить получается одинаково.
в чем может быть ошибка децимации?
в железе не должно быть проблем, т.к. параллельно реализован офдм.
des00
Цитата(maxfox2k @ Dec 26 2011, 19:14) *
iir не получится, т.к. реализация на фпга.

ну у кого как, куча народа(в том числе и я делают БИХи на плис) и ведь получается %)
Цитата
в чем может быть ошибка децимации?

В том, что, как вы писали, у вас уровень шума растет. ИМХО фильтрация операция линейная, шум она не разгоняет, сужая полосу вы уменьшаете шумовую составляющую. У вас же она почему то растет -> скорее всего не правильно децимируете или не с тем уровнем подавления "зеркальных" полос, и у вас наложения спектров.

ЗЫ. меня сейчас заклюют про термин "зеркальные" полосы, но я привык называть их так %)
maxfox2k
Цитата(des00 @ Dec 27 2011, 07:44) *
ну у кого как, куча народа(в том числе и я делают БИХи на плис) и ведь получается %)

В том, что, как вы писали, у вас уровень шума растет. ИМХО фильтрация операция линейная, шум она не разгоняет, сужая полосу вы уменьшаете шумовую составляющую. У вас же она почему то растет -> скорее всего не правильно децимируете или не с тем уровнем подавления "зеркальных" полос, и у вас наложения спектров.

ЗЫ. меня сейчас заклюют про термин "зеркальные" полосы, но я привык называть их так %)

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

что значит неправильно децимирую? в чем это может заключаться?
еще в выходном аудио спектре присутствуют f_audio*3 гармоники, почему такое может быть?
по части терминов не принципиально, мне и самому пришлось поискать в педивикии что такое бих фильтр, оказался iir sm.gif
я по-русски терминологию вообще не знаю.
des00
Цитата(maxfox2k @ Dec 26 2011, 22:08) *
что значит неправильно децимирую? в чем это может заключаться?

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

чтобы сбросить с тактовой 20МГц, до тактовой в сто КГц (200 раз) нужен очень хороший децимирующий фильтр wink.gif
Цитата
еще в выходном аудио спектре присутствуют f_audio*3 гармоники, почему такое может быть?

уже говорит о том, что вы делаете что то не так с преобразованием спектра %)
maxfox2k
ну перед децимированием надо фильтрануть, сейчас характеристика фильтра f_pass = получаемая частота / 8, f_stop = получаемая частота / 4.
децимирование делал за несколько раз, сейчас 10 и 5 раз с 20 мгц.
что еще может надо делать при децимировании?
причем после понижения частоты в 10 спектр вполне, а после второго ухудшается.
фильтр шире частоты девиации, хз почему хуже становится.

понял откуда гармоники f_audio*3, появляются из-за фильтра, который отделяет модулированое аудио от видео сигнала, почему так происходит и что с этим делать не понятно пока.
andrewkrot
Цитата(maxfox2k @ Dec 26 2011, 09:03) *
имеем следующий формат модуляции. аудио сигнал модулируем фм и поднимаем на 4.977 мгц.
добавляем ntsc видео и опять модулируем фм полученный сигнал.

Вы пытаетесь на 4.977 Мгц передать сигнал, у которого спектр немного шире (у NTSC вроде как 0.5-5.45 Мгц) Отсюда и все проблемы. На звук у Вас попадает цвет. Если хотите на 4.977 все передать, тогда вам нужно ограничить спектр видео до <4.977 АНАЛОГОВЫМ ФИЛЬТРОМ перед его дальнейшей обработкой. IMHO.
maxfox2k
Цитата(andrewkrot @ Dec 28 2011, 09:43) *
Вы пытаетесь на 4.977 Мгц передать сигнал, у которого спектр немного шире (у NTSC вроде как 0.5-5.45 Мгц) Отсюда и все проблемы. На звук у Вас попадает цвет. Если хотите на 4.977 все передать, тогда вам нужно ограничить спектр видео до <4.977 АНАЛОГОВЫМ ФИЛЬТРОМ перед его дальнейшей обработкой. IMHO.

почему именно аналоговым?
есть цифровой в передатчике
andrewkrot
Если есть анализатор спектра, то посмотрите какая полоса видео у Вас на выходе приемника. Мне кажется, что она будет > 5M. Чуйствую, что проблема именно в этом. Могу, конечно и ошибаться. Попробуйте все-таки добавить аналоговый фильтр в тракт приемника (или передатчика) в качестве эксперимента. Ну или поднимите свои 4.977 хотя бы до 10М
_Anatoliy
Цитата(andrewkrot @ Dec 28 2011, 12:15) *
Если есть анализатор спектра, то посмотрите какая полоса видео у Вас на выходе приемника. Мне кажется, что она будет > 5M. Чуйствую, что проблема именно в этом. Могу, конечно и ошибаться. Попробуйте все-таки добавить аналоговый фильтр в тракт приемника (или передатчика) в качестве эксперимента. Ну или поднимите свои 4.977 хотя бы до 10М

А что на несущей 4.977МГц уже нельзя получить полосу сигнала >5МГц?
andrewkrot
Я так думаю, что без геморроя нельзя
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.