PDA

Просмотр полной версии : Реально ли гибрид TRX и SDR ?



Страницы : 1 [2]

RC6OF
26.06.2015, 23:04
Что бы не ошибиться, нужна схема трансформатора (трансформаторов) изображённых на схеме как LR-601
Увы. Ее не дают еще со времен 7800. В part list тоже просто LR-601. Скорее всего это что-то заказное или собственного изготовления. Кстати вполне возможно там не один трансформатор.

DerBear
27.06.2015, 00:13
Народ, мы будет тут абрревиатуры обсуждать или решением задач заниматься?
IC-7410/9100/7600/FT-450 - чистые представители ортогональных каналов на последней ПЧ. Про 7850 я не говорил ни слова, схемы ещё не смотрел...

RC6OF
27.06.2015, 00:46
IC-7410/9100/7600/FT-450 - чистые представители ортогональных каналов на последней ПЧ.
7600, 7410, как и 9100 с такой же структурой как в 78хх - все квадратуры заканчиваются в аналоговом виде ;). Можете скачать сервис мануалы и убедиться в этом сами. Только у FT-450 есть то, о чем Вы говорите. И еще, это принято называть квадратурные каналы.


Народ, мы будет тут абрревиатуры обсуждать или решением задач заниматься?
Так, чтобы что-то решать задачу нужно поставить, а ТЗ пока в теме не видно...

ra3qdp
27.06.2015, 01:47
MDSR - это просто оцифровка низкой ультразвуковой ПЧ 10...30кГц звуковой картой, БЕЗ ПРИМЕНЕНИЯ ортогонального IQ канала. Данная тема применяется в большинстве современных цифровых трансиверах, производимых с 90-ых годов, включая всю линейку кенвудов, езу и даже Айкомов
во всех них сигнал сначала проходит через соответствующий по полосе фильтр (основной селекции) и разделение верхней и нижней боковых или подавление зеркалки в цифре не требуется. Выходит в MDSR к радиотракту предъявляется лишь требование отфильтровать
зеркалку отстоящую на двойную ПЧ : 2*12=24КГц, так я понял ? Только вот - что особенного в этом софте, ведь любая SDR программа,
например PowerSDR, тоже работать будет и с одним каналом ?

sgk
27.06.2015, 05:41
ведь любая SDR программа,
например PowerSDR, тоже работать будет и с одним каналом ?
Может Winrad
205224
Если выбран один канал, то нет подавления зеркального канала. Но, по моему личному мнению, "звучание" лучше чем в случае применения квадратурного смесителя и включения функции программного подавления зеркального канала.

rx9cim
27.06.2015, 10:15
Если один канал это сигнал после КФ, находящийся например в частотном диапазоне одной из боковых полос, то никакого зеркального канала нет. Он есть если центральная частота полосы сигнала после КФ равна нулю.
Сейчас при программной обработке используют БПФ, понятие квадратурных каналов в этом случае эфемерное. Оно было реально и актуально для обработки "когда микросхемы были большими".

ra3qdp
27.06.2015, 11:01
если центральная частота полосы сигнала после КФ равна нулю.
в этом случае КФ должен отфильтровывать другую боковую, которая при этом и есть зеркальный канал. В случае не нулевой ПЧ зеркальный канал находится дальше от основного и его проще отфильтровать.
Ни каких "чудес" не делает цифровая обработка. Она строго соответствует классической радиотехнике. Единственное в цифре возможны методы - редко или совсем не применяемые в аналоговой из-за технической сложности и поэтому забытые или невостребованные.
Избавиться от зеркального канала (или не нужной боковой в случае нулевой ПЧ) можно только отфильтровав ее или подавив фазовым методом. Можно оба метода использовать совместно. Ну еще существует метод "синтетического" (раздельной обработки частотной и амплитудной составляющих) формирования и может он и обратим. В самых современных SDRах - АЦП на входе и насколько я знаю - без каких либо фазовращателей и двух каналов. Но вроде правильно их называть не АЦП, а цифровыми понижающими конверторами. Интересно было бы узнать их блок-схему и принципы работы - в классической терминологии. Может быть возможно реализовать это на обычном компютере с обычной звуковой картой использовав один канал, но - на низкой частоте.

