На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 52,
участников - 1 [ Major34]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Радиосигналы —› Программная демодуляция FM (частотная модуляция) 
Различные приборы, оборудование, спутниковые и радиотелефоны!


Усилители сигнала и мощности

Усилители сотовой связи

Металлоискатели

Радионяни и видеоняни

Измерители КСВ и мощности
 Страница:  ««  1  2  3  »»Поиск в теме
Автор Сообщение
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 09 Дек 2009 11:46:37 · Поправил: vis (09 Дек 2009 11:51:01) #  

Mesh
bpf я убрал - он действительно оказался лишним. Кстати, я нашел что, там была за проблема и поправил ее (она была не в самом фильтре а рядом:-) ), но тем не менее его добавление действительно абсолютно ничего не меняет. Спасибо.
Может быть вы прокомментируете/ответите еще на несколько дилетантских вопросов.
1. Возможны ли практически в телефонных линиях, проводах, аудио-картах, вообще в аудио тракте в целом, искажения, которые приводят к сдвигу спектра частот, то есть скажем, был явно-выраженный пик в районе 1800 Гц, а в процессе/после передачи он переместился в 1700 Гц? (По моим представлениям - такое искажение выглядит странноватым.)
2. Есть ли какой-то практический смысл в использовании разного рода компенсаторов амплитудных искажений (паразитной АМ) в контексте используемого мной алгоритма? Это может реально улучшить кач-во демодуляции при искажениии сигнала в телефонных линиях?
3. Есть ли какой-то алгоритмически простой способ определить/восстановить АБСОЛЮТНУЮ величину исходного сигнала при демодуляции, если девиация (скажем 50 Гц/мв) известна. Речь идет об относительно простом методе; то, что это возможно теоретически (математически) - я понимаю. В данный момент это решается просто подбором gain коэффициента демодулятора.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 09 Дек 2009 14:34:06 · Поправил: Mesh (09 Дек 2009 15:54:41) #  

vis Так заработало или нет? Треугольник получлили?

1. В телефонных линиях, проводах это вроде одно и тоже :) Таких искажений, как было 1800, а стало 1700 быть не может. А в аудио тракте в целом может быть всё что угодно и то о чём вы пишите. Зависит от качество этого самого аудиотракта и его принципа работы. В аудио картах это оцифровка, там всё что угодно может произойти, подавать будете 1800 а получите 1700, или 1900, или 1830 это вполне себе может быть.
2, Паразитную АМ вообще устраняют в частотной модуляции амплитудными ограничителями, никто ничего не коменсирует. Вопрос мне не понятен, у вас алгоритм вроде нечуствителен к паразитной АМ. Пример записей лучше привести, типо вот полный сигнаол, вот после демодуляции, вот тут паразитная АМ. А то может это и не паразитная АМ, а косяки какие. Я абстрактные вопросы не очень люблю. Можно забурится так делеко, что забудеи с чего начали и о чём вообще говорим. :)
3. Дв вроде какие проблемы, всё от условий зависит и методов решения. Если передать по проводам на три метра это одно, передать по проводам на 100 км это другое, передать по радио это третье. Чем круче нужны резалты тем навороченней будет решение.

Ну где-то так наверное, может где и сглупил, но вроде сильно не должен был. :)

зы. Таки сглупил. Не ответил на третий пункт, воды наплескал. :) Самое простое но ненадёжное, это откалибровать предварительно демодулятор. Боле грамотно, передвать перед самим сигналом калибровочные посылки, это уже по профессиональней будет и гарантирует резалты гораздо круче. Весьма простые методы, уж как из реализовывать вопросы другого сорта.
Реклама
Google
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 09 Дек 2009 15:48:33 #  

