Перейти к содержанию
    

Получение аналитического сигнала в частотной области

Здравствуйте, Уважаемые Форумчане!

Мне очень требуется ваша помощь!

Нужно ваше мнение насчёт правильности или неправильности моих размышлений (имеются некоторые пробелы в знании теории и соответственно путаница в голове)

 

Задача такая:

Я работаю с ПЛИС.

Мне необходимо получить в ПЛИС спектр аналитического сигнала.

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

 

Согласно теории:

1. Аналитический сигнал у нас - это исходный сигнал плюс квадратурное дополнение (другими словами плюс исходный сигнал, спектр которого сдвинут на 90 град (отрицательные частоты на -90, положительные на +90 град.)). Или z(t) = s(t) + j(s(t)).

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

 

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

 

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

 

Спасибо за помощь!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никаких ПЛИС для начала разработки не нужно вообще :) .

Сначала нужно сделать модель Вашего проекта

высокого уровня например на MATLAB(Simulink) или еще каком пакете проектирования

с готовыми квадратиками FFT построения графиков перевода аналитического в комплексный и тд...

Полностью промоделировав проект и поняв заодно как работает

комплексный сигнал (в таком пакете как Матлаб это вопросы одного ммм... дня)

можно переходить к реализации на ПЛИС.

ПЛИС еще обычно работает с данными с фиксир. запятой

а модели высокого уровня с плавающей запятой и это позволяет

качественно оценить потери в ПЛИС от ограниченной разрядности или выбрать её.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никаких ПЛИС для начала разработки не нужно вообще :) .

Сначала нужно сделать модель Вашего проекта

высокого уровня например на MATLAB(Simulink) или еще каком пакете проектирования

с готовыми квадратиками FFT построения графиков перевода аналитического в комплексный и тд...

Полностью промоделировав проект и поняв заодно как работает

комплексный сигнал (в таком пакете как Матлаб это вопросы одного ммм... дня)

можно переходить к реализации на ПЛИС.

ПЛИС еще обычно работает с данными с фиксир. запятой

а модели высокого уровня с плавающей запятой и это позволяет

качественно оценить потери в ПЛИС от ограниченной разрядности или выбрать её.

 

 

Спасибо большое, за ответ!!

Уж думала совсем никто не хочет советовать. Хотелось бы конечно услышать ещё мнения по этому поводу.

Наверное как-то запутанно написала.

У меня тоже была идея попробовать в MATLab.

Спасибо :)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Использовать ли Матлаб - это Ваш выбор. Можно и на С модельку сделать, но Матлаб удобен. С другой стороны, на С будет очевидно, какие действительно действия делаются.

Вам нужно действительный сигнал дополнить нулями в мнимой части, после этого сделать FFT, потом просуммировать попарно соответствующие квадраты действительной и мнимой частей спектра. Соответствующие - это нулевой просто возводите в квадрат, квадрат первого складываете с квадратом (N-1)-го, и т.д. до N/2. Получите действительный спектр мощности. Если нужен амплитудный спектр, из каждого члена извлекаете корень.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Именно так и нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура! Спасибо большое за помощь! :a14: :08:

Проблема в том, что получилось задним числом :)

Сначала сделала, а затем начала сомневаться, правильно или нет :).

Просто сразу я не промоделировала нигде. Всё как бы теоретично, на бумаге. Отсюда и проблемы )). Ну и опыт конечно ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот наглядный пример почему так делать не стоит. :laughing:

 

Топикстартеру нужен не пг, а дпф аналитического сигнала. Предполагается, что тонкости оценки спектра через дпф топикстартеру известны.

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

Изменено пользователем thermit

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...