Преобразование Фурье в Matlab
Лабораторная
работа № 2
по
дисциплине "Сигналы и процессы в радиотехнике"
Преобразование
Фурье в MATLAB
Целью данной работы является изучение простейших
радиотехнических сигналов, разложение их в ряд Фурье, создание в среде
программирования Matlab соответствующих программ.
Задание №1.
Синус
Листинг программы
clear all% Очистка памяти
% Параметры= 5;% Длина сигнала (с)= 512;%
Частота дискретизации (Гц)= 2;% Амплитуда синусоиды= 0.01;% Частота синусоиды
(Гц)= 0;% Начальная фаза синусоиды= 1024;% Количество линий Фурье спектра=
0:1/Fd:Tm;% Массив отсчетов времени
Signal = A1*sin(F1*360.*T+Phi1);% Массив
сигнала
% Спектральное представление сигнала=
abs(fft(Signal,FftL));% Амплитуды преобразования Фурье сигнала= 2*FftS./FftL;%
Нормировка спектра по амплитуде= 0:Fd/FftL:Fd/2-Fd/FftL;% Массив частот
вычисляемого спектра Фурье
% Построение графиков(1)% Создаем новое окно(T,
Signal);% Построение сигнала('Сигнал');% Подпись графика('Время (с)');% Подпись
оси х графика('Амплитуда');% Подпись оси у графика(2)% Создаем новое окно(F,
FftS(1:length(F)));% Построение спектра Фурье сигнала('Спектр сигнала');%
Подпись графика('Частота (Гц)');% Подпись оси х графика('Амплитуда');% Подпись
оси у графика
Рисунок 1 Исследуемый сигнал
Рисунок 2 Амплитудный спектр исследуемого
сигнала
Задание №2
Сумма синусов
Листинг программы
all;% Очистка памяти
% Параметры= 5;% Длина сигнала (с)= 512;%
Частота дискретизации (Гц)= 2;% Амплитуда первой синусоиды= 3;% Амплитуда
второй синусоиды= 0.1;% Частота первой синусоиды (Гц)= 0.2;% Частота второй
синусоиды (Гц)= 0;% Начальная фаза первой синусоиды= 2;% Начальная фаза второй
синусоиды= 5120;% Количество линий Фурье спектра= 0:1/Fd:Tm;% Массив отсчетов
времени
Signal =
A1*sin(F1*360.*T+Phi1)+A2*sin(F2*360.*T+Phi2);% Массив
сигнала
% Спектральное представление сигнала=
abs(fft(Signal,FftL));% Амплитуды преобразования Фурье сигнала= 2*FftS./FftL;% Нормировка
спектра по амплитуде= 0:Fd/FftL:Fd/2-Fd/FftL;% Массив частот вычисляемого
спектра Фурье
% Построение графиков(1)% Создаем новое окно(T,
Signal);% Построение сигнала('Сигнал');% Подпись графика('Время (с)');% Подпись
оси х графика('Амплитуда');% Подпись оси у графика(2)% Создаем новое окно(F,
FftS(1:length(F)));% Построение спектра Фурье сигнала('Спектр сигнала');%
Подпись графика('Частота (Гц)');% Подпись оси х графика('Амплитуда');% Подпись
оси у графика
Рисунок 3 Исследуемый сигнал
Рисунок 4 Амплитудный спектр исследуемого
сигнала
Задание №3
Синк
Листинг программы
all% Очистка памяти
% Параметры= 5;% Длина сигнала (с)= 512;%
Частота дискретизации (Гц)= 2;% Амплитуда= 0.01;% Частота (Гц)= 0;% Начальная
фаза= 512000;% Количество линий Фурье спектра= -Tm:1/Fd:Tm;% Массив отсчетов
времени
Signal = A1*sinc(F1*360.*T+Phi1);% Массив
сигнала
% Спектральное представление сигнала=
abs(fft(Signal,FftL));% Амплитуды преобразования Фурье сигнала=
0:Fd/FftL:Fd/2-Fd/FftL;% Массив частот вычисляемого спектра Фурье
% Построение графиков(1)% Создаем новое окно(T,
Signal);% Построение сигнала('Сигнал');% Подпись графика('Время (с)');% Подпись
оси х графика('Амплитуда');% Подпись оси у графика(2)% Создаем новое окно(F,
FftS(1:length(F)));% Построение спектра Фурье сигнала([0,5,0,1000]);% Граници
спектра('Спектр сигнала');% Подпись графика('Частота (Гц)');% Подпись оси х
графика('Амплитуда');% Подпись оси у графика
Рисунок 5
Исследуемый сигнал
Рисунок 6 Амплитудный спектр исследуемого
сигнала
сигнал амплитуда спектр
Вывод
Я исследовал сигналы в программе MATLAB.
Спектр синуса имеет один пик в амплитудном спектре, сумма синусов - два пика,
синк имеет спектр в виде прямоугольного импульса. У периодических сигналов
спектр - линейчатый, а у не периодического - сплошной. При увеличении периода
сигнала - ширина ∆w
между спектральными линиями увеличивается, и наоборот при уменьшении периода -
ширина ∆w - уменьшается. Для
получения не периодического сигнала необходимо период устремить к
бесконечности, в этом случае копия сигнала будет отсутствовать. Если разложить
сигнал в ряд Фурье (тригонометрический), то мы получим АЧХ и ФЧХ представления
сигналов.