Mesh Так заработало или нет? Треугольник получлили?
Да, получил. И не только треугольник...:-)
В телефонных линиях, проводах это вроде одно и тоже :)
Ну я имел в виду, что телефонный канал (так видимо правильней выразиться) может быть не обязательно физической линией (проводом), а идти через аппаратуру уплотнения и т.п.
Похоже по ряду признаков, что сдвиг частот у меня происходит таки в аудио карточке(ах). Видимо там тактовый генератор не вполне откалиброван. То есть я думаю/программирую, что частота дискретизации 8000 Гц, а на самом деле чуть меньше/больше - отсюда все дальнейшие последствия. Попробую сделать программную коррекцию этому эффекту, если это подтвердится.
Вопрос мне не понятен, у вас алгоритм вроде нечуствителен к паразитной АМ
Так собственно в этом и состоял вопрос... Вы говорите, что алгоритм не чуствителен к АМ. Отлично. Значит и компенсаторов/ограничителей не надо придумывать. Изначально, по крайней мере...

А насчет моего третьего вопроса о восстановлении абсолютной величины амплитуды исходного сигнала, я ваш комментарий не совсем понял, вы похоже отвечали на что-то другое:-)
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 09 Дек 2009 16:01:31 · Поправил: Mesh (09 Дек 2009 16:17:20) #  

vis Посты перекрылись, я и сам догнал, что не ответил на третий. :)

Получили! Ну и отлично.

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

Да алгоритм нечувствителен, так что если проблем сейчас нет, то и не партьесь, просто проверьте да и всё. Слепите какой нибудь сигналик ЧМ с паразитной АМ и просто убедтитесь в этом.

Ну, а на третий я вроде ответил уже, хоть что-то похожее в тему :)
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 09 Дек 2009 17:20:40 #  

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

Проверил карточку - передал сигнал на вход и записал в файл стандартным windows recorder. Получил файл со сдвинутым спектром:-( Похоже, там таки тактовый генератор не откалиброван:-( Попробовал поиграть частотой оцифровки - не помогает. Похоже, она там может меняться только большими шагами то есть 7800 и 8000 - это одно и то же для нее.
Ну а карточки кривые это известная проблема. :) Что действительно настолько распространено?
Казалось бы, что за проблема генератор откалибровать...
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 09 Дек 2009 17:26:36 · Поправил: Mesh (09 Дек 2009 17:31:29) #  

vis Что действительно настолько распространено? К сожаленью да. :( Казалось бы, что за проблема генератор откалибровать А вот тут кто его знает почему так. Хотя могу предположить, хочешь гарантий - плати. А хочешь из листового бросового железа подводную лодку сдеалать, ну делай делай. :) Примерно так я бы обьяснял эти проблемы с картами. :)

Но, я так понял, на практике это не используется, трудно реализуемо видимо? А не знаю честно говоря, не в теме, никогда таких вопросов не рашал, может и используется, в принципе вроде проблем-то нет, отколибровать да и мерять.
asv
Участник
Offline3.0
с апр 2008
Сообщений: 1562

Дата: 09 Дек 2009 19:19:37 · Поправил: asv (09 Дек 2009 19:20:59) #  

Что действительно настолько распространено?
Казалось бы, что за проблема генератор откалибровать...

Проблема многоуровневая. Во-первых, пропуск отсчетов (точнее, целых блоков отсчетов), во-вторых неточная передискретизация (особенно если она выполняется программно, на уровне драйвера, написанного заботливыми индийскими или китайскими руками), в-третьих, собственно неверная частота дискретизации железа. Есть еще некоторые аспекты, но это - основнное.

Интересно отметить, что современные карточки с интерфейсом PCI и дровами под Windows обеспечивают качество регистрации значительно хуже, чем старые версии с интерфейсом ISA и управлением под MS DOS.
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 10 Дек 2009 09:56:02 #  

asv
Во-первых, пропуск отсчетов (точнее, целых блоков отсчетов)
Ну это, наверное, на скорости 8000 Гц все таки вряд ли...
неточная передискретизация (особенно если она выполняется программно, на уровне драйвера, написанного заботливыми индийскими или китайскими руками)
Я так понимаю никакие игры с аудио API (в смысле переход с MME на DirectX и т.п.) от этой беды не помогут; проблема ниже.. Правильно?
в-третьих, собственно неверная частота дискретизации
Можете посоветовать какие-то карточки (не слишком дорогие и профессиональные) в которых этих проблем нет. Я так понимаю, что на параметры карточки в этом смысле смотреть бесполезно - что-то я не встречал такого параметра как "максимальное отклонение частоты дискретизации от заданной"..
asv
Участник
Offline3.0
с апр 2008
Сообщений: 1562

