Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получение аналитического сигнала в частотной области
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Imagination
Здравствуйте, Уважаемые Форумчане!
Мне очень требуется ваша помощь!
Нужно ваше мнение насчёт правильности или неправильности моих размышлений (имеются некоторые пробелы в знании теории и соответственно путаница в голове)

Задача такая:
Я работаю с ПЛИС.
Мне необходимо получить в ПЛИС спектр аналитического сигнала.
На входе ПЛИС имеется БПФ, которое вычисляет комплексный спектр. На входе мы имеем только реальный сигнал.

Согласно теории:
1. Аналитический сигнал у нас - это исходный сигнал плюс квадратурное дополнение (другими словами плюс исходный сигнал, спектр которого сдвинут на 90 град (отрицательные частоты на -90, положительные на +90 град.)). Или z(t) = s(t) + j(s(t)).
Обычно чтобы получить аналитический сигнал во временной области, можно, к примеру, применить преобразование Гильберта для получения квадратурной компоненты и затем взять БПФ от каждой "компоненты" и получить два комплексных спектра, которые затем сложить (мнимую с мнимой и действительную часть с действительной) и в результате получить комплексный спектр, в котором отсутствуют отрицательные частоты и постоянная составляющая, а в области положительных частот мы увидим удвоенный по амплитуде спектр в мнимой и действительной его частях. Правильно ли это?

2. НО, главный вопрос: я бы не хотела использовать никаких преобразований до БПФ (т.е. преобразований во временной области). Правильно ли будет, если я просто от реального сигнала возьму комплексное БПФ, затем, просто удвою по амплитуде положительную область частот и для действительной и для мнимой составляющих, соответственно, отрицательные частоты я просто не буду использовать. Можно ли так сделать и будет ли это правильным?

Заметка: обратно во временную область мне не нужно преобразовывать сигнал, мне нужен только спектр аналитического сигнала. С двумя такими спектрами я затем буду производить другие арифметические действия.

Спасибо за помощь!
litv
Никаких ПЛИС для начала разработки не нужно вообще sm.gif .
Сначала нужно сделать модель Вашего проекта
высокого уровня например на MATLAB(Simulink) или еще каком пакете проектирования
с готовыми квадратиками FFT построения графиков перевода аналитического в комплексный и тд...
Полностью промоделировав проект и поняв заодно как работает
комплексный сигнал (в таком пакете как Матлаб это вопросы одного ммм... дня)
можно переходить к реализации на ПЛИС.
ПЛИС еще обычно работает с данными с фиксир. запятой
а модели высокого уровня с плавающей запятой и это позволяет
качественно оценить потери в ПЛИС от ограниченной разрядности или выбрать её.
Imagination
Цитата(litv @ Jan 19 2017, 09:48) *
Никаких ПЛИС для начала разработки не нужно вообще sm.gif .
Сначала нужно сделать модель Вашего проекта
высокого уровня например на MATLAB(Simulink) или еще каком пакете проектирования
с готовыми квадратиками FFT построения графиков перевода аналитического в комплексный и тд...
Полностью промоделировав проект и поняв заодно как работает
комплексный сигнал (в таком пакете как Матлаб это вопросы одного ммм... дня)
можно переходить к реализации на ПЛИС.
ПЛИС еще обычно работает с данными с фиксир. запятой
а модели высокого уровня с плавающей запятой и это позволяет
качественно оценить потери в ПЛИС от ограниченной разрядности или выбрать её.



Спасибо большое, за ответ!!
Уж думала совсем никто не хочет советовать. Хотелось бы конечно услышать ещё мнения по этому поводу.
Наверное как-то запутанно написала.
У меня тоже была идея попробовать в MATLab.
Спасибо sm.gif

Alex11
Использовать ли Матлаб - это Ваш выбор. Можно и на С модельку сделать, но Матлаб удобен. С другой стороны, на С будет очевидно, какие действительно действия делаются.
Вам нужно действительный сигнал дополнить нулями в мнимой части, после этого сделать FFT, потом просуммировать попарно соответствующие квадраты действительной и мнимой частей спектра. Соответствующие - это нулевой просто возводите в квадрат, квадрат первого складываете с квадратом (N-1)-го, и т.д. до N/2. Получите действительный спектр мощности. Если нужен амплитудный спектр, из каждого члена извлекаете корень.
thermit
Цитата
Правильно ли будет, если я просто от реального сигнала возьму комплексное БПФ, затем, просто удвою по амплитуде положительную область частот и для действительной и для мнимой составляющих, соответственно, отрицательные частоты я просто не буду использовать. Можно ли так сделать и будет ли это правильным?


Именно так и нужно.
Imagination
Ура! Спасибо большое за помощь! a14.gif 08.gif
Проблема в том, что получилось задним числом sm.gif
Сначала сделала, а затем начала сомневаться, правильно или нет sm.gif.
Просто сразу я не промоделировала нигде. Всё как бы теоретично, на бумаге. Отсюда и проблемы )). Ну и опыт конечно ...
bahurin
Цитата(thermit @ Jan 19 2017, 22:48) *
Именно так и нужно.

Вот наглядный пример почему так делать не стоит. laughing.gif
thermit
Цитата(bahurin @ Feb 12 2017, 14:45) *
Вот наглядный пример почему так делать не стоит. laughing.gif


Топикстартеру нужен не пг, а дпф аналитического сигнала. Предполагается, что тонкости оценки спектра через дпф топикстартеру известны.
Если уж речь зашла про пг, то он вполне себе реализуется через дпф. С учетом тех же самых тонкостей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.