RC6OF
27.06.2015, 11:40
В самых современных SDRах - АЦП на входе и насколько я знаю - без каких либо фазовращателей и двух каналов. Но вроде правильно их называть не АЦП, а цифровыми понижающими конверторами.
Это два разных понятия. АЦП осуществляет переход от аналогового сигнала к цифровому (например, AD6645), а цифровой "даунконвертер" обеспечивает перенос интересующей нас части спектра на нулевую ПЧ (например, AD6620, эту же функцию может выполнять м/сх FPGA с соответствующей прошивкой). Иногда эти два блока совмещают в одной ИС.

Интересно было бы узнать их блок-схему и принципы работы - в классической терминологии.
Все по классике - АЦП, с него на DDC. Внутри DDC входной сигнал идет на перемножитель на комплексную синусоиду (ее можно получить используя, например, алгоритм CORDIC) потом идет фильтрация с децимацией. Обычно для экономии вычислительных мощностей фильтрацию с децимацией делают на структурах именуемых CIC ( https://en.wikipedia.org/wiki/Cascaded_integrator% E2%80%93comb_filter ), финальную децимацию-фильтрацию и при необходимости коррекцию АЧХ обычно делают обычным FIR фильтром. Вот собственно и все - на выходе DDC получаем два квадратурных канала с необходимой частотой дискретизации. А далее можно подать это дело на обработку таким же ПО которое обрабатывает два квадратурных канала сформированные в аналоговом виде. В принципе можно и всю обработку реализовать в одной м/сх FPGA.



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


Сейчас при программной обработке используют БПФ, понятие квадратурных каналов в этом случае эфемерное. Оно было реально и актуально для обработки "когда микросхемы были большими".
Не вижу каких-то огромных преимуществ использования БПФ (если для обработки использовать специализированные процессоры). Часть алгоритмов реализуется удобно и просто в частотной области, часть во временнОй, ИМХО, как удобно так и нужно делать.

ra3qdp
27.06.2015, 11:47
Я абсолютно ничего не понимаю в цифровой обработке, но как-то попалась статья в которой, на сколько я понял, речь шла о том, что кто-то что-то делая с помощью преобразования Гилберта получил в итоге структуру полностью совпадающую с обычным цифровым фильтром. Это я по поводу отсутствия "чудес" в цифровой обработке.

Интересно было бы узнать их блок-схему и принципы работы - в классической терминологии
слово "классической! - КЛЮЧЕВОЕ. Ваши объяснения для меня (и думаю для большинства) - пустой звук. Если Вы досконально знаете принципы работы всего, что Вы описали "страшными" терминами - напишите, пожалуйста, Это было бы ОЧЕНЬ полезно всем. Я прекрасно понимаю, что сделать это мягко говоря - не просто, но может постараетесь ? Ведь нигде никто этого пока не сделал.

rx9cim
27.06.2015, 12:48
Если бы этого никто никогда не делал, как тогда это делаю многие :)?
Можете у меня на сайте www.rx9cim.ucoz.ru поискать описание ПО приёмника Пион-DSP, там кое-что написано с разъяснениями.
Если писать в кратце, то в цос есть два направления обработки - частотное и временное. В частотном представлениие идет управление спектром сигнала. Чтобы получить спектр сигнала надо сделать БПФ над входными значениями сигнала. Там есть свои тонкости и нюансы, не буду в них вдаваться. Получив спектр можно делать переносы сигналов внутри спектра, можно отфильтровать, выделить полосу. Тут все так же как и в аналоговой технике. Спектр БПФ представляет из себя массив или по сути таблицу, значение каждой строки соответствует амплитуде и фазе сигнала на конкретной частоте, номер строки соответствует частоте. Спектр дискретный, все отсчеты идут с шагом в определенное количество Гц. Далее допусти нам надо перенести сигнал на требуемую частоту. В аналоге для этого нужен смеситель, при работе с спектром БПФ надо просто перекопировать нужные одни значения массива спектра на место других. Далее надо сигнал отфильтровать. В аналоге ставим фильтр, в цифре - надо перемножить спектр сигнала и спектр требуемого фильтра. Т.е. как бы наложить на спектр "картинку" с ачх фильтра. Перенесли, отфильтровали. Надо выделить нижнюю боковую полосу. В аналоге ставим смеситель, который позволит перенести сигнал ПЧ к нулю с учетом того, чтобы сигнал располагался слева или справа от нуля. Справа - верхняя боковая полоса, слева -нижняя. В цифре это выглядит как обнуление значений на частотах выше или ниже нуля. Далее получив итоговый спектр надо сделать обратное БПФ - ушами мы слушаем не спектр, а дискретные значения сигнала, который соответствует этому спектру. Все, дальше сигнал можно подавать на цап и слушать звук.
В временной обработке все немного по другому и работа похожа на принципы функционирования узлов в аналоговой технике. Например смеситель в цифре делается как и в аналоге - входной сигнал перемножается с опорным колебанием. В цифре опорное колебание реализуется путем вычисления тригонометрии - синусов и косинусов- с учетом изменения фазы во времени. Т.е. все как в аналоге, только через математическое описание процесса.
В кратцп описал, чтобы было понятно.
Олег- БПФ дает серьёзный выигрыш по времени например при фильтрации при использовании обычных вычислительных средств. Но оно требует ресурсов по памяти. Например любая персоналка прикурит обрабатывать сигнал фильтром 2047 порядка в временной области при частоте дискретизации 48 и более кГц. Для спец. процов это не проблема. А вот в частотной области даже stm32f4 это считает без проблем, загрузка проца около 5-10%. Остальные вещи действительно проще делать в временной области - например АРУ, тут я согласен.
Я когда выбирал проц для своих проектов специально взял stm32 как распространенный проц с дешёвым отладчиком и богатой периферией Если посмотреть на процы от аналог девайса или тексас инструментс, то там только отладчик стоит около 50 баксов и процы не дешевые, и в продаже не везде есть.

sgk
27.06.2015, 12:53
По первому вопросу автора темы.
В обсуждения SW20XX, в разных ветках, предлагал для приёма АМ и ЧМ после 1- ПЧ тракт SDR на "низкой" (20-40 кГц). Был назван провокатором который хочет увести развитие трансивера в тупик. Хотя такая структура с успехом применяется в десятке моделей, в том числе в самых современных IC-7850, IC-7851.

Если один канал это сигнал после КФ, находящийся например в частотном диапазоне одной из боковых полос, то никакого зеркального канала нет.
Для приёма маяков 7,039 МГц, 14,1 МГц и любителей диапазонов 80, 40, 20 метров собирались квадратурные смесители. В точке подавление зеркального канала до -100 дБ, при расстройке хуже до -50 дБ. Смесители подключались прямо к антенне или через ПДФ и преселектор. По экрану осциллографа в 20 -22 вечера уровень сигнала с антенны на 50 Ом временами доходил до 70 мВэфф (200 мВ от пика до пика). Поэтому усилия были направлены на один смеситель, без квадратуры который способен выдержать от пика до пика 300 мВ с минимальными искажениями.
http://www.cqham.ru/forum/showthread.php?5734-%D7%F2%EE-%EC%EE%E6%E5%F2-%E7%E2%F3%EA%EE%E2%E 0%FF-%EA%E0%F0%F2%E0&p=1118581&viewfull=1#post11185 81
В ссылке картинка.
Звучание, чисто личное мнение для меня лучше, когда не включена программная обработка подавления зеркального канала. НЧ выход был с ЦАПа карты E-MU 1212M.

ra3qdp
27.06.2015, 18:29
Если бы этого никто никогда не делал, как тогда это делаю многие
Вы не поняли - я имел ввиду, что никто пока не объяснил методы цифровой обработки в современных трансиверах в классической терминологии отталкиваясь от методов классической радиотехники.
Далее Вы делаете попытку это сделать, но как и многие - не удачно на мой взгляд. Вы описываете (упрощенно, чтобы было понятно) конкретные методы и алгоритмы. Вы их сами придумали ? Почему именно так и это обязано работать именно так ? Как Вы до этого дошли ? Интересуют именно принципы. Много есть программистов, только большинство из них очень слабо представляют работу компьютера для которого они пишут, а ведь получается (что-то).

rx9cim
27.06.2015, 19:16
Я специально не стал сильно подробно все описывать, т.к. эти нюансы требуют хороших технических знаний и опыта программирования.
По сути единственный путь понять как это работает - читать статьи и литературу. Можно изобретать велосипед, но тогда разработка трансивера затянется на годы и потеряет свою актуальность. Конкретно я взялся за ЦОС имея хороший опыт программирования и знания в области вычислительной техники. Тем, кто программирует под винду знания в области вычислительной техники могут не потребоваться. В моем случае все делалось с нуля на конкретном процессоре, кроме программирования алгоритмов пришлось подумать как сделать управление устройствами процессора, связь по разным интерфейсам, придумывать протоколы взаимодействия.
Рекомендую почитать книжку Ричарда Лайонса "Цифровая обработка сигналов" и статьи на ресурсе dsplib.ru . Тогда возникнет представление о общих принципах ЦОС и связке с реальными аналоговыми сигналами.