Дата: 10 Дек 2009 19:13:45 #  

Конкретные модели карточек по ряду причин посоветовать не могу.

Пропуски отсчетов запросто возникают и на 8000 Гц, проверено. Одна из основных причин - динамическое распределение прерываний на современных платах с шиной PCI. Плюс ко всему, на одно прерывание вешается несколько весьма разнородных устройств, причем пользователь этот процесс контролировать, как правило, не может. Хуже всего, то что эта ситуация плохо воспроизводится - может возникнуть, может исчезнуть. В ISA прерывание "распределялось" пользователем путем установки джампера и закреплялось за карточкой монопольно.

Проблема неточной частоты дискретизации - это, имхо, не проблема, если истинная частота дискретизации известна и стабильна. К сожалению, остальных вопросов это не снимает.
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 15 Дек 2009 18:44:50 · Поправил: vis (15 Дек 2009 18:46:10) #  

Mesh
Не могли бы вы покомментировать прицепленные файлы. http://www.radioscanner.ru/uploader/2009/signals.zip
in.wav - входной сигнал (непосредственно с аудио карточки) - микс трех FM каналов
out.wav - демодулированый сигнал одного из каналов - (канала с частотой несущей 1875 Гц)

В чем причина, что демодулированный сигнал такой гряный, "лохматый". И как с этим можно бороться?
Понятно, что после обработки ФНЧ, 40 Гц скажем, все сильно улучшается... Но это уже "нечестный прием" :-) Я имею в иду в чем проблема с демодулятором, как таковым, и можно ли его улучшить?
Для демодуляции используется алгоритм квадратурного дискриминатора (подробности в первом сообщении этой темы)
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 15 Дек 2009 19:15:06 #  

vis В чем причина, что демодулированный сигнал такой гряный, "лохматый". В том что микс у вас мягко говоря странный. :)

Увеличить

На заднем плане ваш микс. Посредине ваш первый файл, который я интереса ради в порядок привёл. И синус отдемоденный из среднего файла без всяких фильтраций. :)
Если добавить шума или помех, которых в вашем миксе вагон и маленькая тележка, в файл посредине, то будет такая ж лохамтость повышенная.

Нормально всё одним словом. Дем то он что? Он по себе прост как валенок, что поступило то и отдемил, поступил идеал сигналик получите идеал картинку, поступило что-то отдалённо похожее на сигналик, получите что-то напоминающее на выходе. :)

Выходные фильтры это нормальный ход педалей и приём очень даже честный, они почти везде, идеал это только в теории.
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 15 Дек 2009 19:28:15 #  

Mesh
То есть есть, если я правильно вас понял, любой демодулятор выдаст примерно такой же (лохматый) сигнал, при таком зашумленном входном?

первый файл, который я интереса ради в порядок привёл.
А вот тут, как раз, самое интересное:-) Как вы его привели в порядок? Может мне просто так же "приводить его в порядок" до демодуляции и все будет в порядке? Есть какой-то разумный (не очень сложный) алгоритм отделения шумов/помех этого типа?

Выходные фильтры это нормальный ход педалей
Дело в том, что в данном случае, чтоб получить нормальный сигнал я должен обрезать все выше 40-50 Гц, а полоса сигнала строго говоря 100-150 Гц, то есть теоретически резать по-живому. Для данного конкретного сигнала - нет проблем. А, как общий метод для произвольного - не очень хорошо.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 15 Дек 2009 19:46:22 · Поправил: Mesh (15 Дек 2009 19:57:40) #  

vis Ну любой не любой, а любой неоптимальный даст такое ж. Дем без выходных фильтров это неоптимальный дем.

Да в порядок как привёл. Есть такая софтина как SA, тут теми кто её пишет целый раздел представлен Signals Analyzer в одной из обновок там было, типо восстановление ЧМ сигналов, вот этой фичей я воспользовался. :) Три сигнала, три файла, потом микс, нормальный микс правильный без отсебятины там всякой, это в Кул Едите сделал, и всё.

