Автор Тема: Гетеродин 500 кГц на микроконтроллере  (Прочитано 6867 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Вот написал программу для генерации синусоидального сигнала 500 кГц. Применён микроконтроллер ATtiny861A, частота кварца 16 МГц. Частота выборок fS=8000 кГц, т.е. получилось 16 точек на период сигнала 500 кГц. ЦАП - на матрице R-2R, пока никаких фильтров на выходе.

Спектр гетеродина достаточно чистый, внеполосные шумы не более -50 дБ.  Теоретически обычный LC-контур может снизить шумы ещё на 64 дБ. На мой взгляд вполне приличный сигнал для гетеродина, хотелось бы обсудить применение.
« Последнее редактирование: 04 Декабрь 2017, 22:30:03 от GM »
Зачем нам бумеранг? У нас грабли есть!

Оффлайн Сергей UB1APE

  • Ветеран
  • *****
  • Сообщений: 5930
  • Я точно знаю, что ни чего не знаю
    • Просмотр профиля
    • E-mail
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #1 : 17 Апрель 2018, 13:28:50 »
Замечательно получилось. Вы поставили перед собой задачу, насколько я понял, создать сие устройство.  Поздравляю у вас получилось . Но  для практического применения в  аппарате для  ДВ  оно одно  зачем?
UB1APE ( RA1ADF) Сергей.

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #2 : 17 Апрель 2018, 23:55:58 »
В Радио-2011-12-54 есть статья А.Кудрявцева "Приёмник и антенна диапазона 136 кГц...". На рис.5 приведена схема 1-го гетеродина на 364 кГц (выход меандр) и схема 2-го гетеродина на 500 кГц (выход тоже меандр).

Схема мне показалась сложной и навороченной, хотя позиционируется для начинающих (ну таких, как я). Почему бы, подумал я, не сделать проще - на двух МК и двух цапах с матрицей R-2R?

Так родилась данная схема как замена второму гетеродину (но выход чистый синус). Технически оказалось достаточно сложно сделать именно 500 кГц, т.к. на одну выборку приходится всего 2 машинных такта (fS=8MHz). Но результат получился вполне приемлемый.

А первый гетеродин тоже можно упростить, убрать делители, плл, выход цапа подать на НЧ-фильтр, который давит всё, что выше 400 кГц, а там только полосы 1090 и 1818  кГц, так что фильтр должен быть простой.

Задающий генератор один на оба МК.

В принципе, можно сделать два DDS на одном микроконтроллере, но, похоже, никого не интересует.
« Последнее редактирование: 19 Апрель 2018, 19:41:58 от GM »
Зачем нам бумеранг? У нас грабли есть!

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 3547
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #3 : 18 Апрель 2018, 07:37:39 »
Так родилась данная схема как замена второму гетеродину (но выход чистый синус). Технически оказалось достаточно сложно сделать именно 500 кГц, т.к. на одну выборку приходится всего 2 машинных такта (fS=8MHz). Но результат получился вполне приемлемый.

А первый гетеродин тоже можно можно упростить, убрать делители, плл, выход цапа подать на НЧ-фильтр, который давит всё, что выше 400 кГц, а там только полосы 1090 и 1818  кГц, так что фильтр должен быть простой.
Не стоило бы так делать, для приемника это нехорошо.
В чем тут проблема. Сигнал такого ддс непосредственно на высокой рабочей частоте (в ее окрестностях) грязноват. В нем есть джиттер. Спектр показывает наличие шума с уровнем -45 -50 дБ относительно несущей. Если подать такой сигнал гетеродина на смеситель, к сожалению возникнет много паразитных, попадающих в полосу пропускания пч, каналов приема. Все бы ничего, но в полосе пропускания пч стоят две станции hga22 и dcf39, они очень мощные (+50...+60 дБ над шумом). Приемник будет заполнен многочисленными интермодуляционными полосками, а скорее и вся шумовая полка поднимется децибелл на 20! Эффект возникает в присутствии мощных сигналов, без них будет казаться, что все нормально. Может быть звучание будет несколько металлическое.
Чтобы такого не было, сделана петля фапч. Ддс в ней работает на низкой частоте и сигнал у него довольно чистенький. Сам контур фапч - это узкополосный фильтр с полосой пропускания в единицы гц, что еще более улучшает чистоту сигнала.
Опора 500 кгц кратна частоте генератора 16 Мгц, ее очень легко получить счетчиком-делителем, и она получается чистенькая.
Ддс на рабочей частоте хорош для передачи, на прием - нет.
« Последнее редактирование: 18 Апрель 2018, 23:02:55 от rn3aus »

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #4 : 18 Апрель 2018, 23:27:40 »
Спектр показывает наличие шума с уровнем -45 -50 дБ относительно несущей. Если подать такой сигнал гетеродина на смеситель, к сожалению возникнет много паразитных, попадающих в полосу пропускания пч, каналов приема. Все бы ничего, но в полосе пропускания пч стоят две станции hga22 и dcf39, они очень мощные (+50...+60 дБ над шумом).
Ну даже с очень чистым гетеродином ваши станции попадут в полосу пропускания. Так что дело не в шуме гетеродина. Чтобы подавить эти станции, надо либо на входе поставить фильтры-режекторы, либо сужать полосу пропускания ПЧ, ну или применить оба способа.
Зачем нам бумеранг? У нас грабли есть!

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 3547
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #5 : 19 Апрель 2018, 07:07:04 »
О том и речь, что попадут. Разница в том, что когда гетеродины чистые - будет нормальный прием, когда грязные - грязный.

Вы бы выложили где-то здесь текст программы (и схему) У Вас получаются хорошие синтезаторы, а мне было бы полезно научиться новому.
« Последнее редактирование: 19 Апрель 2018, 07:12:43 от rn3aus »

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #6 : 19 Апрель 2018, 19:11:45 »
Вот схема, прошивка и спектр вблизи несущей.

В осцилле есть встроенная функция БПФ, не супер-пупер, конечно. Теоретически вблизи несущей DDS должна быть чистая зона без спуров. На фото её немного видно в полосе примерно 20 кГц. Ну а поскольку вся полоса ДВ-диапазона равняется 2.1 кГц, то нам больше и не надо, все цифровые шумы гетеродина будут вне полосы пропускания ПЧ-фильтра.

На схеме я еще пририсовал стандартный резонансный усилитель, если добротность контура будет порядка 100, то шумы гетеродина в полосе ПЧ будут порядка 116 дБ, ну или около того, лень считать. Параметры усилителя не указаны, тут каждый может проявить свои творческие возможности.
« Последнее редактирование: 19 Апрель 2018, 19:23:21 от GM »
Зачем нам бумеранг? У нас грабли есть!

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #7 : 19 Апрель 2018, 19:29:07 »
Забыл показать конструктивное исполнение цапа на матрице R-2R. Здесь номиналы резисторов - 12к/24к.
« Последнее редактирование: 19 Апрель 2018, 19:38:27 от GM »
Зачем нам бумеранг? У нас грабли есть!

Оффлайн ut7gh

  • Старожил
  • ****
  • Сообщений: 312
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #8 : 19 Апрель 2018, 19:56:08 »
 GM , а какое оптимальное Rвх. следующего каскада за матрицей R-2R ?  Наверно гораздо больше 24 к. надо ?

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 3547
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #9 : 19 Апрель 2018, 20:50:32 »
Вот схема, прошивка и спектр вблизи несущей.
Спасибо. А текст программы не покажете?

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #10 : 19 Апрель 2018, 22:43:14 »
GM, а какое оптимальное Rвх следующего каскада за матрицей R-2R ?  Наверно гораздо больше 24 к надо?
Вгрубе выходное сопротивление данного цапа равно R, и, казалось бы, Rвх следующего каскада должно быть таким же. Однако, данный цап выдаёт не ток, а напряжение, и любая нагрузка изменяет выходное напряжение.

Т.е. теоретически входное сопротивление следующего каскада должно быть бесконечным, скажем повторитель на ОУ. На практике можно обойтись 10*R-20*R.

Если, к примеру, рассмотреть резонансный усилитель с резистором в эмиттере, то его входное сопротивление примерно Rэ*Ку. При Rэ=2к и Ку=100 входное сопротивление составит 200 к (без учета входного делителя). That's what the doctor ordered :-).
« Последнее редактирование: 19 Апрель 2018, 23:07:57 от GM »
Зачем нам бумеранг? У нас грабли есть!

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #11 : 19 Апрель 2018, 22:50:28 »
Спасибо. А текст программы не покажете?
Ну, я с содроганием показываю свои тексты, тем более такие...неординарные. Да и объяснять потом придётся каждую запятую. Профессионалу могу показать.
Зачем нам бумеранг? У нас грабли есть!

Оффлайн Сергей UB1APE

  • Ветеран
  • *****
  • Сообщений: 5930
  • Я точно знаю, что ни чего не знаю
    • Просмотр профиля
    • E-mail
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #12 : 20 Апрель 2018, 01:01:40 »
Ну-у вот... Опять для профи... А как же быть "начинающим"  ;)
UB1APE ( RA1ADF) Сергей.

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 3547
    • Просмотр профиля
Re: Гетеродин 500 кГц на микроконтроллере
« Ответ #13 : 20 Апрель 2018, 07:23:29 »
Жаль конечно.

Я бы только деликатно уточнил расчет величины входного сопротивления каскада. За счет резисторов базового делителя оно будет поменьше, всего 10-15 кОм.

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 331
    • Просмотр профиля
Специально для Сергея, RA1ADF, щедрой души
« Ответ #14 : 20 Апрель 2018, 13:14:57 »
Ну-у вот... Опять для профи... А как же быть "начинающим"  ;)
Это, конечно не мастер-класс, но уровень можно показать :-). DDS, 8 машинных циклов.
loop: out  portb,r13
      add  r10,r20
      adc  r11,r21
      adc  r30,r22
      lpm  r13,z
      add  r10,r20
      out  portb,r13
      adc  r11,r21
      adc  r30,r22
      lpm  r13,z
      rjmp loop
Зачем нам бумеранг? У нас грабли есть!