Каталог статей

Главная » Все схемы » Схемы бытовых устройств » Телевизионная техника

Выбранная схема!!!


7343
Симулятор амплитудной модуляции с Python GUI и Raspberry Pi

Симулятор амплитудной модуляции с Python GUI и Raspberry Pi

efy testАмплитудная модуляция (AM) — это метод модуляции сигнала, который широко используется радиостанциями для передачи своих программ. В этом проекте предлагается симулятор амплитудной модуляции на основе Python GUI для изучения AM.

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

Видео: https://www.youtube.com/watch?v=Vsmgq6yDJS8

Этот GUI разработан на Python 3.10.1 с использованием Jupyter Notebook. Поскольку в проекте используются только два компонента, как показано в ведомости материалов, нет необходимости в какой-либо принципиальной схеме. Просто подключите LCD к

Raspberry Pi

через кабельный разъем HDMI.

Для амплитудной модуляции несущая модулируется в соответствии с мгновенной амплитудой сигнала сообщения (модульного сигнала). Чтобы понять, давайте рассмотрим синусоидальную волну как сигнал сообщения, который необходимо передать. Допустим, амплитуда сигнала сообщения равна Am, а его частота — fm. Математическое представление сигнала сообщения во временной области будет следующим:

m(t) = Am.cos (2πƒmt)........Уравнение 1

Несущим сигналом является высокочастотная радиоволна с амплитудой Ac и частотой fc, которая представлена:

c(t) = Ac.cos (2πƒct) ........Уравнение 2

Уравнение модулированного сигнала:

Индекс модуляции определяет уровень модуляции, который можно определить как:

Установка программного обеспечения

Для проекта требуется программное обеспечение: Python 3.10.1, Tkinter, Matplotlib и NumPy.

Сначала установите дистрибутив Anaconda или среду Python 3 в Raspberry Pi. Затем установите Tkinter, Matplotlib и NumPy.

Далее импортируйте эти библиотеки в код и подготовьте код для симулятора модулятора сигналов.

Jupyter Notebook от Anaconda создает интерактивную веб-среду вычислений Python в любом браузере, выбранном при установке while.

Anaconda Navigator
Рис. 1: Анаконда

Создайте новый блокнот из меню «Файл» Jupyter IDE, выбрав Python 3 в качестве ipykernal. Переименуйте новый ноутбук в Analog Communication Simulator.

Рис. 2. Библиотека Jupyter

Этот проект использует функции из библиотек Tkinter, Matplotlib и NumPy, поэтому импортируйте их библиотеки. Вы можете использовать pip install и conda install для установки библиотек. Например, pip install matplot

Jupyter Notebook GUI
Рис. 3. Блокнот Jupyter GUI

Далее создайте графический интерфейс пользователя (GUI) для симулятора. GUI включает в себя окно с холстом для построения графиков и поля ввода для получения пользовательских данных об амплитуде, частоте сигнала сообщения и сигналах несущей, а также об индексе модуляции. Он включает в себя три кнопки для построения сигнала сообщения, сигнала карьеры и модулированного сигнала, а также для очистки холста (см. рис. 4).

AM Simulator
Рис. 5: Идеальная модуляция

Код

В коде сначала импортируйте различные пакеты Python для бесперебойной работы различных функций, как показано ниже:

из импорта tkinter *
из рисунка импорта matplotlib.figure
из matplotlib.backends.backend_tkagg
импорт (FigureCanvasTkAgg, Navigation
Toolbar2Tk)
из tkinter import ttk
импортировать numpy как np

Чтобы отобразить корневое окно и управлять другими компонентами в этом окне, используйте функцию Tk() для первого отображения корневого окна. Цикл событий этого окна создается функцией mainloop(). Здесь можно указать заголовок корневого окна. В следующем фрагменте кода показана эта процедура:

root = Tk()
root.title('Амплитудная модуляция')
fig1 = Рисунок(figsize=(2, 2), dpi=100)

Интерфейс между рисунком и холстом Tkinter обеспечивается классом FigureCanvasTkAgg. Здесь вы можете создать холст шириной = 1050 и высотой = 650, расположив его по координатам x = 230, y = 50 следующим образом:

canvas = РисунокCanvasTkAgg(fig1,
master=tab1)
canvas.draw_idle()
canvas.get_tk_widget().place(x=230, y=50,
ширина=1050, высота=650)

Далее создайте виджеты для отображения сообщений, карьеры и модулированных сигналов. Для пользовательских значений амплитуды и частоты сигнала используйте виджет ввода из пакета Tkinter. Эти значения сохраняются в переменных для дальнейшего расчета. Все виджеты группируются с помощью функции фрейма.

AM Simulator
Рис. 5: Идеальная модуляция

Два виджета-кнопки используются для отображения сообщения и сигналов несущей. Команды для этих кнопок определяются путем получения входных данных из переменных виджета ввода (амплитуда и частота) и использования функции sin из пакета Python NumPy.

Рис. 6: При модуляции
Рис. 6: Под модуляцией

Математическое уравнение для модулированного сигнала определено в уравнении 3. Оно построено с использованием пакета NumPy. Определяемый пользователем индекс модуляции используется для расчета и построения модулированного сигнала.

Необходимо разработать кнопку для очистки изображения на холсте. Этого можно добиться с помощью функции .clear().

Для проверки запустите код симулятора и укажите значения модуляции сигнала. Проверьте идеальную модуляцию при модуляции и перемодуляции сигналов с помощью моделирования. Случаи тестирования показаны следующим образом.

Рис. 7: Избыточная модуляция
Рис. 7. Чрезмерная модуляция

Когда индекс модуляции поддерживается на уровне 1, как показано на рис. 5, вы получаете идеальную модуляцию. Когда индекс модуляции ниже 1, как показано на рис. 6, это называется недостаточной модуляцией. Когда индекс модуляции больше 1, как на рис. 7, вы получаете перемодуляцию.

Ахтар Надаф — энтузиаст электроники, работающий в компании N.K. Инженерно-технологический колледж Орхидеи, Солапур

Спецификация Компоненты Количество Описание Raspberry Pi 1 Плата Raspberry Pi для подключения LCD LCD 1 Для отображения Адаптер питания 5 В, 2 А 1 Для источника питания

Категория: Телевизионная техника | Добавил: Администратор (18.05.2026)
Просмотров: 36 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026