Вы путаете полосу сигнала и полосу отдемодиного сигнала, сам сигнал может быть хоть и 1000 герц полосой, lpf после смесителей должны иметь срез на 500 естественно, а вот с отдемодулированым нужно согласовано ФНЧ применить, так деалается обычно. И это общий метод.
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 15 Дек 2009 22:23:55 · Поправил: vis (15 Дек 2009 22:54:14) #  

Mesh там было, типо восстановление ЧМ сигналов
Как раз то, что мне нужно:-) Только не в виде готовой утилиты, а в виде алгоритма, который я мог бы сам имплементировать...
Вы путаете полосу сигнала и полосу отдемодиного сигнала Да вроде бы нет... Я говорю о том, что исходный (модулирующий) сигнал имеет спектр 0-100 Гц. Соответственно, демодулированный сигнал теоретически имеет тот же спектр, то есть до 100 Гц, и соответственно применять на выходе демодулятора ФНЧ со срезом 40 Гц - в общем случае не совсем корректно - рискую обрезать полезный сигнал.
Поэтому, я бы предпочел почистить сигнал до демодулятора. Странно, что BPF - почти не помогает, казалось бы он должен отсечь большую часть помех...
Сейчас попробую, сделать BPF с более узкой полосой и с более крутыми срезами...

...Попробовал - не помогает:-( Видимо нужны более сложные алгоритмы выделения полезного сигнала.
Шум/помехи - похоже внутри полосы канала.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 15 Дек 2009 23:13:06 · Поправил: Mesh (15 Дек 2009 23:20:56) #  

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

и соответственно применять на выходе демодулятора ФНЧ со срезом 40 Гц - в общем случае не совсем корректно - рискую обрезать полезный сигнал. Вот тут начинаются проблемы. :) Или есть конкретные сигналы с заданными параметрами и под них делается дем, или тогда можно говорить очень об многом и забурится так далеко, что и забудем с чего начали. Это участь всех дисскусий об общих проблемах. :)

bpf не нужен, уже вроде это решили и вы и сами это проверили, помехи внутри полосы и ко всему они есть часть сигнала ибо смешаны с ним. :) Тут нет других ходов кроме как оптимизировать дем под сигнал, и выходной ФНЧ как раз это и делает. Будет это автоматом делатся или вы будете сами фильтр подбирать не играет роли. Волшебного дема без ФНЧ и из шумного сигнала делающего бесшумный демодулированный сигнал несуществует, имхо.
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 16 Дек 2009 00:05:17 · Поправил: vis (16 Дек 2009 00:09:44) #  

Mesh Или есть конкретные сигналы с заданными параметрами и под них делается дем
Так я ж вроде бы описал конкретные сигналы: спектр частот исходного 0-100 Гц, ширина полосы модулированного сигнала - 300 Гц. То есть строго говоря я не могу ставить на выходе фильтр со срезом 40 Гц.
А вот именно этот частный пример тестового сигнала - он синусоида 10 Гц и тут я могу спокойно обрезать 40 Гц. Но я же не могу строить демодулятор, который будет только этот конкретный тест демодулировать правильно. Мне нужен демодулятор, который корректно декодирует любой сигнал удовлетворяющий условиям выше. То есть, он не должен содержать фильтра 40 Гц на выходе. А без него сигнал (в частности 10гц синусоида) - лохматый:-(
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 16 Дек 2009 00:38:00 #  

vis Так по условиям всё решено давно. Ставьте такой ФНЧ какой должен стоять, 100 герц среза. "Лохматость" имеет причины, они вам известны, плохое отношение сигнал шум. Всё. :)
vis
Участник
Offline1.0
с дек 2009
Сообщений: 23

Дата: 16 Дек 2009 09:41:21 #  

Mesh "Лохматость" имеет причины, они вам известны, плохое отношение сигнал шум. Всё. :)
Тем не менее ситуация все таки не безнадежна:-) Вы вместе с SA сумели декодировать сигнал чисто и без потери низких частот (вы же не делали на выходе ФНЧ 40 Гц?). То есть некие алгоритмы очистки от такого рода шумов существуют и в SA они имплементированы.. Осталось только повторить "подвиг" :-)
В любом случае - спасибо за комментарии.
Sergey4565
Участник
Offline5.0
с сен 2007
Москва
Сообщений: 8318

