который сохраняет каждую L-ю выборку, начиная с указанного смещения.
Коэффициент L обозначает коэффициент передискретизации или коэффициент передискретизации, который задается как отношение периода символа ( Tsym ) и
периода дискретизации (Ts ) или, что эквивалентно, отношение частоты дискретизации Fs и скорости символа Fsym как
L |
Tsym |
|
F |
(7) |
T |
F |
|||
|
|
|
s |
|
|
s |
|
sym |
|
Далее приводится реализация импульсной характеристики наиболее широко обсуждаемых функций формирования импульсов (фильтров), а затем приводится пример полной системы согласованных фильтров с формированием импульсов с квадратным корнем и приподнятым косинусом.
Рисунок 2 – Типичная система связи в основной полосе частот (вверху) и
эквивалентная ей реализация DSP (внизу)
Формирование прямоугольного импульса Прямоугольный импульс с резкими переходами - естественный выбор для
устранения ISI. Если информационная последовательность имеет форму прямоугольных импульсов, в моменты выборки символов помехи из-за других символов всегда равны нулю. Проще реализовать аппаратно или программно,
прямоугольный импульс p t длительностью Tsym может быть |
сгенерирован с |
|||||||
помощью следующей функции |
|
|
|
|
|
|
|
|
|
|
|
|
Tsym |
t |
Tsym |
|
|
t |
1 если |
|
|
|
|
|||
|
|
|
|
|||||
p t rect |
|
|
|
2 |
|
2 |
|
(8) |
|
|
|||||||
T |
|
|
|
|
|
|
|
|
|
sym |
|
|
|
|
|
||
|
|
|
0 |
|
|
|
|
|
Приведенный ниже скрипт генерирует прямоугольный импульс и строит график во временной области и частотную характеристику. Как показано на рисунке 3, прямоугольный импульс во временной области проявляется как функция sinc, которая бесконечно простирается по обе стороны частотного спектра
(хотя на рисунке изображена только часть частотной характеристики), и,
следовательно, его спектр не является с ограничением по диапазону. Когда бесконечно расширяющаяся частотная характеристика помещается в канал с ограниченной полосой частот, усечение спектра приводит к выбросам энергии во временной области. Если бы мы использовали острые прямоугольные импульсы,
потребовалась бы огромная полоса пропускания, которая могла бы нарушить практические спецификации дизайна.
Программа 1: rectFunction.m: функция для генерации прямоугольного импульса
function [p,t,filtDelay]=rectFunction(L,Nsym)
%Function for generating rectangular pulse for the given inputs %L - oversampling factor (number of samples per symbol)
%Nsym - filter span in symbol durations
%Returns the output pulse p(t) that spans the discrete-time base %-Nsym:1/L:Nsym. Also returns the filter delay. Tsym=1;t=-(Nsym/2):1/L:(Nsym/2);%unit symbol duration time-base p=(t > -Tsym/2) .* (t <= Tsym/2);%rectangular pulse
%FIR filter delay = (N-1)/2, N=length of the filter filtDelay = (length(p)-1)/2; %FIR filter delay
end
Программа 2: тест rectPulse.m: прямоугольный импульс и его проявление в
частотной области
Tsym=1; %Symbol duration in seconds
L=16; % oversampling rate, each symbol contains L samples
Nsym = 80; %filter span in symbol duration
Fs=L/Tsym;%sampling frequency
[p,t]=rectFunction(L,Nsym); %Rectangular Pulse subplot(1,2,1);
t=Tsym*t; plot(t,p,'LineWidth',1.5); [fftVals,freqVals]=freqDomainView(p,Fs,'double'); %See Chapter 1 subplot(1,2,2); plot(freqVals,abs(fftVals)/abs(fftVals(length(fftVals)/2+1)));
Рисунок 3 – Прямоугольный импульс и его спектр
Формирование синусоидального импульса Как было предложено ранее, форма импульса, которая позволяет избежать
ISI с наименьшей шириной полосы, представляет собой импульс вида sinx/x (или
sinc) с полосой Fsym / 2 . Здесь Fsym — это скорость передачи данных
системы, также называемая символьной скоростью. Формула во временной и частотной областях приведена ниже.
|
sin( t / Tsym ) |
|
Fsym |
f |
|
Fsym |
|
|
|
T , |
|
|
|
|
|||
|
|
|
|
|
||||
p(t) |
|
sym |
2 |
|
|
2 |
|
(9) |
t / Tsym |
|
|
||||||
|
|
otherwise |
|
|
|
|
||
|
|
0, |
|
|
|
|
||
Следующие коды Matlab генерируют синусоидальный импульс с Tsym |
= 1 с и |
|||||||
строят график отклика во временной / частотной области (рисунок 4). Из графика во временной области значение импульса sinc достигает нуля в целые моменты
множественной выборки kTsym , за исключением момента t = 0, когда он
достигает максимального значения. Таким образом, синус-импульс удовлетворяет критерию Найквиста для нулевого ISI.
Программа 3: sincFunction.m: функция генерации синк-импульса
function [p,t,filtDelay]=sincFunction(L,Nsym)
%Function for generating sinc function for the given inputs %L - oversampling factor (number of samples per symbol) %Nsym - filter span in symbol durations
%Returns the output pulse p(t) that spans the discrete-time base %-Nsym:1/L:Nsym. Also returns the filter delay when the function %is viewed as an FIR filter Tsym=1;t=-(Nsym/2):1/L:(Nsym/2);%unit symbol duration time-base p = sin(pi*t/Tsym)./(pi*t/Tsym);
p(ceil(length(p)/2))=1; %catch sinc(0/0) condition %FIR filter delay = (N-1)/2, N=length of the filter filtDelay = (length(p)-1)/2; %FIR filter delay
end
Программа 4: test_sincPulse.m: импульс Sinc и его проявление в частотной
области
Tsym=1; %Symbol duration
L=16; %oversampling rate, each symbol contains L samples
Nsym = 80; %filter span in symbol duration
Fs=L/Tsym; %sampling frequency
[p,t]=sincFunction(L,Nsym); %Sinc Pulse
subplot(1,2,1); t=t*Tsym; plot(t,p); title('Sinc pulse'); [fftVals,freqVals]=freqDomainView(p,Fs,'double'); %See Chapter 1 subplot(1,2,2); plot(freqVals,abs(fftVals)/abs(fftVals(length(fftVals)/2+1)));
Рисунок 7.4 – Сигнал sinc и его спектр
Главный недостаток сигнала sinc состоит в том, что он слишком медленно
затухает со скоростью |
|
1 |
|
при t → ∞. Это означает, что выборки, которые находятся |
||
|
|
t |
|
|
||
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
далеко друг от друга, могут вызвать межсимвольные помехи в случае небольших ошибок синхронизации часов. Сигнал sinc имеет бесконечную длительность, и для практических целей он должен быть усечен до конечной длины kTsym для некоторого целого числа k. Это приводит к проблемам в частотной области, как описано ниже.
Рисунок 5 – Преобразование Фурье усеченного сигнала sinc для различной длины
kTsym
На рисунке 5 показана односторонняя частотная сигнала sinc, усеченного до различной длины. Очевидно, что усечение синусоидального импульса во временной области до ± kTsym приводит к появлению боковых лепестков в частотной области, и боковые лепестки становятся шире при уменьшении значений k. Этот эффект тесно связан с феноменом Гиббса - артекафтами из-за аппроксимации разрывов спектральными методами. В результате, независимо от того, насколько велико значение k, первый боковой лепесток всегда находится всего на ~ 21 дБ ниже главного лепестка. Кроме того, сигнал sinc очень