Выбор модуляции и расчет модулированной частоты
Амплитудная модуляция является наиболее простым и очень распространенным в радиотехнике способом заложения информации в высокочастотное колебание. При амплитудной модуляции огибающая амплитуд несущего колебания изменяется по закону, совпадающему с законом изменения передаваемого сообщения, частота же и начальная фаза колебания поддерживаются неизменными.[2]. Выберем АМ с несущей частотой колебания равной 10кГц.
Простейшая АМ выглядит следующим образом, рисунок 18.
Рисунок 18 -Амплитудная модуляция
Мгновенное значение модулированного колебания можно записать в форме, формула (9).
Где - коэффициент модуляции, - постоянная составляющая относительно, которой изменяется модуляционный НЧ сигнал.
Тем самым коэффициент модуляции показывает, насколько сильно значение амплитуды несущего колебания в данный момент отклоняется от среднего значения.
В нашем случае эту постоянную составляющую придется значительно поднять, так как у трапеции самая большая амплитуда равная 9 и она находится в отрицательной области.
Функция в MATLAB, которая выполняет АМ модуляцию выглядит следующим образом:
Fc=10000; % Несущая частота
z1=ammod(x,Fc,dF,0,13);
Изобразим наш получившийся модулированный сигнал, рисунок 19.
Рисунок 19 – Модулированный сигнал
В данном случае коэффициент модуляции .
Функция получения спектра модулированного сигнала:
NFFT=2^nextpow2(length(z1));
y5=fft(z1,NFFT)/length(z1);
f=dF/2*linspace(0,1,NFFT/2+1);
y5=y5/max(y5);
Изобразим полученный спектр модулированного сигнала, рисунок 20.
Рисунок 20 – Спектр модулированного сигнала (правая часть)
Так как у нас АМ, а не БАМ, то слева от нуля находится такой же спектр, это будет видно в следующем пункте.
ПРЕОБРАЗОВАНИЕ МОДУЛИРОВАННОГО СИГНАЛА В ДОПОЛНИТЕЛЬНЫЙ ДИАПАЗОН. ПРОЦЕДУРА ПОЛУЧЕНИЯ ДИСКРЕТНО-АНАЛИТИЧЕСКОГО СИГНАЛА (ПРЕОБРАЗОВАТЕЛЬ ГИЛЬБЕРТА)
Цифровым преобразователем Гильберта (ЦПГ) называют линейную дискретную систему, формирующую на выходе пару дискретных сигналов, сопряженных по Гильберту (фазы сигналов отличаются на ) в заданной рабочей полосе.[3]
В нашем случае рабочая полоса была выбрана по НЧ огибающей модулированного колебания, рисунок 21.
Рисунок 21 – НЧ огибающая сигнала
Данный график был получен следующим образом:
figure;
A_m=abs(complex(x));
plot(t,A_m,'r-');grid on;
ylim([-0.5 9.5]);
title('НЧ огибающая');
xlabel('ms');
ylabel('B');
Определим полосу частот, формула (10).
где - длительность всего импульса.
ЦПГ может быть реализован на базе КИХ-фильтров 3-го и 4-го типов, ЛФЧХ которых обеспечивает сдвиг фазы на . Предпочтение отдается КИХ-фильтру 3-го типа, так как он позволяет получить импульсную характеристику (ИХ) , каждый второй отчет который равен нулю, тем самым сокращается число арифметических операций при вычислении реакции ЦПГ, что весьма важно при его реализации, например, на цифровом процессоре обработки сигналов (ЦПОС).[3]
На базе КИХ-фильтра 3-го типа можно синтезировать только полосовой фильтр (ПФ), при этом специфика требований к АЧХ ЦПГ, по сравнению с требованиями к АЧХ ПФ, будет следующей [3]:
1) АЧХ ЦПГ должна быть симметричной относительно середины основной полосы частот для получения ИХ , каждый второй отсчет которой равен нулю. Поэтому требования к АЧХ ЦПГ задаются симметрично относительно .
2) Рабочая полоса ЦПГ не должна превосходить полосу пропускания ПФ.
3) Максимально допустимое отклонение в рабочей полосе не должно быть меньше максимального допустимого отклонения в ПП.
4) Максимально допустимое отклонение в ПЗ нет необходимости задавать слишком жестко, так как эффективность ЦПГ оценивается в рабочей области.
По требованиям к АЧХ будем синтезировать ЦПГ (ПФ) минимального порядка с помощью функции firgr на базе КИХ-фильтра 3-го типа (‘hilbert’) с параметром m, равным ‘mineven’:
Fs1=220;
fk1=10;ft1=20;ft2=92;fk2=102; f=[fk1 ft1 ft2 fk2];
m=[0 1 0];
d2=0.1;d1=0.05;ripple=[d2 d1 d2];
[R,f0,m0,weight]=firpmord(f,m,ripple,Fs1);
[b,err,opt]=firgr({'mineven',R},f0,m0,ripple,'hilbert');
R=opt.order;
figure;
plot_fir(R,b,Fs1);
Наш параметр R, который задает порядок фильтра в итоге равен 24. Частоты были выбраны следующим образом:
Fs1=220; - частота дискретизации
fk1=10; - граничная частота ПЗ1
ft1=20; - граничная частота ПП1
ft2=92; - граничная частота ПП2
fk2=102 – граничная частота ПЗ2
Для вывода графиков была использована следующая функция:
function plot_fir(R,b,Fs1)
% Построение графиков характеристик КИХ-фильтра
% R-порядок КИХ-фильтра
% b-вектор коэффициентов передаточной функции
% a=[1]-коэффициент знаменателя передаточной функции
% Fs1-частота дискретизации
a=[1];n=0:R;
subplot(3,1,1),stem(n,b,'fill','MarkerSize',3),xlabel('n'),...
title('Impulse Response'),grid on;
fm=0:((Fs1/2)/200):Fs1/2;
H=freqz(b,a,fm,Fs1);MAG=abs(H);PHASE=angle(H);
subplot(3,1,2),plot(fm,MAG),xlabel('f(Hz)'),title('MAGNITUDE'),grid on;
subplot(3,1,3),plot(fm,PHASE),xlabel('f(Hz)'),title('PHASE'),grid on;
end
В итоге получилась следующая ИХ, АЧХ и ФЧХ, рисунок 22.
Рисунок 22 – Характеристики ПГ
Далее для того чтобы пропустить наш модулированный сигнал через ПГ, нужно сместить спектр модулированного сигнала в область больших частот.
Данная процедура была реализована путем домножения модулированного сигнала на , где 38 МГц – частота на которую происходило смещение.
Это было получено следующим образом в программном пакете MATLAB:
x1=z1.*cos(2*pi*38000000*t);
Получение спектра:
NFFT=2^nextpow2(length(x1));
y=fft(x1,NFFT)/length(x1);
f=dF/2*linspace(0,1,NFFT/2+1);
y=y/max(y);
figure;
subplot(2,1,1);
plot(f,2*abs(y(1:NFFT/2+1)));
xlim ([0 40000000]);
grid on;
title('АЧХ сдвинутая');
ylabel('y(f)');
xlabel('f');
subplot(2,1,2);
plot(f,2*abs(y(1:NFFT/2+1)));
xlim ([37989000 38011000]);
grid on;
title('АЧХ сдвинутая (увеличенный масштаб)');
ylabel('y(f)');
xlabel('f');
figure;
plot(t,x1);
grid on;
title('Сигнал сдвинутый');
ylabel('x(t)');
xlabel('t');
Изобразим выданный спектр, рисунок 23.
Рисунок 23 – Спектр модулированного сигнала после сдвига
Как видно из рисунка 23 спектр симметричен относительно 3.8 МГц, значит это действительно спектр АМ.
Далее нужно пустить наш сигнал на ПГ, где на выходе мы должны наблюдать два сигнала, отличающихся между собою по фазе на четверть периода, те мы получим ортогональное дополнение сигнала, который аналитически выглядит следующим образом, формула (11).
Функция в MATLAB, реализующая данную операцию является функция pg.
pg=hilbert(x1);
где x1 – модулированный сигнал, смещенный по частоте.
Выведем графики, показывающие .
plot(t,real(pg),'k'),grid on
hold on
plot(t,imag(pg),'--')
hold off
legend('Real Part','Imaginary Part')
Изобразим результат на рисунке 24.
Рисунок 24 – Результат прохождения сигнала через ПГ в увеличенном масштабе