Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TsOS_Голованов_kursovik.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

1.3. Выводы

1.3.1. Построен исходный аналоговый сигнал в программном пакете MATLAB (рис.1.2).

1.3.2. Построен график зависимости модуля спектральной плотности аналогового сигнала от частоты (рис. 1.3).

1.3.3. Определена максимальная частота в спектре аналогового сигнала fmах = 1,4 кГц путем ограничения спектра на уровне 0,1 от его максимального значения.

1.3.4. Рассчитан и выбран интервал дискретизации TД = 10-4 с и число выборок N = 11 за длительность сигнала Tc = 10-3 с. Такой интервал дискретизации был выбран для удобства написания программы в программном пакете MATLAB.

1.3.5. Построена дискретный сигнал, состоящий из N = 11 отсчетов (рис. 1.4).

1.3.6. Рассчитана зависимость модуля спектральной плотности дискретного сигнала от частоты, которая представляет собой непрерывную периодическую функцию частоты, с периодом равным частоте дискретизации fД = 10000 Гц (рис. 1.5). Так как интервал дискретизации выбран в соответствии с теоремой Котельникова, то наложения спектров отсутствует.

1.3.7. Построена спектрограмма модулей нормированных коэффициентов ДПФ, из которой видно, что модули k-го и (N-k)-го коэффициентов равны между собой (рис. 1.6).

2. Задание 2

2.1. Постановка задачи

Дискретный сигнал, представленный последовательностью из восьми отсчетов имеет интервал дискретизации TД = 10–3 с. Второе задание выполняется согласно номеру в списке (13 –– Требунский), укажем соответствующий заданию дискретный сигнал на рис. 2.1.

Рис. 2.1 –– Исходный дискретный сигнал

Требуется:

1) изобразить сигнальный граф алгоритма БПФ с прореживанием по времени для заданной последовательности;

2) используя сигнальный граф, вручную (не составляя программу) рассчитать комплексные спектральные коэффициенты для заданного дискретного сигнала;

3) изобразить на комплексной плоскости поворачивающие множители для каждой из стадий вычисления спектральных коэффициентов;

4) рассчитать модули и аргументы комплексных спектральных коэффициентов, по рассчитанным значения с использованием функций MATLAB построить графики спектральных характеристик;

5) составить скрипт MATLAB, в котором рассчитать модули и аргументы комплексных спектральных коэффициентов заданного сигнала с помощью функции fft, построить графики модуля и аргумента спектральной плотности, сравнить результаты ручного и программного расчетов;

6) рассчитать выигрыш БПФ в сравнении с алгоритмом ДПФ по числу операций комплексного умножения и сложения.

2.2. Решение задачи

Исходная 8-точечная последовательность имеет вид

x(n) = {0, 0, 1, 1, 0, 0, 1, 1}.

Разбиваем исходную 8-точечную последовательность x(n) на две 4-точечные последовательности x0(n) и x1(n), каждая из которых содержит соответственно четные и нечетные отсчеты последовательности x(n):

x0(n) = {0, 1, 0, 1} и x1(n) = {0, 1, 0, 1}.

На втором этапе прореживание последовательности x0(n) разбивается на две 2-точечные последовательности x00(n) и x01(n), каждая из которых содержит соответственно четные и нечетные последовательности x0(n):

x00(n) = {0, 0} и x01(n) = {1, 1}.

Последовательность x1(n) на две 2-точечные последовательности x10(n) и x11(n), каждая из которых содержит соответственно четные и нечетные отсчеты последовательности x1(n):

x10(n) = {0, 0} и x11(n) = {1, 1}.

Граф алгоритма БПФ с прореживанием по времени для заданной последовательности приведен на рис. 2.2.

Рис. 2.2 –– Граф алгоритма БПФ с прореживанием по времени для заданной последовательности

Определим поворачивающий множитель для каждой стадии по формуле

(2.1)

Используем формулу Эйлера, чтобы перейти к тригонометрическим функциям для дальнейшего расчета

(2.2)

где N — число отчетов в последовательности текущей стадии;

k — номер индексов текущей стадии, причем на первой стадии k = 0 для всех поворачивающих множителей, на второй стадии k = 0 и 1, на третьей стадии k = 0, 1, 2, 3.

Подставив числовые значения в формулу (2.1) получим следующее:

— для первой стадии:

— для второй стадии:

— для третей стадии:

Поворачивающие множители на комплексной плоскости для всех стадий приведем на рис. 2.3.

Рис. 2.3 — Поворачивающие множители на комплексной плоскости для стадии 1 (а), для стадии 2 (б) и для стадии 3 (в)

Определяем спектральные коэффициенты для последовательности :

Определяем спектральные коэффициенты для последовательности :

Определяем спектральные коэффициенты для последовательности :

Определяем спектральные коэффициенты для последовательности :

В соответствии с операцией «бабочка», найдем спектральные коэффициенты на второй стадии:

В соответствии с операцией «бабочка», найдем спектральные коэффициенты на третьей стадии:

Модули и аргументы спектральных коэффициентов определяются по формулам соответственно

(2.3)

(2.4)

Подставляя в формулы (2.3) и (2.4) значения спектральных коэффициентов, получим результаты, которые укажем в таблице 2.1.

k

X(k)

0

4

1

0

2

-2+j2

3

0

4

0

5

0

6

-2-j2

7

0

Напишем листинг программы для определения БПФ, рассчитанного самостоятельно и с помощью функции fft:

clear all;

clc;

X = [4 1-2.414i 0 1-0.414i 0 1+0.414i 0 1+2.414i];

k = [0 1 2 3 4 5 6 7];

N = 8; fs = 10^3; f = k*fs/N;

figure(1)

subplot(2,1,1)

stem(f,abs(X))

title('Модули составляющих коэффициентов БПФ')

xlabel('f, Гц')

ylabel('|X(k)|')

grid on

subplot(2,1,2)

stem(f,angle(X))

title('Аргументы составляющих коэффициентов БПФ')

xlabel('f, Гц')

ylabel('Arg(X(k))')

grid on

x = [1 1 1 1 0 0 0 0];

Y = fft(x);

figure(2)

subplot(2,1,1)

stem(f,abs(Y))

title('Модули составляющих коэффициентов БПФ')

xlabel('f, Гц')

ylabel('|X(k)|')

grid on

subplot(2,1,2)

stem(f,angle(Y))

title('Аргументы составляющих коэффициентов БПФ')

xlabel('f, Гц')

ylabel('Arg(X(k))')

grid on

Графики зависимости модулей и аргументов от частоты, рассчитанные самостоятельно и при помощи функции fft, представлены на рис. 2.4––2.5.

Рис. 2.4 –– Модули и аргументы коэффициентов БПФ, рассчитанных при помощи fft

Рис. 2.5 ––Модули и аргументы коэффициентов БПФ, рассчитанных самостоятельно

Найдем выигрыш БПФ относительно ДПФ по числу операций:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]