10. Используя процедуру из Приложения 3 как прототип, составьте программу для вычисления и вывода графиков во временной и частотной области фрагмента речевого сигнала (файл «MySpeech.wav» из папки «Лабораторные работы»). Для считывания wav-файла используйте команду с форматом y=wavread(‘filename’), для прослушивания - команду sound(y, Fs), для определения числа отсчетов на один канал в файле – команду N = length(y), для
определения частоты дискретизации Fs при записи звукового файла - команду [y,Fs]=wavread(' MySpeech ', 1).
Графики результатов этой части работы должны содержать вид сигнала во временной области и его амплитудный спектр. В программе используются данные о длине (числе элементов) речевого сигнала и частоте дискретизации. Поскольку графики содержат большое число отсчетов, полезно увеличить и рассмотреть отдельные характерные фрагменты графиков.
В заключение добавьте в программу команды вида figure(2), specgram(y(:,1),[],Fs) и постройте спектрограмму звукового сигнала. Команда specgram() без выходных параметров строит графическое изображение спектрограммы в координатах «время – частота». При этом значения амплитудного спектра отображаются с помощью цвета. Чем больше амплитуда, тем более ярким оранжевым цветом она отображается. Чем меньше амплитуда спектральной составляющей, тем более темноголубой у нее цвет. Проанализируйте полученную спектрограмму и сопоставьте её с данными графиков сигнала и его амплитудного спектра, построенными ранее.
Указание. Вы можете записать собственный wav – файл с помощью средств Windows или командой wavrecord() Matlab и использовать его фрагмент для анализа вместо файла «MySpeech», тем самым изучив особенности спектра собственного голоса.
11. Сделайте необходимые пояснения, комментарии и выводы к отчету. Окончательно оформите отчет по лабораторной работе. В отчете должны быть представлены
§ титульный лист,
§ название и цель работы,
§
формулировки пунктов работы,
команды и .m – файлы,
графики,
комментарии, выводы.
Проверьте освоение материала
по контрольным вопросам и упражнениям.
Защитите лабораторную работу.
ЛИТЕРАТУРА.
1. Голышев Н.В., Щетинин Ю.И. Теория и обработка сигналов.: Уч. Пособие.- Новосибирск. Изд-во НГТУ, 1998 - ч.1, стр. 87 - 100.
2. Сергиенко А.Б. Цифровая обработка сигналов. - СПб.:
Питер, 2003,
стр. 249 – 260.
3. Щетинин Ю.И. Теория и обработка сигналов. Методические указания к решению задач и упражнений . Новосибирск: Изд-во НГТУ, 2007.
4. Сато Ю. Обработка сигналов. Первое знакомство. / Пер. с яп.; под ред. Ёсифуми Амэмия. – М.: Издательский дом «Додэка - ХХI», 2002,
стр 113 – 138.
Web – ресурсы
1. http://tiger.cs.nstu.ru/tos/nperiodic/start.html
2. http://www.mathworks.com/access/helpdesk/help/toolbox/signal/signal.shtml
Контрольные вопросы и упражнения.
1. Запишите и объясните выражение дискретного преобразования Фурье (ДПФ).
Сигнал х[n] конечной длины 0<=n<=N-1,только в N-точках частоты равны
wk=2*pi*k/N,
Ts=1 при наиболее точном приближении.
2. Найдите ДПФ сигнала x[k] = {-1, 0, -1, 0}. Изобразите спектр амплитуд и спектр фаз.
Решение.
Второй способ решения с использованием свойств ДПФ
Исходный сигнал можно представить в виде суммы сигналов x1[n] и x2[n]
ДПФ сигнала x1[n] ,
По свойству временного сдвига ДПФ сигнала x2[n]
По свойству линейности ДПФ , отсюда
3.
Определите ДПФ сигнала
4.
Определите сигнал, спектр (ДПФ)
которого имеет вид
X[n]={1, 1+i, 1,
1-i}.
5. Сигнал x[k] имеет ДПФ X[n]={16, 0, -3, 5, 16, 0, -3, 5}. Какой вид имеет ДПФ сигнала x[k-4]?
6. Известна часть коэффициентов ДПФ X[n] = {1, 1+i, 1+i2, 1-i3, -2, *, *, *} некоторого сигнала. Полагая, что N=8, восстановите недостающие значения ДПФ с помощью свойства симметрии.XN [-k]=XN[N-k]
7. Сформулируйте и докажите свойство свертки ДПФ.
8. Используя теорему Парсеваля для ДПФ, найдите среднюю мощность сигнала . Сопоставьте результаты вычисления во временной и частотной области.
9. Что такое быстрое преобразование Фурье? Кратко объясните сущность алгоритма БПФ с прореживанием по времени.
Берем ряд значений x[n] делим на две равные части,записываем преобразование фурье сигнала,как сумму двух сумм этих частей с числом коэффициентов в 2 раза меньше,чем число отсчетов сигнала.
10. Объясните синтаксис функции fft() вычисления ДПФ.
11. Проведите сравнительный анализ быстродействия обычного и быстрого (БПФ) преобразований Фурье.обычное преобразование требует N^2 умножений и N(N-1) сложений, быстрое преобразование при представлении N=2^m,требует приблизительно N*log2(N) умножений.
12. В среде Matlab определите 128-точечное ДПФ сигнала
Постройте график амплитудного спектра сигнала.
13. В чем заключается содержание задачи спектрального анализа сигнала?
14. Как используется БПФ в спектральном анализе сигналов?
15. Что такое частотное разрешение спектрального анализа? От каких факторов оно зависит? Как можно увеличить частотное разрешение?
Fk=k*Fs/N=k*1/(T*N), дельта(w)=2*pi/N-частотное разрешение в области дискретной частоты wd=w/Fs.
При N-точечном ДПФ частотные компоненты с полосой <дельта(w) не разрешимы,не различимы при анализе с (.)N.Lkz увеличения разрешения следует увеличить число(.)ДПФ.
16. Что такое «утечка» или «растекание» спектра в спектральном анализе?
17. Для чего используется оконная обработка исследуемого процесса в спектральном анализе?
18. Как можно определить спектр речевого сигнала?
Приложение 1. Пример определения времени вычисления ДПФ с помощью функции dftsum()
% Файл – сценарий
t=0:0.001:0.502;
% Формирование случайной последовательности
x=2*randn(size(t));
t1=cputime; % Начало времени вычисления ДПФ
y=dftsum(x); % Вычисление ДПФ
t2=cputime - t1 % Конец времени вычисления
% Построение графиков во временной и частотной области
subplot(211), plot(t,x)
subplot(212), plot(abs(y))
Приложение 2.
% Пример задачи спектрального анализа
Fs=64; % Частота отсчетов
f1=10; % частоты гармоник
f2=25;
N=128; % число отсчетов сигнала
n=0:(N-1);
t=0:1/Fs:(N-1)/Fs; % вектор времени
% генерирование сигнала для анализа
x=cos(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+randn(1,length(t));
subplot(311), plot(t,x), grid % график сигнала
set(gca, 'FontName','Times New Roman Cyr', 'FontSize', 10)
title(‘Сигнал во временной области’)
k=0:(N-1);
f=k*Fs/N; % частотная шкала
X=fft(x); % вычисление ДПФ
subplot(312), plot(f,abs(X)/Fs), grid
set(gca, 'FontName','Times New Roman Cyr', 'FontSize', 10)
title('Амплитудный cпектр, положительные частоты')
% Построение спектра для положительных и отрицательных частот
k1=-N/2:(N/2-1);
f1=k1*Fs/N;
subplot(313), plot(f1,fftshift((abs(X))/Fs)), grid
set(gca, 'FontName','Times New Roman Cyr', 'FontSize', 10)
title('Амплитудный cпектр')
xlabel('Частота, Гц')
Приложение 3.
% Процедура для построения сигнала и его спектра
N=64;
n=-N/2:N/2-1;
Fs=128; % Частота отсчетов
f1=10; % Частота гармоники
n1=n+N/2;
y=cos(2*pi*f1*n1/Fs); % сигнал
Y=fft(y); % Вычисление ДПФ
Yp=fftshift(Y); % Сдвиг ДПФ
f=n*Fs/N; % Частотная шкала
figure(1), subplot(211), plot(n1/Fs,y,'ko-')
grid
set(gca, 'FontName','Times New Roman Cyr', 'FontSize', 10)
xlabel('Время, с')
title(' Сигнал ')
subplot(212), stem(f,abs(Yp)/N)
grid
set(gca, 'FontName','Times New Roman Cyr', 'FontSize', 10)
xlabel('Частота, Гц')
title('Амплитудный спектр сигнала')
Составил доц. Щетинин Ю.И.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.