RC6OF
28.06.2015, 14:37
ы не поняли - я имел ввиду, что никто пока не объяснил методы цифровой обработки в современных трансиверах в классической терминологии отталкиваясь от методов классической радиотехники.
В классической терминологии можете почитать Полякова "О технике прямого преобразования". Там фактически готовые математические модели для модуляции/демодуляции сигналов при обработке во временнОй области. Все, что сложнее, или сделано по другому потребует хотя бы минимальных знаний ЦОС/математики и в "классической терминологии" скорее всего объяснено быть не может.


Олег- БПФ дает серьёзный выигрыш по времени например при фильтрации при использовании обычных вычислительных средств. Но оно требует ресурсов по памяти. Например любая персоналка прикурит обрабатывать сигнал фильтром 2047 порядка в временной области при частоте дискретизации 48 и более кГц.
Так я упомянул целевую архитектуру. В используемом у меня процессоре на обработку одного тапа FIR фильтра с разрядностью коэф/данный 24бит уходит 1такт, или 150миллионов тапов в секунду (упомянутый фильтр в 2047тапов будет посчитан за 13.64мкс). Если нужна двойная точность, то два такта

Кстати, а сколько stm32f4 тратит тактов на один тап FIR фильтра (умножение с накоплением плюс выборка из памяти двух значений и инкремент двух регистров, а также организация цикла, терзают меня сомнения, что выйдет весьма много тактов)?

rx9cim
28.06.2015, 14:56
В stm32f4 на умножение с накоплением нужен 1 такт. Работа с ОЗУ без задержек т.е. 1 такт время доступа, к ПЗУ- 4 такта, есть кэш и предвыборка. Но в целом не очень быстро, но в итоге есть запас по быстродействию около 25% и все вычисления в формате float.

Из-за нехватки быстродействия я при фильтрации отказался от временной области. Точные цифры именно по расчету ФИР не помню, БПФ 2048 выполняется примерно за 2-4мс.

RC6OF
28.06.2015, 17:51
В stm32f4 на умножение с накоплением нужен 1 такт. Работа с ОЗУ без задержек т.е. 1 такт время доступа, к ПЗУ- 4 такта, есть кэш и предвыборка. Но в целом не очень быстро, но в итоге есть запас по быстродействию около 25% и все вычисления в формате float.
Нашел, на Cortex-M4 12тактов (это целочисленная арифметика 32бит) если решать задачу "в лоб". С использованием FPU наверное будет еще медленнее. :roll: С другой стороны возможность писать на С очень хорошая штука...
Я вот честно говоря даже не знаю куда податься в связи с фактической "кончиной" серии DSPB563xx.

Genadi Zawidowski
28.06.2015, 18:02
Олег, есть разные cortex, например renesas-овскй RZ/A1L - R7S721020VCFP - у него плавающая точка с одинарной и двойной точностью считается аппаратно - за те же 1-2 такта (кроме квадратного корня) - тактовая до 400 МГц. Подготовка данных и организация цикла тоже займут кое-что. FPU не медленнее целочисленки ни в M4F, ни в A9 (которым является renesas).
Современные DSP от TI только в BGA исполнении, я думаю для домашнего макетирования трудновато. Так что советую ST STM32F4/STM32F7 или RENESAS RZ/A1L.
Файл с именем - list_no_fast_optimiz ations.txt - это то что получается в "медленном" варианте компиляции - работает на четверть медленнее чем обычно, зато легче посчитать такты. Здесь не unroll loops - когда несколько итераций цикла разворачиваются в линейную программу.

R9MAB
28.06.2015, 19:51
упомянутый фильтр в 2047тапов будет посчитан за 13.64мкс
Длина фильтра наводит на мысль, что можно было сэкономить на вычислительных ресурсах, если использовать фильтрацию с децимацией в несколько этапов с не слишком большими коэффициентами децимации, либо использовать CIC.

