Skryppy 1 22 апреля, 2020 Опубликовано 22 апреля, 2020 · Жалоба Здравствуйте, решил сделать модель усилителя в матлаб. Почему-то не формируется вторая гармоника сигнала при подаче мощного сигнала, но зато формируется 3 гармоника. Подскажите какие настройки выставить, чтобы совпало с поведением в железе, там вторая гармоника появляется раньше третьей и имеет амплитуду больше амплитуды третьей гармоники. Информацию параметров усилителя взял из пдф на микросхему lee-49. Настраивал параметры ip2 в пределах от -100 до +100 дбм, не помогло. amplifier_test.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 22 апреля, 2020 Опубликовано 22 апреля, 2020 · Жалоба 4 часа назад, Skryppy сказал: не формируется вторая гармоника сигнала при подаче мощного сигнала, но зато формируется 3 гармоника. То, что не формируется вторая гармоника, говорит о том, что в Вашей модели синусоида ограничивается симметрично сверху и снизу, а при симметричном ограничении возникают только нечётные гармоники. На СВЧ, однако, такого не бывает, поэтому в реальности лезет вторая гармоника. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 22 апреля, 2020 Опубликовано 22 апреля, 2020 · Жалоба Понятно, скорее всего нужно выбирать параметр Nonlinear polyn. type = even and odd. Но вторую гармонику не смог пока получить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба Что-то так и не смог добиться появления второй гармоники. Может кто подскажет как вручную настроить ограничение синусоиды несимметричным? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба 4 минуты назад, Skryppy сказал: Что-то так и не смог добиться появления второй гармоники. Может кто подскажет как вручную настроить ограничение синусоиды несимметричным? Покажите настройки всех блоков. Или модель сконвертируйте для версии 2016b. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба Модель сконвертировал. Посмотрите, пожалуйста. Я нашел источник синусоиды с настройками offset, получилось получить вторую гармонику, но она все равно меньше третьей, а после прохождения второго усилителя данные вообще распались, хотя в железе несущая и вторая гармоника на 30 дБ отличаются. А третья потихоньку их догоняет. Буду методом тыка дальше подбирать параметры генератора синусоиды, может что и получится. Amplifier_test_2016b.slx test_2016b.slx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба 20 минут назад, Skryppy сказал: Amplifier_test_2016b.slx test_2016b.slx Не смог открыть модели, Матлаб говорит, что это версия 2019b... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба Пересохранил файлы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба В 22.04.2020 в 14:12, Skryppy сказал: Почему-то не формируется вторая гармоника сигнала при подаче мощного сигнала, но зато формируется 3 гармоника. Подскажите какие настройки выставить, чтобы совпало с поведением в железе Посмотрел. Вы несколько некорректно формируете входные и выходные сигналы, по сути на входе у Вас сейчас 2.6 ГГц несущая, а что на выходе понять сложно, по-видимому SimRF тоже не очень понял, что от него хотят:) Не скажу, что сам все полностью понимаю, но вот два варианта, которые работают: Amplifier_v1_2016b.slx Amplifier_v2_2016b.slx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 23 апреля, 2020 Опубликовано 23 апреля, 2020 · Жалоба Спасибо большое, завтра посмотрю, сейчас нет возможности . Завтра отпишусь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 24 апреля, 2020 Опубликовано 24 апреля, 2020 · Жалоба Итак, ещё раз спасибо, все заработало. Просветите меня по нескольким вопросам, пожалуйста. 1) правильно ли я понял, что в блоках inport если задаём несущую, carrier frequency, то он сам формирует ее, надо на входе константой только задать амплитуду? 2) почему при установлении значения 0 (по умолчанию), надо задавать частоту из вне, а если установить 1е9, то она сама сформируется? В хелпе матлаба не нашёл информации. 3) когда надо проставлять несущие в настройках блока outport: carrier, почему при установлении в блоке inport: 0 hz carrier, нельзя установить другие частоты в настройках output: carrer frequency, вернее будут отображаться помехи, а не несущие? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 28 апреля, 2020 Опубликовано 28 апреля, 2020 (изменено) · Жалоба В 24.04.2020 в 09:16, Skryppy сказал: 1) правильно ли я понял, что в блоках inport если задаём несущую, carrier frequency, то он сам формирует ее, надо на входе константой только задать амплитуду? Да, но константа это частный случай. В общем же случае, на вход подаются отсчеты квадратур низкочастотного модулирующего сигнала I(t)+j*Q(t) (complex baseband signal), т.е. блок inport реализует функцию квадратурного модулятора. Это же ответ и на второй вопрос. И, к слову, хелп Матлаба вполне информативен, все это есть в описании на блок inport. Другое дело, что информация в хелпе сильно размазана и нет систематического изложения. Поэтому, рекомендую к прочтению вот эти два манускрипта: раз и два В 24.04.2020 в 09:16, Skryppy сказал: 3) когда надо проставлять несущие в настройках блока outport: carrier, почему при установлении в блоке inport: 0 hz carrier, нельзя установить другие частоты в настройках output: carrer frequency, вернее будут отображаться помехи, а не несущие? Для начала надо понимать общий принцип работы SimRF. Никаких реальных модуляций/демодуляций и переносов спектра в блоках inport/outport нет, как нет в SimRF и симуляций на высокой частоте. А есть только огибающая сигнала (вот эти вот отсчеты квадратур I(t)+j*Q(t)) и есть набор несущих частот, для которых (и только для которых) аналитически просчитывается прохождение огибающей через элементы схемы. Список несущих частот задается в блоке конфигурации (включая гармоники). Или же этот список формируется автоматически, на основании, в том числе, и несущих частот, заданных в блоке inport. Все, других частот SimRF просто не знает. Поэтому и попытка прописать любую другую частоту в блоке outport, кроме заданных в блоке конфигурации, и приводит к формированию на выходе нулей, для них расчет просто не делался. Это все можно показать на простом примере из первого поста, где на входе реальный сигнал (в случая комплексного сигнала принцип тот же, только формул больше): На выходе блока inport формируется сигнал (квадратурную компоненту везде опускаю, т.к. она равна нулю): y(t) = I(t)*cos(wc*t), где I(t) это огибающая, в нашем случае это sin(w0*t), а wc – несущая частота, заданная в блоке inport, w0 = wc = 1.3ГГц. Далее сигнал проходит через усилитель с нелинейной характеристикой: y(x) = k1*x + k2*x^2 + k3*x^3, и на выходе усилителя получаем: ya(t) = k1*I(t)*cos(wc*t) + k2*I^2(t)*cos(wc*t)^2 + k3*I^3(t)*cos(wc*t)^3 Раскрываем степень у несущих частот и объединяем одинаковые частоты: ya(t) = k1*I(t)*cos(wc*t) + k2*I^2(t)*[1 + cos(2*wc*t)]/2 + k3*I^3(t)*[3*cos(wc*t) + cos(3*wc*t)]/4 ya(t) = [k2*I^2(t)/2] + [k1*I(t) + k3*I^3(t)*3/4]*cos(wc*t) + [k2*I^2(t)/2]*cos(2*wc*t) + [k3*I^3(t)/4]*cos(3*wc*t) Получаем 4 аналитические формулы для 4-х огибающих (то, что в квадратных скобках) для каждой из возможных несущих частот. Возможных – т.к. анализировать эту частоту или нет, решаем мы сами, указывая количество гармоник в блоке конфигурации. Соответственно, блок outport в зависимости от режима формирует на выходе либо только огибающую для заданной несущей частоты (режим «Complex Baseband»), либо огибающую, умноженную на косинус этой самой несущей частоты (режим «Real Passband»). Т.е. если мы задаем в блоке outport несущую 1.3ГГц и режим «Complex Baseband», то на выходе увидим огибающую [k1*I(t) + k3*I^3(t)*3/4] => sin(w0*t) + sin(3*w0*t), иными словами 1.3ГГц и 3.9ГГц, что мы и наблюдаем в действительности. Да, результат на первый взгляд маловразумительный, но как уже говорил, надо понимать, что мы задаем на входе и что формируем на выходе. Если w0 сделать не 1.3ГГц, а, к примеру, 100МГц, то получим входной двухтоновый сигнал 1.2ГГц и 1.4ГГц, симметричный относительно несущей. На выходе в этом случае будем иметь компоненты с частотами 100МГц и 300МГц, что соответствует реальному сигналу с частотами 1, 1.2, 1.4 и 1.6ГГц, где частоты 1 и 1.6ГГц – это интермодуляционные искажение 3-его порядка. Остальные интермодуляционные компоненты можно увидеть, задавая кратные несущие частоты. Если несущая в блоке inport задана нулевой, то гармоник нет, SimRF анализирует только нулевую частоту, все 4 огибающие суммируются и соответствуют только нулевой частоте. Изменено 28 апреля, 2020 пользователем Самурай Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 29 апреля, 2020 Опубликовано 29 апреля, 2020 · Жалоба Спасибо, за развернутый ответ. Мануалы скачал, буду подробней разбираться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 29 апреля, 2020 Опубликовано 29 апреля, 2020 (изменено) · Жалоба Была попытка вставить формулу, как это было сделано в старой версии форума. Она провалилась... Изменено 29 апреля, 2020 пользователем Самурай Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться