Page 1 of 1

Выделение спектра.

PostPosted: 24 Jul 2017, 12:37
by peterburger
Добрый день! Интересует вопрос, как имея сигнал с частотой дискретизации 20МГц вывести его спектр на экран и выделить часть этого сигнала в полосе 88-108Мгц. Сам спектр большого сигнала вывести могу, а вот как выделить не пойму. Надеюсь на помощь!

Re: Выделение спектра.

PostPosted: 25 Jul 2017, 01:16
by IvanLis
peterburger wrote:Добрый день! Интересует вопрос, как имея сигнал с частотой дискретизации 20МГц вывести его спектр на экран и выделить часть этого сигнала в полосе 88-108Мгц. Сам спектр большого сигнала вывести могу, а вот как выделить не пойму. Надеюсь на помощь!


Полосовой фильтр Вам в помощь :wink:

Re: Выделение спектра.

PostPosted: 27 Jul 2017, 10:06
by peterburger
IvanLis wrote:
peterburger wrote:Добрый день! Интересует вопрос, как имея сигнал с частотой дискретизации 20МГц вывести его спектр на экран и выделить часть этого сигнала в полосе 88-108Мгц. Сам спектр большого сигнала вывести могу, а вот как выделить не пойму. Надеюсь на помощь!


Полосовой фильтр Вам в помощь :wink:

Спасибо! Вы не подскажете как вывести спектр такого большого сигнала целиком на график? Потому что я смог только сделать "живой" график, на который поступает по 10000байт данных 80531 раз:) . Из-за этого не получается ограничить полосовым фильтром такие частоты.

Re: Выделение спектра.

PostPosted: 30 Jul 2017, 15:12
by IvanLis
peterburger wrote:Спасибо! Вы не подскажете как вывести спектр такого большого сигнала целиком на график? Потому что я смог только сделать "живой" график, на который поступает по 10000байт данных 80531 раз:) . Из-за этого не получается ограничить полосовым фильтром такие частоты.


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

Re: Выделение спектра.

PostPosted: 31 Jul 2017, 11:02
by peterburger
Выкладывайте, что сделали, будем смотреть и разбираться.
Сейчас я не могу даже понять, что Вы такое натворили.

Вот наработки, сам файл с записанным сигналом выложить не могу, т.к. он весит около 800Мб. Я тут считываю данные покусочно, поэтому на график выводится только определенное число значений, а мне нужно чтобы я имея статичную картинку спектра мог выделить нужную мне полосу частот и дальше ее исследовать. Прошу прощения за возможные тупняки и глупости, только недавно начал работать в лабвью.

Re: Выделение спектра.

PostPosted: 01 Aug 2017, 22:26
by IvanLis
Почему Вы не читаете сигнал полностью, 800Мб конечно приличный объем, но не критический для современных ЭВМ?
У Вас в файле хранится сигнал (значения отсчетов во времени) или именно значения амплитуды и фазы для каждой гармоники сигнала (амплитудный и фазовый спектр), почему собираете в комплексное число?
Значение dt никак не связано с частотой дискретизации 20МГц, почему установлено именно это значение?

Re: Выделение спектра.

PostPosted: 03 Aug 2017, 00:56
by peterburger
IvanLis wrote:Почему Вы не читаете сигнал полностью, 800Мб конечно приличный объем, но не критический для современных ЭВМ?
У Вас в файле хранится сигнал (значения отсчетов во времени) или именно значения амплитуды и фазы для каждой гармоники сигнала (амплитудный и фазовый спектр), почему собираете в комплексное число?
Значение dt никак не связано с частотой дискретизации 20МГц, почему установлено именно это значение?
Когда читаю полностью весь файл, то лабвью выдает ошибку и пишет о нехватке памяти. Как можно считать его целиком, кроме как попробовать с помощью OpenG? В файле записаны значения отсчетов во времени.
На Auto Power Spectrum я пытался вывести спектр, знаю что так просто не выйдет, просто не удалял перед тем как сюда выложить.
Подскажите все же, пожалуйста, про вывод всего спектра и выделение какой-либо полосы частот.

