С Новым годом! Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/104: Рейтинг темы: голосов - 104, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93
1

Фазовый спектр

30.05.2013, 11:03. Показов 20655. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно отобразить фазовый спектр сигнала. Проблема в нормировке. Вот нашел статью, здесь описание нормировки амплитудного спектра, но нет подробностей про фазовый. Как его выделить из преобразования Фурье я знаю, но теперь непонятно как адекватно его отобразить на графике. Кто-нибудь может помочь? Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2013, 11:03
Ответы с готовыми решениями:

Фазовый спектр в matlab
Помогите создать в матлабе фазовый спектр сигнала. Или кто-нибудь может написать функцию?

Фазовый портрет в матлабе
Для выбранных конкретных значений параметров модели (2) построить пример фазового портрета модели...

Амплитудный и фазовый спектры
Здравствуйте. Требуется написать функцию, которая используется для построения амплитудной и фазовой...

Простой фазовый портрет
Здравствуйте. Как нарисовать в Simulink фазовый портрет для дифференциального уравнения: Dy = y *...

9
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
30.05.2013, 11:20 2
В каком виде задан сигнал? Требуется выполнить именно дискретное Фурье-преобразование?
0
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93
30.05.2013, 11:24  [ТС] 3
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
%% Параметры
Tm=5;% Длина сигнала (с)
Fd=512;% Частота дискретизации (Гц)
Ak=0.5;% Постоянная составляющая (Попугаев)
A1=1;% Амплитуда первой синусоиды (Попугаев)
A2=0.7;% Амплитуда второй синусоиды (Попугаев)
F1=13;% Частота первой синусоиды (Гц)
F2=42;% Частота второй синусоиды (Гц)
Phi1=0;% Начальная фаза первой синусоиды (Градусов)
Phi2=37;% Начальная фаза второй синусоиды (Градусов)
An=3*A1;% Дисперсия шума (Попугаев)
FftL=1024;% Количество линий Фурье спектра
 
%% Генерация рабочих массивов
T=0:1/Fd:Tm;% Массив отсчетов времени
 
Noise=An*randn(1,length(T));% Массив случайного шума длиной равной массиву времени
 
Signal=Ak+A1*sind((F1*360).*T+Phi1)+A2*sind((F2*360).*T+Phi2);% Массив сигнала (смесь 2х синусоид и постоянной составляющей)
 
%% Спектральное представление сигнала
FftS=abs(fft(Signal,FftL));% Амплитуды преобразования Фурье сигнала
FftS=2*FftS./FftL;% Нормировка спектра по амплитуде
FftS(1)=FftS(1)/2;% Нормировка постоянной составляющей в спектре
FftSh=abs(fft(Signal+Noise,FftL));% Амплитуды преобразования Фурье смеси сигнал+шум
FftSh=2*FftSh./FftL;% Нормировка спектра по амплитуде
FftSh(1)=FftSh(1)/2;% Нормировка постоянной составляющей в спектре
 
%% Построение графиков
subplot(2,1,1);% Выбор области окна для построения
plot(T,Signal);% Построение сигнала
title('Сигнал');% Подпись графика
xlabel('Время (с)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика
subplot(2,1,2);% Выбор области окна для построения
plot(T,Signal+Noise);% Построение смеси сигнал+шум
title('Сигнал+шум');% Подпись графика
xlabel('Время (с)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика
 
F=0:Fd/FftL:Fd/2-1/FftL;% Массив частот вычисляемого спектра Фурье
figure% Создаем новое окно
subplot(2,1,1);% Выбор области окна для построения
plot(F,FftS(1:length(F)));% Построение спектра Фурье сигнала
title('Спектр сигнала');% Подпись графика
xlabel('Частота (Гц)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика
subplot(2,1,2);% Выбор области окна для построения
plot(F,FftSh(1:length(F)));% Построение спектра Фурье сигнала
title('Спектр сигнала');% Подпись графика
xlabel('Частота (Гц)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика

Вот код. Тут амплитудный от частоты показан. Нужен теперь фазовый)
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
30.05.2013, 11:44 4
Хм... Немного сакраментальный вопрос: чем Вас не устраивает спектр фаз через angle(fft(сигнал))?
Там значения от -пи до пи. Вроде так и должно быть...

Не по теме:

И уже чисто из любопытства: зачем Вам фазовый спектр? тем более если Вы шум накладываете?

0
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93
30.05.2013, 11:47  [ТС] 5
Но как отнормировать вертикальную ось по значениям? Вы хотите сказать, что самое максимальное значение взять пи, и от него масштабировать другие фазы?
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
30.05.2013, 11:50 6
Цитата Сообщение от QuasiSimon Посмотреть сообщение
взять пи
Его и брать то не нужно)) Просто пишите в расчетах:
Matlab M
1
FftP = angle(fft(Ваш сигнал, FftL));
и в графиках:
Matlab M
1
plot(F, FftP(1:length(F)))
0
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93
30.05.2013, 11:53  [ТС] 7
Ааа и он сам мне в радианах отградуирует шкалу?) Я правильно понял?)
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
30.05.2013, 12:01 8
Цитата Сообщение от QuasiSimon Посмотреть сообщение
в радианах отградуирует шкал
Ну да. По крайней мере похоже на правду Почитайте теорию: спектр фаз синуса это "+пи" на +omega синуса и "-пи" на -omega синуса. Если мне не изменяет память.

Не по теме:

Вообще то такие тонкости лучше смотреть с помощью символьных вычислений...

1
1 / 1 / 0
Регистрация: 19.04.2013
Сообщений: 93
30.05.2013, 12:04  [ТС] 9
Спасибо большое и извините за идиотский вопрос)). Чет я затупил).
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
30.05.2013, 15:29 10
Цитата Сообщение от QuasiSimon Посмотреть сообщение
идиотский вопрос
Вопрос не идиотский)) Пожалуйста

Добавлено через 2 часа 43 минуты
Продолжил копания в этой же области. Нашел способ еще более наглядно изобразить спектр (причем в данном случае и амплитуд и фаз, т.с. 2в1)
Matlab M
1
plot(fft(Signal,FftL), '--or');
Все по красоте. 1в1 как в теории. Видите и положительные и отрицательные частоты. Пробуйте менять начальные фазы сигналов и смотрите, что происходит на комплексной плоскости
Думаю, отсюда Вам станет понятно почему фаза скачет в пределах [-pi, pi]

Добавлено через 34 минуты
А лучше даже вот так:
Matlab M
1
plot(fft(Signal,FftL)/FftL, '--or');
Это Вам показывает и амплитуды и фазы в том виде в котором они записаны во временной области.
0
30.05.2013, 15:29
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2013, 15:29
Помогаю со студенческими работами здесь

Необходимо построить фазовый портрет
Доброго времени суток! Помогите пожалуйста построить фазовые портреты функций: М файл:...

Построить фазовый портрет по точкам
Добрый день. Стоит следующая задача: дана система из трех ДУ. Нужно решить ее численно методом...

Фазовый портрет вынужденных колебаний маятника.
Задание на исследование вынужденных колебаний маятника. В задаче про свободные кобания маятника...

Амплитудный и фазовый спектры аудио сигнала
Здравствуйте. Необходимо построить графики АЧХ и ФЧХ wav - файла. Можно ли это сделать с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru