Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Работы / laba 2

.docx
Скачиваний:
9
Добавлен:
05.08.2022
Размер:
1.37 Mб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ ИМПЕРАТОРА АЛЕКСАНДРА 1»

КАФЕДРА «Методы и приборы неразрушающего контроля»

Дисциплина «Обнаружение и фильтрация сигналов»

Отчёт

По лабораторной работе № 2

«Исследование спектрального состава акустического сигнала»

ВАРИАНТ 5

Выполнил студент: Сабитов И.А.

Факультет: АИТ

Проверил: Кособоков Д.В.

Санкт-Петербург 2020

  1. Цель работы:

- изучить метод визуализации акустических сигналов путем представления их на плоскости амплитуда-время, амплитуда-частота, время-частота;

- освоить синтаксис команд математического пакета Matlab, используемых при вводе-выводе акустических сигналов и при построении спектрограмм.

  1. Ход выполнения работы:

Строим графики исходного, зондирующего и эхо-сигнала в двух плоскостях: амплитуда-частота и амплитуда-время. (Рис.1)

(а)

(б)

(в)

Рис. 1 – Графики зондирующего (а), эхо-сигнала(б) и исходного (в) сигнала.

Далее получаем два графика спектрограммы сигнала. (Рис.2)

(а)

(б)

Рис. 2 – Спектрограммы сигнала без шумов (а) и зашумленного (б).

Расчетные данные основных параметров спектрограммы, выполненных с помощью Matlab:

Длительность анализируемого сигнала T = 2.5600

Диапазон анализируемых частот = 0 50

Разрешающая способность по частоте df = 0.3906

Разрешение по времени dt = 1.2800

  1. Коды программ

- построение графика исходного сигнала;

fx = load('Echo5.txt');

subplot(1, 2, 1), plot(fx), grid;

title('Амплитуда-время', 'fontname', 'arial');

n=512;

fs=100;

fy = fft(fx, n);

Sxx = abs(fy);

f = (1:n/2) * fs / n;

subplot(1, 2, 2), plot(f, Sxx(1:n/2)), grid;

title('Амплитуда-частота', 'fontname', 'arial');

- построение графика зондирующего импульса;

fx = load('Zond.txt');

subplot(1, 2, 1), plot(fx), grid;

title('Амплитуда-время', 'fontname', 'arial');

n=512;

fs=100;

fy = fft(fx, n);

Sxx = abs(fy);

f = (1:n/2) * fs / n;

subplot(1, 2, 2), plot(f, Sxx(1:n/2)), grid;

title('Амплитуда-частота', 'fontname', 'arial');

- построение графика эхо-сигнала;

fx = load('O15_5.txt');

subplot(1, 2, 1), plot(fx), grid;

title('Амплитуда-время', 'fontname', 'arial');

n=256;

fs=20;

fy = fft(fx, n);

Sxx = abs(fy);

f = (1:n/2) * fs / n;

subplot(1, 2, 2), plot(f, Sxx(1:n/2)), grid;

title('Амплитуда-частота', 'fontname', 'arial');

- построение спектрограммы чистого сигнала;

fx = load('Echo5.txt');

subplot(2, 1, 1), plot(fx), grid;

title('Амплитуда-время', 'fontname', 'arial');

fs=100;

n1=256;

win = hamming(n1, 'symmetric');

nover=length(win)/2;

subplot (2, 1, 2), specgram(fx, n1, fs, win, nover);

title('Спектрограмма', 'fontname', 'arial');

- построение спектрограммы зашумленного сигнала и расчет параметров спектрограммы.

fx = load('Sgn+noise5.txt');

subplot(2, 1, 1), plot(fx), grid;

title('Амплитуда-время', 'fontname', 'arial');

fs=100;

n1=256;

win = hamming(n1, 'symmetric');;

nover=length(win)/2;

subplot (2, 1, 2), specgram(fx, n1, fs, win, nover);

title('Спектрограмма', 'fontname', 'arial');

T=n1/fs

[0, fs/2]

df=fs/n1

dt=n1/(2*fs)

Выводы

В ходе лабораторной работы ознакомились с методом визуализации сигналов путем представления их на плоскости амплитуда-время, амплитуда-частота и время-частота. Получили спектрограммы сигналов с шумами и без них. На первых сигнал теряется, что говорит о вреде шумов.

2.1 В самом простом случае для сохранения и последующей загрузки каких-либо данных в MatLab предусмотрена функция load. Формат вызова команды:

load <имя_файла> <имена переменных> % загрузка данных

Основное средство для построения графиков в MATLAB – это команда plot и различные ее модификации. Она может вызываться с одним или несколькими входными аргументами.

Стандартный вариант ее вызова – это plot(x,y), где x и y – два массива чисел, содержащие абсциссы и ординаты точек графика функции y= f(x).

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

Команды subplot(mnp) или subplot(m, n, p), где mnp - 3 цифры, производит разбивку графического окна на несколько подокон, создавая при этом новые объекты axes; значение m указывает, на сколько частей разбивается окно по горизонтали, n - по вертикали, а p - номер подокна, куда будет выводиться очередной график. Эти же команды могут использоваться для перехода от одного подокна к другому.

Функция fft() переводит сигнал в частотную область по алгоритму Быстрого Преобразования Фурье (Fast Fourier Transform) - строит спектр периодического сигнала.

2.2

Соседние файлы в папке Работы