Re: Выделение спектра.

PostPosted: 03 Aug 2017, 11:26
by Blackman
Managing Large Data Sets in LabVIEW
http://www.ni.com/white-paper/3625/en/#toc1
Memory Management for Large Data Sets
http://zone.ni.com/reference/en-XX/help ... data_sets/
Основная идея - предварительное прореживание исходных данных (decimation)
Уточните формат данных: нечетный элемент массива время или мнимая часть измерения?

Re: Выделение спектра.

PostPosted: 03 Aug 2017, 19:01
by peterburger
Blackman wrote:Managing Large Data Sets in LabVIEW
<!-- m --><a class="postlink" href="http://www.ni.com/white-paper/3625/en/#toc1">http://www.ni.com/white-paper/3625/en/#toc1</a><!-- m -->
Memory Management for Large Data Sets
<!-- m --><a class="postlink" href="http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/memory_management_for_large_data_sets/">http://zone.ni.com/reference/en-XX/help ... data_sets/</a><!-- m -->
Основная идея - предварительное прореживание исходных данных (decimation)
Уточните формат данных: нечетный элемент массива время или мнимая часть измерения?
Мнимая часть измерения

Re: Выделение спектра.

PostPosted: 04 Aug 2017, 17:53
by peterburger
IvanLis wrote:Почему Вы не читаете сигнал полностью, 800Мб конечно приличный объем, но не критический для современных ЭВМ?
У Вас в файле хранится сигнал (значения отсчетов во времени) или именно значения амплитуды и фазы для каждой гармоники сигнала (амплитудный и фазовый спектр), почему собираете в комплексное число?
Значение dt никак не связано с частотой дискретизации 20МГц, почему установлено именно это значение?

Не понял как читать весь файл целиком, поэтому у меня к Вам новый вопрос)
Каким образом можно выделить необходимую мне полосу? Вот, к примеру выделяю такой кусок спектра и вижу его на графике, как мне этот выделенный кусок дальше использовать для дальнейших исследований? Я имею ввиду как сделать так, чтобы у меня к фильтру и дециматору подходил провод именно с выделенными данными, только уже не в виде спектра, а сигнала? Прошу объяснить как это на практике реализовать именно в лабвью, потому что от теории только больше начинаю путаться. Надеюсь на Вашу помощь!

Re: Выделение спектра.

PostPosted: 05 Aug 2017, 21:19
by IvanLis
Мне кажется, для начала нужно разобраться с исходным сигналом :clap:
IvanLis wrote:У Вас в файле хранится сигнал (значения отсчетов во времени) или именно значения амплитуды и фазы для каждой гармоники сигнала (амплитудный и фазовый спектр), почему собираете в комплексное число?

peterburger wrote:В файле записаны значения отсчетов во времени.


Blackman wrote:Уточните формат данных: нечетный элемент массива время или мнимая часть измерения?

peterburger wrote:Мнимая часть измерения


Какую физическую сущность описывает эта мнимая часть?

peterburger wrote:Каким образом можно выделить необходимую мне полосу? Вот, к примеру выделяю такой кусок спектра и вижу его на графике, как мне этот выделенный кусок дальше использовать для дальнейших исследований? Я имею ввиду как сделать так, чтобы у меня к фильтру и дециматору подходил провод именно с выделенными данными, только уже не в виде спектра, а сигнала? Прошу объяснить как это на практике реализовать именно в лабвью, потому что от теории только больше начинаю путаться. Надеюсь на Вашу помощь!

Есть FFT (БПФ), есть обратная операция Inverse FFT, когда из двух спектров (амплитудного и фазового) можно получить сигнал.
Нужно взять необходимую часть спектра и преобразовать в сигнал.

-------------
p.s. время отпусков, по этому форум посещаю по возможности