Моделирование систем цифровой связи
Фильтрация цифровых сигналов
Фильтры нижних частот
Фильтрацией называется изменение амплитуды и/или фазы входных сигналов. Одна из типичных задач для фильтра — удаление нежелательных высокочастотных составляющих в сигнале и усиление полезной низкочастотной составляющей.
Амплитудно-частотная характеристика (АЧХ) фильтра — это зависимость его коэффициента усиления от частоты сигнала. Фильтр усиливает сигнал в одних полосах частот и подавляет в других.
Рассмотрим подробнее фильтр нижних частот (ФНЧ). Он пропускает низкие частоты до определенной частоты среза и подавляет высокие частоты. График АЧХ такого фильтра схематически приведен на рисунке:
У АЧХ фильтра нижних частот можно выделить 3 основные полосы:
-
Полоса пропускания (passband) — диапазон частот, в котором должен находиться полезный сигнал. Граница полосы пропускания — частота . Она отсчитывается по уровню −3 дБ от максимума. Усиление сигнала в этой полосе в идеале должно быть постоянным, но на практике на АЧХ присутствуют пульсации, допустимый уровень которых определяется параметром (дБ).
-
Полоса заграждения (stopband) — диапазон частот, в котором сигнал должен гарантированно ослабляться не менее чем на дБ. Полоса заграждения начинается с частоты .
-
Полоса перехода (transition band) находится между этими полосами. Усиление в этой полосе плавно спадает.
Импульсная характеристика фильтра — это его реакция на единичный дискретный импульс. Единичный дискретный импульс — аналог дельта-функции Дирака для дискретных сигналов, у него есть всего один отсчет, равный 1 в момент времени .
Фильтр с импульсной характеристикой типа «приподнятый косинус»
Этот фильтр широко применяется в системах связи для ограничения спектра сигнала и минимизации межсимвольной интерференции.
Для его описания в частотной области используется следующая функция:
Она характеризуется двумя величинами: — коэффициент сглаживания (), — величина, обратная символьной скорости. Коэффициент сглаживания определяет избыточную полосу пропускания фильтра. Например, коэффициент сглаживания фильтра 0.5 означает, что полоса пропускания фильтра в 1.5 раза превышает входную частоту дискретизации.
При ненулевая часть спектра представляет собой чистый приподнятый косинус:
АЧХ фильтра приподнятый косинус при различных значениях коэффициента сглаживания приведены на рисунке:
Импульсный отклик при различных значениях коэффициента сглаживания приведен на следующем рисунке:
Моделирование фильтра с импульсной характеристикой типа «приподнятый косинус» в Engee
Для моделирования фильтра с импульсной характеристикой типа «приподнятый косинус» в Engee имеются два блока:
- Raised Cosine Transmit Filter (передающий фильтр «приподнятый косинус»);
- Raised Cosine Receive Filter (приемный фильтр «приподнятый косинус»).
Первый из них используется на передающей стороне системы связи, а второй — на приемной стороне.
Они находятся в библиотеке Системы связи -> Фильтры.
Характеристики фильтра на передающей стороне определяются параметрами блока Raised Cosine Transmit Filter:
- Rolloff factor — коэффициент сглаживания;
- Filter span in symbols — диапазон фильтрации в символах;
- Output samples per symbol — число выходных отсчетов на символ;
- Linear amplitude filter gain — линейное усиление амплитуды.
Характеристики фильтра на приемной стороне определяются параметрами блока Raised Cosine Receive Filter:
- Rolloff factor — коэффициент сглаживания;
- Filter span in symbols — диапазон фильтрации в символах;
- Input samples per symbol — число входных отсчетов на символ;
- Decimation factor — коэффициент децимации (понижения частоты дискретизации);
- Decimation offset — смещение децимации;
- Linear amplitude filter gain — линейное усиление амплитуды.
Практическая часть
В этом разделе вы построите модель системы связи, в которой сигнал с модуляцией QAM-16 проходит через передающий фильтр «приподнятый косинус», затем пропускается через гауссовский канал связи, проходит через приемный фильтр «приподнятый косинус» и, наконец, демодулируется. В модели рассчитывается частота битовых ошибок.
✏️Задание 1
Постройте модель передающего тракта:
- Создайте новую модель. Добавьте в нее блок Random Integer Generator. В окне настроек блока задайте значение параметра Set size равным
16. - Добавьте в модель блок Rectangular QAM Modulator Baseband. Оставьте значения параметров блока равными по умолчанию.
- Добавьте в модель блок Raised Cosine Transmit Filter. В окне настроек блока задайте значение параметра Output samples per symbol равным
4. - Последовательно соедините блоки.
Решение
✏️Задание 2
Постройте модель канала связи:
- Добавьте в модель блок AWGN Channel. Оставьте значения параметров блока равными по умолчанию. В частности, отношение сигнал/шум (SNR) оставьте равным
10дБ. - Соедините выход блока Raised Cosine Transmit Filter со входом блока AWGN Channel.
Решение
✏️Задание 3
Постройте модель приемного тракта:
- Добавьте в модель блок Изменение формы. Оставьте значение параметра Форма выходного сигнала равным
Одномерный массив (1D)для того, чтобы на вход демодулятора поступал сигнал правильной формы (вектор-столбец). - Добавьте в модель блок Raised Cosine Receive Filter. В окне настроек блока задайте значения параметров Input samples per symbol и Decimation factor равными
8. - Добавьте в модель блок Rectangular QAM Demodulator Baseband. Оставьте значения параметров блока равными по умолчанию.
- Последовательно соедините добавленные блоки с линией связи.
Решение
✏️Задание 4
Добавьте блоки для расчета частоты битовых ошибок:
- Добавьте в модель два блока Integer to Bit Converter. Соедините вход первого блока Integer to Bit Converter с выходом блока Random Integer Generator (для этого от линии, выходящей из блока Integer to Bit Converter, нужно сделать ответвление), а вход второго блока — с выходом блока QPSK Demodulator Baseband. В окнах настроек обоих блоков задайте значение параметра Number of bits per integer равным
4. - Добавьте в модель блок Error Rate Calculation. Соедините выход первого блока Integer to Bit Converter со входным портом Tx блока Error Rate Calculation, а выход второго блока Integer to Bit Converter — со входным портом Rx блока Error Rate Calculation.
- При использовании фильтра «приподнятый косинус» возникает задержка сигнала, равная половине длины фильтра (диапазона фильтрации) в символах. Если умножить эту величину на число бит на символ, то получим задержку в битах. В нашем случае задержка фильтра равна символов или бит. Так как принятый сигнал проходит через два фильтра, то суммарная задержка составляет бит. В окне настроек блока Error Rate Calculation задайте значение параметра Receive delay (задержка принятого сигнала) равным
40. - Добавьте в модель блок В рабочую область. Задайте параметр Имя переменной равным
BER. Соедините выход блока Error Rate Calculation со входом блока В рабочую область.
Решение
✏️Задание 5
Завершите настройку модели, запустите симуляцию и выведите результаты на графики:
- Залогируйте сигналы на выходах блоков Raised Cosine Transmit Filter и AWGN Channel.
- В окне настроек модели задайте время моделирования равным
20с. - Запустите модель.
- Постройте спектр сигнала, получившегося на выходе блока Raised Cosine Transmit Filter. Для этого в окне графиков выберите значение параметра Выбор типа отображения равным
Сигналы в частотной области. - Рассчитайте частоту битовых ошибок, запустив следующий код:
BER = collect(BER)
ber = BER.value[end][1]
Решение
Спектр модулированного сигнала после прохождения фильтра:
Сигнальное созвездие после прохождения фильтра:
Сигнальное созвездие после прохождения через гауссовский канал связи:
Величина ber равна 0.0, что свидетельствует о правильности построенной модели.