Дата: 14 Июл 2010 13:00:19 #  

Такой вопрос - возможно-ли принять ЧМ в SSB и демодулировать НЧ сигнал на компе в реальном времени?
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 14 Июл 2010 13:14:35 #  

Sergey4565 Да, возможно. Но соблюдать нужно ряд условий. Судя по вопросу, вы не очень как бы в теме. Не понятно, что вас интересует, железо или софт или просто теоретическая воазможность, типо с дурагном на бутылку пива поспорили. :)
Sergey4565
Участник
Offline5.0
с сен 2007
Москва
Сообщений: 8318

Дата: 14 Июл 2010 13:23:31 #  

Судя по вопросу, вы не очень как бы в теме. Не понятно, что вас интересует, железо или софт или просто теоретическая воазможность
Ладно, поставлю задачу более конкретно - подключаю Деген к компьютеру, цель - принимать ЧМ (си-би для начала взять), при низком уровне сигнала, когда на скате АЧХ уже невозможно разобрать слова, а в однополоске завывающий сигнал идёт довольно чётко. Тоесть меня интересует есть-ли готовая прога, которая сможет это выполнить.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 14 Июл 2010 13:32:07 · Поправил: Mesh (14 Июл 2010 14:09:18) #  

Sergey4565 Ага, ну так боле конкретно. Если Деген в ссб по НЧ даёт неискажённую полосу под 19-20 килогерц, в чём большие сомнения, то можно. Но кто это будет делать? По софту не знаю, може люди в теме подскажут. А, там ещё кроме НЧ нужно что б ПЧ пропустило всё. В Дегене узкая вроде 4 килогерца, не фонтан однозначно, а широкая должна быть не уже деваиации, я не знаю как там модулируют ЧМ на ситибанде.
Sergey4565
Участник
Offline5.0
с сен 2007
Москва
Сообщений: 8318

Дата: 14 Июл 2010 16:49:50 #  

Попробовал записать и поэкспериментировать в SA free... фигня получается, АМ демодулятор даёт более разборчивый сигнал, чем FSK (ЧМ что-то не нашёл). Полоса на выходе приёмника всего 5кГц :(
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 14 Июл 2010 17:11:24 #  

Sergey4565 А положите запись. Для порядку что ли. Интересно ж.
Sergey4565
Участник
Offline5.0
с сен 2007
Москва
Сообщений: 8318

Дата: 14 Июл 2010 19:19:38 #  

ЧМ на ДЕ1103 в SSB
МП3-шный файл для сравнения, как слышно на скате АЧХ в АМ при расстройке. Программно продетектировать с лучшим качеством не получается, да и близкого качества не добиться.
В качестве передатчика база телефона Панасоник на 30МГц, все посторонние шумы и перепады громкости - работа VOX, АРУ и шум собственного приёмника 39МГц (включал без трубки).
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 14 Июл 2010 20:31:11 #  

Sergey4565 Не ну а как иначе? Нормальный ЧМ сигнал АМ детектором не берётся. У вас в записи, это сместь АМ и ЧМ, кто и где смешивает это уже неважно. Или сам Деген, или передача такая, для плохого резалта всё равно. Да и полоса на выходе НЧ не оставляет больших илюзий на путность затеи. Это конечно всё не то.
Sergey4565
Участник
Offline5.0
с сен 2007
Москва
Сообщений: 8318

Дата: 14 Июл 2010 20:53:17 #  

Хотя да... АМ составляющая там будет из-за того, что пришлось отойти от центра сигнала на 2.5кГц, при этом уже возникает детектирование на скате АЧХ, тоесть если отключить SSB, то звук будет слышен кое-как, хоть и использовал широкий фильтр. Частота передатчика 30.075, а на приёмнике 30.077.
studentkra
Участник
Offline4.5
с мая 2017
Красноармейск М.О.
Сообщений: 1321

Дата: 26 Янв 2019 19:14:25 #  

Друзья. Такой вопрос. В программировании я новичок. Пытаюсь построить свой приёмник с демодулятором на микроконтроллере. На выходе аналоговой части квадратуры I и Q нулевой промежуточной частоты. Если их подать на звуковую карту компьютера, то через программу SDRSharp всё отлично работает. Подаю их со смещением по постоянному напряжению на АЦП микроконтроллера. В моём случае это Arduino DUE. Амплитудная демодуляция по формуле мгновенная амплитуда = sqrt(I*I + Q*Q) работает.
Проблема с частотной демодуляцией. Использую формулу мгновенная амплитуда = ((I * Q' + Q * I')/(I * I + Q * Q)) * K). В качестве производных I и Q использую разницу текущего и предыдущего значения из выборок. Но вместо нормального звука получается какое-то хрюкание.

Вот фрагмент кода.

  • I_input = analogRead(analogInPin0) - 2060;
  • Q_input = analogRead(analogInPin1) - 2060;
  • I_delta = (I_input_tmp - I_input) ;
  • Q_delta = (Q_input_tmp - Q_input) ;
  • I_input_tmp = I_input;
  • Q_input_tmp = Q_input;
  • Summ = sq(I_input) + sq(Q_input);
  • IQ = Q_delta * I_input;
  • QI = I_delta * Q_input;
  • W = (float)(IQ + QI) / (float)Summ;
  • DAC_output = ((float)W * 1000)+ 2060;
  • analogWrite(analogOutPin, DAC_output);

Не подскажете что не так? Спасибо.
UBIK
Участник
Offline1.9
с ноя 2017
Neu-Schwaben
Сообщений: 282

Дата: 27 Янв 2019 10:23:25 #  

Не подскажете что не так?
...не берусь утверждать, но ведь хорошо известно - чем больше случайная составляющая в сигнале тем бессмысленнее численный дифференциал взятый "влоб". Как это ни странно прозвучит, но нужно сначала сгладить(т.е. чуток "интегрирнуть" :) ) а уж потом дифференцировать - так в видеообработке делают часто. Но я бы с таким не заморачивался вообще... SSB, AM, PhM детекторы тривиальны, а для FM такой монстрик. Кстати, насколько помню там делят на Q*Q+I*I а не на сумму их корней. По-сути это деление ни что иное как вычитание паразитной АМ. И еще, дифференциалы нужно множить не на текущие сэмплы, а на (T-1)-ые...

Поставьте ограничитель(кстати, он вполне может быть аналоговым). Затем берите фазу. Скользящее среднее так что-бы не задать нижнюю составляющую спектра. Затем дифференцируйте(это уже поток действительных чисел после фазового детектора). Это тоже ЧМ детектор, но попроще...
studentkra
Участник
Offline4.5
с мая 2017
Красноармейск М.О.
Сообщений: 1321

Дата: 27 Янв 2019 12:17:29 · Поправил: studentkra (27 Янв 2019 12:18:48) #  

UBIK, спасибо за ответ.

Как это ни странно прозвучит, но нужно сначала сгладить(т.е. чуток "интегрирнуть"
Я пробовал различные цифровые ФНЧ на входящие I и Q. Но на конечный результат это не сильно повлияло.
Кстати, насколько помню там делят на Q*Q+I*I а не на сумму их корней.
У меня деление именно на сумму квадратов. В принципе для чистого ФМ сигнала она должна быть постоянна всегда. Может кстати попробовать выделить сигнал из паразитной АМ? Надо попробовать.
И еще, дифференциалы нужно множить не на текущие сэмплы, а на (T-1)-ые...
Спасибо за наводку. Попробую.
Поставьте ограничитель(кстати, он вполне может быть аналоговым). Затем берите фазу. Скользящее среднее так что-бы не задать нижнюю составляющую спектра. Затем дифференцируйте(это уже поток действительных чисел после фазового детектора). Это тоже ЧМ детектор, но попроще...
Если я правильно Вас понял, то сути этот метод не меняет. На выходе та же производная фазы.


Меня смущает именно нулевая ПЧ. Мне кажется такой алгоритм ФМ детектора работает некорректно. Я пробовал сдвигать частоту на на 5 КГц, то есть добавлять модулирующую частоту. Результат гораздо лучше. Но не идеальный. Но копать в эту сторону не хотелось бы, так как частота дискретизации АЦП сильно ограничена. Или программно сдвинуть спектр?
Реклама
Google
 Страница:  ««  1  2  3  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.051; miniBB ®