реклама на сайте
подробности

 
 
> ОБПФ-БПФ, откуда берутся пики и как уйти от них
lennen
сообщение Oct 19 2015, 10:27
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647



Я делал OFDM-систему в пакете MATLAB, все шикарно, есть большой разброс амплитуд ОФДМ-сигнала, но этот разброс не в 4 и не в 6 раз. Сейчас сделал ОБПФ в C# и получил жуткие всплески вначале и в конце ОФМД-символа.
Я подумал сначала, что в этом что-то есть, потому что складываем много сигналов и там при определенных фазах комплексных гармоник может получиться сложение в конкретных точек очень большого числа амплитуд сигналов в фазе, поэтому все может быть... Но! В Матлабе-то я такого еще не видел

Я прошу Вас помочь разобраться с этим явлением. Как избежать такого всплеска?
Прикрепленное изображение


И заодно хочу спросить элементарную вещь: почему в MATLAB при выполнении ОБПФ длиной 1000 выборок при частоте дискретизации 100 кГц, например, в спектре длиной 1000 выборок появляется лишь одна гармоника 100кГц, а при выполнении ОБПФ на C# получается две гармоники - 100кГц и 900 кГц? С института я понимаю возможность этих двух ситуаций и вспоминаю некоторые математические доказательства, но до меня пока не доходит.

Бонусный вопрос - почему у меня погрешность возникает порядка 10е-6 при восстановлении сигнала?

Сообщение отредактировал lennen - Oct 19 2015, 10:27
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Krys
сообщение Oct 21 2015, 09:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Цитата(lennen @ Oct 19 2015, 17:27) *
И заодно хочу спросить элементарную вещь: почему в MATLAB при выполнении ОБПФ длиной 1000 выборок при частоте дискретизации 100 кГц, например, в спектре длиной 1000 выборок появляется лишь одна гармоника 100кГц, а при выполнении ОБПФ на C# получается две гармоники - 100кГц и 900 кГц?
Это возможно связано с разными способами представления периодического спектра. Одна функция показывает спектр от 0 до Fs, а вторая - от -Fs/2 до +Fs/2. Хотя вообще-то функция fft в матлабе показывает спектр вторым образом, т.е. должны быть палки и 100кГц и 900кГц. А чтобы было первым образом, в матлабе есть функция fftshift: http://www.mathworks.com/help/matlab/ref/fftshift.html


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 07:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01348 секунд с 7
ELECTRONIX ©2004-2016