Материал: OPISIS_LAB6

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

чувствителен к временным колебаниям в приемнике. Эти проблемы можно решить,

если сделать полосу перехода в частотной области менее резкой.

Формирование сигналов типа « приподнятый косинус»

Как упоминалось ранее, недостатки сигнала sinc можно устранить, сделав полосу перехода в частотной области менее резкой. Сигнал типа « приподнятый косинус» имеет регулируемый параметр спада переходной полосы α, с помощью которого можно управлять скоростью затухания переходной полосы. Функция формирования RC-импульсов выражается в частотной области как

Tsym ,

T P( f ) sym

2

0,

 

Fsym

f

Fsym

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

Tsym

 

 

 

 

 

 

 

1

cos

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tsym

,

f1

2Tsym

1

 

 

1

 

 

 

f

 

(10)

 

 

2Tsym

 

 

 

2Tsym

 

 

 

 

f1

2Tsym

Соответственно, во временной области импульсная характеристика

определяется выражением

p(t)

sin( t / Tsym ) cos( t / Tsym )

where 0

1

(11)

 

 

 

 

 

 

t / T

1 (2 t / T

 

)2

 

 

 

 

 

 

sym

 

 

sym

 

 

 

 

Простое вычисление уравнения

11

дает сингулярности

(неопределенные

точки) в точках p (t = 0) и p (t = ± Tsym ). Значение приподнятого косинусного

2

импульса в этих сингулярностях можно получить, применив правило Л’Опиталя, и

значения равны

p t 0 1

 

Tsym

 

 

 

 

 

p t

 

 

 

 

sin

 

 

 

 

 

 

2

 

2

 

2

(12)

(13)

Следующие коды Matlab генерируют импульс с приподнятым косинусом для заданной длительности символа Tsym 1 с и строят представление во временной области и частотную характеристику (показано на рисунке 7.6). Импульс RC

спадает со скоростью 1/ t 3 при t , что является значительным улучшением по сравнению со скоростью затухания синусоидального импульса, равной 1/ t .

Он удовлетворяет критерию Найквиста для нулевого ISI - импульс достигает нулевых переходов в желаемые моменты выборки. Регулируя α, спад полосы перехода в частотной области может быть постепенным.

Программа 5: raiseCosineFunction.m: функция для генерации импульса с приподнятым косинусом

function [p,t,filtDelay]=raisedCosineFunction(alpha,L,Nsym) %Function for generating raised-cosine (RC) pulse

%alpha - roll-off factor,L - oversampling factor,

%Nsym - filter span in symbols

%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 A = sin(pi*t/Tsym)./(pi*t/Tsym); B=cos(pi*alpha*t/Tsym);

p = A.*B./(1-(2*alpha*t/Tsym).^2);

p(ceil(length(p)/2))=1;%p(0)=1 & p(0) occurs exactly at the center temp=(alpha/2)*sin(pi/(2*alpha)); %p(t=+-1/(2a))=(a/2)sin(pi/(2a)) p(t==Tsym/(2*alpha))=temp; p(t==-Tsym/(2*alpha))=temp;

%FIR filter delay = (N-1)/2, N=length of the filter filtDelay = (length(p)-1)/2; %FIR filter delay

end

Программа 6: test_RCPulse.m: косинусоидальные импульсы и их проявление

в частотной области

Tsym=1; %Symbol duration in seconds

L=10; % oversampling rate, each symbol contains L samples Nsym = 80; %filter span in symbol durations

alphas=[0 0.3 0.5 1];%RC roll-off factors - valid range 0 to 1 Fs=L/Tsym;%sampling frequency

lineColors=['b','r','g','k','c']; i=1;legendString=cell(1,4); for alpha=alphas %loop for various alpha values [rcPulse,t]=raisedCosineFunction(alpha,L,Nsym); %RC Pulse

subplot(1,2,1); t=Tsym*t; %translate time base for given duration plot(t,rcPulse,lineColors(i));hold on; %plot time domain view

[vals,f]=freqDomainView(rcPulse,Fs,'double');%See Chapter 1 subplot(1,2,2); plot(f,abs(vals)/abs(vals(length(vals)/2+1)),lineColors(i));

hold on;legendString{i}=strcat('\alpha =',num2str(alpha) );i=i+1; end

subplot(1,2,1);title('Raised Cosine pulse'); legend(legendString);

subplot(1,2,2);title('Frequency response');legend(legendString);

Рисунок 7.6 – Косинусоидальный импульс и его спектр

Формирование импульса квадратного корня с приподнятым косинусом

В передатчике обычно используется фильтр-формирователь импульса с приподнятым косинусом. Пусть Xrc ( f ) будет частотной характеристикой фильтра с приподнятым косинусом. Предположим, что амплитудная характеристика канала

плоская, т.е. Hc f 1,

а шум канала белый. Тогда комбинированный отклик

