Скачиваний:
82
Добавлен:
01.05.2014
Размер:
888.32 Кб
Скачать

Сигнал из суммы синусоид (разной частоты)

Зададим теперь сигнал как сумму синусоид разной частоты: . Изобразим этот сигнал на графике (Рис. 7 сверху), а также выполним для него преобразование Фурье (Рис. 7 снизу).

Рис. 7. Сигнал из суммы синусоид разной частоты (сверху)

и спектр этого сигнала (снизу).

На спектре (Рис. 7 снизу) очень четко видны «столбики», которые в точности соответствуют частотам, при которых задавались синусоиды для нашего сигнала.

Амплитудная модуляция

Зададим теперь сигнал как произведение синусоид разной частоты: . Изобразим этот сигнал на графике (Рис. 8 сверху), а также выполним для него преобразование Фурье (Рис. 8 снизу).

Рис. 8. Сигнал из произведения синусоид разной частоты (сверху)

и спектр этого сигнала (снизу).

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

Частотная модуляция

Для демонстрации частотной модуляции воспользуемся функцией MATLAB, которая способна генерировать сигналы с линейно нарастающими частотами. Изобразим такой сигнал, а также его спектр после преобразования Фурье на Рис. 9.

Рис. 9. Сигнал с линейно нарастающей частотой (сверху)

и спектр этого сигнала (снизу).

Вообще говоря, спектр от всего сигнала оказался не очень-то информативным и наглядным. Более приятную картинку можно получить путем построения спектрограммы. Для ее нахождения сигнал разбивается на сегменты и для каждого в отдельности сегмента вычисляется преобразование Фурье. Набор таких спектров и образует спектрограмму. Постоим ее для нашего сигнала (Рис. 10).

Рис. 10. Спектрограмма для линейно-нарастающего сигнала.

Действительно, картинка стала нагляднее. Белая полоса на Рис. 10говорит нам о линейно нарастающей (начиная с нуля) во времени частоте нашего сигнала.

Фазовая модуляция

Покажем фазовую модуляцию. Пусть передаваемым сигналом будет сигнал , а «кодированным» сигналом будет сигнал, гдеx- переменная изменения фазы «кодированного» сигнала. Изобразим такой сигнал, а также его спектр после преобразования Фурье наРис. 11.

Рис. 11. Сигнал для примера фазовой модуляции (сверху)

и спектр этого сигнала (снизу).

В данном случае спектр (Рис. 11 снизу) сигнала выглядит куда лучше, чем аналогичный график в случае частотной модуляции (Рис. 9 снизу). Для полноты картины можно еще построить спектрограмму этого сигнала (Рис. 12) и убедиться, что с течением времени частота этого сигнала не меняется и составляет 100 Гц (это же значение по оси частот принимает самый высокий «столбик» спектра наРис. 11 снизу).

Рис. 12. Спектрограмма для примера фазовой модуляции.

Приложение: исходный код matlab

% Для чистоты наших экспериментов обнулим рабочую область и окно кода.

clear all; clc;

%--------------------------------------------------------------------

% Исследуем спектр меандра.

%--------------------------------------------------------------------

t1 = 0:2*pi/99:2*pi;

Meander1 = square(t1, 50); % Меандр с одним периодом.

t2 = 0:10*pi/99:10*pi;

Meander2 = square(t2, 50); % Меандр с пятью периодами.

% Изобразим полученные сигналы.

figure;

subplot(2,1,1);

bar(Meander1, 'k');

subplot(2,1,2);

bar(Meander2, 'k');

% Выполним преобразование Фурье для обоих меандров.

Fourier_Transformation1 = fft(Meander1);

Fourier_Transformation2 = fft(Meander2);

% Представим результат на графиках спектров для сравнения.

figure;

subplot(2,1,1);

bar(abs(Fourier_Transformation1), 'k');

subplot(2,1,2);

bar(abs(Fourier_Transformation2), 'k');

clear Fourier_Transformation1 Fourier_Transformation2 t1 t2;

%--------------------------------------------------------------------

% Исследуем спектр треугольного импульса.

%--------------------------------------------------------------------

t1 = 0:2*pi/99:2*pi;

DeltaPulse1 = sawtooth(t1, 1);

DeltaPulse2 = sawtooth(t1, 0.5);

% Изобразим полученные сигналы.

figure;

subplot(2,1,1);

plot(DeltaPulse1, 'k');

subplot(2,1,2);

plot(DeltaPulse2, 'k');

% Выполним преобразование Фурье для обоих треугольных импульсов.

Fourier_Transformation1 = fft(DeltaPulse1);

Fourier_Transformation2 = fft(DeltaPulse2);

% Представим результат на графиках спектров для сравнения.

figure;

subplot(2,1,1);

bar(abs(Fourier_Transformation1), 'k');

subplot(2,1,2);

bar(abs(Fourier_Transformation2), 'k');

% Возьмем несколько периодов сигнала.

t2 = 0:10*pi/99:10*pi;

DeltaPulse3 = sawtooth(t2, 1);

figure;

subplot(2,1,1);

plot(DeltaPulse3, 'k');

% Выполним преобразование Фурье для обоих импульсов.

Fourier_Transformation1 = fft(DeltaPulse3);

subplot(2,1,2);

bar(abs(Fourier_Transformation1), 'k');

% Тот же сигнал, но уже со сдвигом.

DeltaPulse4 = sawtooth(t2, 0.5);

figure;

subplot(2,1,1);

plot(DeltaPulse4, 'k');

subplot(2,1,2);

% Выполним преобразование Фурье для обоих импульсов.

Fourier_Transformation1 = fft(DeltaPulse4);

subplot(2,1,2);

bar(abs(Fourier_Transformation1), 'k');

%--------------------------------------------------------------------

% Сигнал из суммы синусоид разной частоты.

%--------------------------------------------------------------------

t = 0:2*pi/99:2*pi;

Signal = 3*sin(t) + 5*sin(10*t);

figure;

subplot(2,1,1);

plot(Signal, 'k');

subplot(2,1,2);

% Спектр сигнала из суммы синусоид.

bar(abs(fft(Signal)), 'k');

%--------------------------------------------------------------------

% Амплитудная модуляция.

%--------------------------------------------------------------------

Amplitude_Modulation = sin(t) .* sin(10*t);

figure;

subplot(2,1,1);

plot(Amplitude_Modulation, 'k');

subplot(2,1,2);

% Спектр сигнала из произведения синусоид

bar(abs(fft(Amplitude_Modulation)), 'k');

%--------------------------------------------------------------------

% Частотная модуляция.

%--------------------------------------------------------------------

t = 0:0.01:1; %сигнал линейно нарастающей частоты

Frequency_Modulation = chirp(t, 0, 1, 10);

figure;

subplot(2,1,1);

plot(Frequency_Modulation, 'k');

subplot(2,1,2);

% Спектр сигнала из произведения синусоид

bar(abs(fft(Frequency_Modulation)), 'k');

% Построим спектрограмму линейно-нарастающего сигнала.

t = 0:0.1:100;

Frequency_Modulation = chirp(t, 0, 100, 1);

specgram(Frequency_Modulation,128,1E3,128,120);

colormap gray;

%--------------------------------------------------------------------

% Фазовая модуляция.

%--------------------------------------------------------------------

t = 0:2*pi/999:2*pi;

Signal = sin(t); % Передаваемый сигнал.

PM = sin(100*t + pi*x); % "Кодированный сигнал".

figure;

subplot(2,1,1);

plot(PM, 'k');

subplot(2,1,2);

% Спектр сигнала из произведения синусоид

bar(abs(fft(PM)), 'k');

% Построим спектрограмму.

figure;

specgram(PM,128,1E3,128,120);

colormap gray;

Соседние файлы в папке Лабораторная работа 22
  • #
    01.05.2014888.32 Кб82MOTS_Lab#2.doc
  • #
    01.05.20144.85 Кб35Чистовой вариант кода.m