rx9cim
28.06.2015, 20:08
Зачем усложнять себе жизнь, если и так все решается ? Это итак отличная цифра.
Любая разработка должна начинаться с грамотного ТЗ, а там уже и процессор выберется. На мой взгляд для одноканального приемника stm32f7 более чем достаточно при частоте дискретизации 48кГц, проверил лично на трех конструкциях. А вот для 96кГц при сохранении функционала нужно что-то более мощное, тот же stm32f7.
С stm32f4 если решать только задачу демодуляции и АРУ можно задрать частоту дискретизации до примерно 120кГц, реально проверял.
Выбор проца зависит от поставленных целей- повторяемость или наивысшая производительность. Выбрав stm я свою задачу решил - пион и тюльпаны по тихоньку входят в массы. Для тюльпана было заказано и разослано 45 комплектов печатных плат, я слышал о более 10 реально собранных трансиверах, многие печатные платы делали сами.

R2DHG
28.06.2015, 20:12
Повторяемость - это в смысле простоты паяния и стоимости изготовления ? (настраивать то вроде не надо ничего и если вообще работает - работает на 100%)

RC6OF
28.06.2015, 20:56
Длина фильтра наводит на мысль, что можно было сэкономить на вычислительных ресурсах, если использовать фильтрацию с децимацией в несколько этапов с не слишком большими коэффициентами децимации, либо использовать CIC.
У меня таких фильтров нет, децимация, интерполяция присутствуют - все в полном порядке 8-). Просто был пример, по нему и ответ был дан.


FPU не медленнее целочисленки ни в M4F
Да, нашел уже бенчмарки по базовым DSP функциям - процентов на 15 быстрее выходит, но всеравно медленно.


А вот для 96кГц при сохранении функционала нужно что-то более мощное, тот же stm32f7.
У меня оцифровка идет на 96к, обработка частично на 96к, частично на 8к. Очень много ресурсов забирает адаптивная фильтрация. Если все повключать, то нынешний DSPB56367 загружен где-то на 40%, и это оптимизированный код на ассемблере. Думаю stm32f7 его заменить не смог бы...


есть разные cortex, например renesas-овскй RZ/A1L - R7S721020VCFP
Это нечто экзотическое походу. У нас Renesas никогда в продаже не было, да и в тех же newark/farnel/digikey не припоминаю, хотя последнее время не интересовался... Cortex-M4F я пока не рассматриваю - как по мне, то возможностей у такого варианта будет меньше, а зачем тогда его делать? Возможно в будущем все сделаю на FPGA, а пока останусь на своих любимых dspb563xx :)

rx9cim
28.06.2015, 21:00
Повторяемость - это в смысле простоты паяния и стоимости изготовления ?
Нет. Это доступность и дешевизна радиодеталей и программатора.

RC6OF
28.06.2015, 21:01
Повторяемость - это в смысле простоты паяния и стоимости изготовления ?
ИМХО, это:
1. Доставаемость
2. Стоимость
3. Паяемость
4. Сложность топологии платы (stm32 хорош тем, что у него память встроенная, с внешней было бы проблематично развести нормально в двух слоях чтобы ее можно было по ЛУТ технологии сделать)
5. Возможность запрограммировать это все

R2DHG
28.06.2015, 21:34
С доставаемостью вроде проблем сейчас нет (тьфу тьфу тьфу...).

rx9cim
28.06.2015, 22:01
Есть еще другая доставаемость - у меня было такое, что что-то ломалось, теже процы. Из Китая доставаемо все, но что лучше - ждать месяц или сходить в магазин на соседней улице?

Добавлено через 17 минут(ы):

Конечно не бывает магазинов где есть все, что-то все-таки вынужден заказывать из Китая.

rx9cim
01.07.2015, 07:47
Нашел описание трансивера DSP-610, с DSP на низкой ПЧ: https://sites.google.com/site/dsp610constuction/

RC6OF
01.07.2015, 10:54
Нашел описание трансивера DSP-610, с DSP на низкой ПЧ: https://sites.google.com/site/dsp610constuction/
Та ну 12бит встроенным в DSPic АЦП оцифровывать даже на такой ПЧ это какое-то редкое извращение :crazy::shock: - таким АЦП я бы и микрофон не рискнул оцифровывать...

P.S. У меня вот в последнее время желание обрабатывать сигнал в широкой полосе появилось, потому от такой структуры вполне возможно буду уходить...