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

Захват, обработка и генерирование сигнала

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

Postby peterburger on 24 Jul 2017, 12:37

Добрый день! Интересует вопрос, как имея сигнал с частотой дискретизации 20МГц вывести его спектр на экран и выделить часть этого сигнала в полосе 88-108Мгц. Сам спектр большого сигнала вывести могу, а вот как выделить не пойму. Надеюсь на помощь!
peterburger
beginner
beginner
 
Posts: 15
Joined: 07 Apr 2017, 15:49
LabVIEW Version: 2016
Karma: 0

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

Postby IvanLis on 25 Jul 2017, 01:16

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


Полосовой фильтр Вам в помощь :wink:
User avatar
IvanLis
professor
professor
 
Posts: 4425
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 685
hardware VIP bloggers teachers

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

Postby peterburger on 27 Jul 2017, 10:06

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


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

Спасибо! Вы не подскажете как вывести спектр такого большого сигнала целиком на график? Потому что я смог только сделать "живой" график, на который поступает по 10000байт данных 80531 раз:) . Из-за этого не получается ограничить полосовым фильтром такие частоты.
peterburger
beginner
beginner
 
Posts: 15
Joined: 07 Apr 2017, 15:49
LabVIEW Version: 2016
Karma: 0

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

Postby IvanLis on 30 Jul 2017, 15:12

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


Выкладывайте, что сделали, будем смотреть и разбираться.
Сейчас я не могу даже понять, что Вы такое натворили.
User avatar
IvanLis
professor
professor
 
Posts: 4425
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 685
hardware VIP bloggers teachers

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

Postby peterburger on 31 Jul 2017, 11:02

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

Вот наработки, сам файл с записанным сигналом выложить не могу, т.к. он весит около 800Мб. Я тут считываю данные покусочно, поэтому на график выводится только определенное число значений, а мне нужно чтобы я имея статичную картинку спектра мог выделить нужную мне полосу частот и дальше ее исследовать. Прошу прощения за возможные тупняки и глупости, только недавно начал работать в лабвью.
Attachments
sc.png
По частям то что надо.vi
(13.65 KiB) Downloaded 14 times
peterburger
beginner
beginner
 
Posts: 15
Joined: 07 Apr 2017, 15:49
LabVIEW Version: 2016
Karma: 0

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

Postby IvanLis on 01 Aug 2017, 22:26

Почему Вы не читаете сигнал полностью, 800Мб конечно приличный объем, но не критический для современных ЭВМ?
У Вас в файле хранится сигнал (значения отсчетов во времени) или именно значения амплитуды и фазы для каждой гармоники сигнала (амплитудный и фазовый спектр), почему собираете в комплексное число?
Значение dt никак не связано с частотой дискретизации 20МГц, почему установлено именно это значение?
User avatar
IvanLis
professor
professor
 
Posts: 4425
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 685
hardware VIP bloggers teachers

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

Postby peterburger on 03 Aug 2017, 00:56

IvanLis wrote:Почему Вы не читаете сигнал полностью, 800Мб конечно приличный объем, но не критический для современных ЭВМ?
У Вас в файле хранится сигнал (значения отсчетов во времени) или именно значения амплитуды и фазы для каждой гармоники сигнала (амплитудный и фазовый спектр), почему собираете в комплексное число?
Значение dt никак не связано с частотой дискретизации 20МГц, почему установлено именно это значение?
Когда читаю полностью весь файл, то лабвью выдает ошибку и пишет о нехватке памяти. Как можно считать его целиком, кроме как попробовать с помощью OpenG? В файле записаны значения отсчетов во времени.
На Auto Power Spectrum я пытался вывести спектр, знаю что так просто не выйдет, просто не удалял перед тем как сюда выложить.
Подскажите все же, пожалуйста, про вывод всего спектра и выделение какой-либо полосы частот.
peterburger
beginner
beginner
 
Posts: 15
Joined: 07 Apr 2017, 15:49
LabVIEW Version: 2016
Karma: 0

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

Postby Blackman on 03 Aug 2017, 11:26

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)
Уточните формат данных: нечетный элемент массива время или мнимая часть измерения?
Blackman
leader
leader
 
Posts: 645
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 161

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

Postby peterburger on 03 Aug 2017, 19:01

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)
Уточните формат данных: нечетный элемент массива время или мнимая часть измерения?
Мнимая часть измерения
peterburger
beginner
beginner
 
Posts: 15
Joined: 07 Apr 2017, 15:49
LabVIEW Version: 2016
Karma: 0

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

Postby peterburger on 04 Aug 2017, 17:53

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

Не понял как читать весь файл целиком, поэтому у меня к Вам новый вопрос)
Каким образом можно выделить необходимую мне полосу? Вот, к примеру выделяю такой кусок спектра и вижу его на графике, как мне этот выделенный кусок дальше использовать для дальнейших исследований? Я имею ввиду как сделать так, чтобы у меня к фильтру и дециматору подходил провод именно с выделенными данными, только уже не в виде спектра, а сигнала? Прошу объяснить как это на практике реализовать именно в лабвью, потому что от теории только больше начинаю путаться. Надеюсь на Вашу помощь!
Attachments
Снимок экрана (15).png
peterburger
beginner
beginner
 
Posts: 15
Joined: 07 Apr 2017, 15:49
LabVIEW Version: 2016
Karma: 0

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

Postby IvanLis on 05 Aug 2017, 21:19

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

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


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

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


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

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

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

-------------
p.s. время отпусков, по этому форум посещаю по возможности
User avatar
IvanLis
professor
professor
 
Posts: 4425
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 685
hardware VIP bloggers teachers


Return to Обработка сигнала

Who is online

Users browsing this forum: No registered users and 2 guests

cron