фильтра передачи P f

и фильтра приемника G f

в частотной области задается

как

 

 

 

Xrc ( f ) P f G f

(14)

Если фильтр приема совпадает с фильтром передачи, мы имеем

Xrc ( f ) P f G f

 

P f

 

2

(15)

 

 

Таким образом, передающий и приемный фильтры принимают вид

P f G f Xrc ( f ) e

j 2 fT0

(16)

 

где G f P f , где T0 - номинальная задержка, необходимая для обеспечения

практической реализуемости фильтров. Во временной области согласованный фильтр в приемнике является зеркальной копией импульсной характеристики фильтра формирования импульса передачи и задерживается на некоторое время T0.

Таким образом, задача фильтрации с помощью приподнятого косинуса поровну разделяется между фильтрами передачи и приема. Это приводит к использованию фильтров квадратного корня с приподнятым косинусом (SRRC) в передатчике и приемнике, эквивалентная импульсная характеристика которых описывается следующим образом.

p(t) 1

Tsym

 

t 1

 

 

 

4 t

 

 

t 1

 

 

sin

 

 

cos

 

 

 

 

 

 

 

 

 

 

Tsym

 

 

 

Tsym

 

 

 

Tsym

 

 

 

 

 

 

 

 

 

 

(17)

 

 

t

 

 

 

4 t 2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

sym

 

 

 

 

sym

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коэффициент сглаживания для SRRC обозначается как β, чтобы отличать его от коэффициента RC-фильтра. Простое вычисление уравнения 17 дает

T

сингулярности (неопределенные точки) в точках p (t = 0) и p p(t 4sym ) . Величину

приподнятого косинусоидального импульса в этих сингулярностях можно получить, применив правило Л’Остипиталя, и эти значения равны

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

p(t 0)

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

(18)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tsym

 

 

 

 

 

 

 

 

 

 

 

 

Tsym

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2

 

 

 

 

 

p(t

 

)

 

 

 

1

 

 

sin

 

 

 

1

 

 

cos

 

 

(19)

4

 

 

 

 

 

 

 

 

2T

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

4

 

 

 

 

 

sym

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее приводится функция для генерации формы импульса SRRC. За ним следует тестовый код, который строит комбинированный импульсный отклик

комбинации фильтров SRRC передачи и приема, а также строит представление в частотной области одиночного импульса SRRC, как показано на рисунке 7.

Комбинированный импульсный отклик имеет значение, поскольку мы можем определить, что комбинированный отклик достигает нуля в моменты выборки символов. Это указывает на то, что работа по отмене ISI разделена между фильтрами передатчика и приемника. Обратите внимание, что комбинированная импульсная характеристика двух фильтров SRRC такая же, как импульсная характеристика RC-фильтра.

Программа 7: srrcFunction.m: функция для генерации квадратного корня импульса с приподнятым косинусом

function [p,t,filtDelay]=srrcFunction(beta,L,Nsym)

%Function for generating square-root raised-cosine (SRRC) pulse

%beta - roll-off factor of SRRC pulse,

%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

num = sin(pi*t*(1-beta)/Tsym)+...

((4*beta*t/Tsym).*cos(pi*t*(1+beta)/Tsym)); den = pi*t.*(1-(4*beta*t/Tsym).^2)/Tsym;

p = 1/sqrt(Tsym)*num./den; %srrc pulse definition

%handle catch corner cases (singularities) p(ceil(length(p)/2))=1/sqrt(Tsym)*((1-beta)+4*beta/pi); temp=(beta/sqrt(2*Tsym))*( (1+2/pi)*sin(pi/(4*beta)) ...

19 + (1-2/pi)*cos(pi/(4*beta))); p(t==Tsym/(4*beta))=temp; p(t==-Tsym/(4*beta))=temp; %FIR filter delay = (N-1)/2, N=length of the filter filtDelay = (length(p)-1)/2; %FIR filter delay

end

Программа 8: test_SRRCPulse.m: Характеристики импульса с квадратным

корнем из приподнятого косинуса

Tsym=1; %Symbol duration in seconds

L=10; % oversampling rate, each symbol contains L samples Nsym = 80; %filter span in symbol durations

betas=[0 0.22 0.5 1];%root raised-cosine roll-off factors Fs=L/Tsym;%sampling frequency lineColors=['b','r','g','k','c']; i=1;legendString=cell(1,4); for beta=betas %loop for various alpha values

[srrcPulseAtTx,t]=srrcFunction(beta,L,Nsym); %SRRC Filter at Tx srrcPulseAtRx = srrcPulseAtTx;%Using the same filter at Rx

%Combined response matters as it hits 0 at desired sampling instants combinedResponse = conv(srrcPulseAtTx,srrcPulseAtRx,'same');

subplot(1,2,1); t=Tsym*t; %translate time base & normalize reponse

Источник: https://studfile.net/preview/16500185/