Сформировать битовую последовательность из булевых значений.

Простейшие вопросы в области инженерной разработки

Сформировать битовую последовательность из булевых значений.

Postby Lancelot1 on 23 Dec 2016, 16:18

Здравствуйте! Попытался реализовать подобие фазовой модуляции с двумя векторами. Реализовал с двумя генераторами синуса, битовая последовательность управляет фазой первого генератора 0 - не сдвигает фазу, 1 сдвигает на 180 градусов. Второй генератор является образцовым с ним сравнивается фаза модулированного сигнала. После вычитания двух сигналов я их сравниваю с константой, потом отправляю на искл. или, синфазный сигнал определяется, как ложь, а сдвинутый на 180 как истина. Так вот возникла проблема не могу восстановить из булевых значений входную битовую последовательность, на графе конечно есть одиночные импульсы, но в последовательность они не складываются. Помогите пожалуйста :dntknw:
Attachments
Фазовая.jpg
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0

Re: Сформировать битовую последовательность из булевых значе

Postby Kosist on 23 Dec 2016, 23:05

А как Вы определяете, какой уровень синуса 0, а какой 1? Из скрина этого не видно... Или Вы берете пиковые значения только?
Вы сравниваете разницу сигналов (т.е. массив точек) с константой. На выходе будет массив, но Вы отображаете его в булевском скаляре Y. А все из-за использования динамического типа сигнала - его еще нужно правильно конвертировать (например при помощи "Convert from Dynamic Data"). А так, по умолчанию оно само решает, в что конвертироваться...
Мне кажется, есть ошибка в скалярах и массивах, но - без кода тяжело сказать. Скрин есть; но перепечатывать код с экрана вряд ли кто-то будет...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 754
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 223
CLAD I/O VIP students

Re: Сформировать битовую последовательность из булевых значе

Postby Lancelot1 on 24 Dec 2016, 07:09

Сравнение происходит путем вычитания сигналов, в зависимости от результата, логика выдает тру и фолс, вот на этом основание хочу восстановить битовую последовательность. Код скинуть могу, напишите в какой версии сохранить, у меня LabVIEW 2015.
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0

Re: Сформировать битовую последовательность из булевых значе

Postby Lancelot1 on 24 Dec 2016, 07:59

Вот ВИ в разных версиях.
Attachments
фазовая2.vi
(89.09 KiB) Downloaded 19 times
фазовая.vi
(92.82 KiB) Downloaded 16 times
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0

Re: Сформировать битовую последовательность из булевых значе

Postby Юрий on 24 Dec 2016, 21:10

Вообще задача даже интересная, если задаться условием, что изменение фазы надо ловить мгновенно. Обычно фаза определяется на нескольких периодах. Мгновенное измерение упирается в проблему измерения около нуля. В приложенной программе фазу можно задавать вручную, слайдером "Вариант".
Attachments
фазовая3.vi
(125.77 KiB) Downloaded 21 times
Юрий
adviser
adviser
 
Posts: 242
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2011
Karma: 52

Re: Сформировать битовую последовательность из булевых значе

Postby Lancelot1 on 24 Dec 2016, 22:10

Юрий wrote:Вообще задача даже интересная, если задаться условием, что изменение фазы надо ловить мгновенно. Обычно фаза определяется на нескольких периодах. Мгновенное измерение упирается в проблему измерения около нуля. В приложенной программе фазу можно задавать вручную, слайдером "Вариант".


Простите немного не понимаю вашу модель. В моей модели сдвиг фазы 180 соответствует единице битовой последовательности, а сдвиг фазы 0 нулю битовой последовательности. У меня возникла проблема в восстановление исходной битовой последовательности. Дайте пожалуйста пояснение по вашей модели :dntknw:
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0

Re: Сформировать битовую последовательность из булевых значе

Postby Юрий on 24 Dec 2016, 23:30

Lancelot1 wrote:Простите немного не понимаю вашу модель. В моей модели сдвиг фазы 180 соответствует единице битовой последовательности, а сдвиг фазы 0 нулю битовой последовательности. У меня возникла проблема в восстановление исходной битовой последовательности. Дайте пожалуйста пояснение по вашей модели :dntknw:

Сдвиг фазы на 180 град., это то же самое, что инвертировать гармонику при условии, конечно, что нет постоянной составляющей. Фраза "восстановить исходную последовательность" мне не понятна, думаю, что и другим. Косвенное подтверждение тому отсутствие ответов. Только по коду можно было догадаться, что надо определять смену фазы и обозначать эту смену нулём или единицей. Выяснение того, какая в данный момент фаза, я посчитал удобней делать перемножением сигнала и опоры. Если они в фазе, то значения все положительные, если в противофазе, то - отрицательные. На эту тему можно и подискутировать. Около нуля при любом варианте мгновенно определить фазу практически нет возможности, поэтому эти зоны лучше исключить из рассмотрения, а в пределах этой зоны брать предыдущее состояние. Пришла мысль, что улучшить достоверность измерения фазы можно путём введения гистерезиса, см. вложение.
Attachments
фазовая4.vi
(126.33 KiB) Downloaded 21 times
Юрий
adviser
adviser
 
Posts: 242
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2011
Karma: 52

Re: Сформировать битовую последовательность из булевых значе

Postby Lancelot1 on 25 Dec 2016, 12:51

Юрий wrote:
Lancelot1 wrote:Простите немного не понимаю вашу модель. В моей модели сдвиг фазы 180 соответствует единице битовой последовательности, а сдвиг фазы 0 нулю битовой последовательности. У меня возникла проблема в восстановление исходной битовой последовательности. Дайте пожалуйста пояснение по вашей модели :dntknw:

Сдвиг фазы на 180 град., это то же самое, что инвертировать гармонику при условии, конечно, что нет постоянной составляющей. Фраза "восстановить исходную последовательность" мне не понятна, думаю, что и другим. Косвенное подтверждение тому отсутствие ответов. Только по коду можно было догадаться, что надо определять смену фазы и обозначать эту смену нулём или единицей. Выяснение того, какая в данный момент фаза, я посчитал удобней делать перемножением сигнала и опоры. Если они в фазе, то значения все положительные, если в противофазе, то - отрицательные. На эту тему можно и подискутировать. Около нуля при любом варианте мгновенно определить фазу практически нет возможности, поэтому эти зоны лучше исключить из рассмотрения, а в пределах этой зоны брать предыдущее состояние. Пришла мысль, что улучшить достоверность измерения фазы можно путём введения гистерезиса, см. вложение.


Не хочу показать глупым, но честно говоря мне с вашей моделью тяжело работать, мои познания в LabVIEW небольшие. В моей исходной модели я случайно генерировал 0 или 1, 0 не сдвигал фазу, а 1 сдвигал на 180, то есть я своеобразно модулировал эту входную битовую последовательность, демодулирую путем сравнения модулированного синуса с образцовым, когда сигнал приходит в фазе с образцом у меня появляется лог 0, когда в противофазе лог 1, вот именно из череды этих логических уровней я и хочу восстановить входную битовую последовательность, чтобы их можно было визуально сравнить. На лицевой панели у меня должно быть 4 графа модулированный синус, образцовый синус, входная и выходная битовая последовательность. Именно с выходной последовательностью проблема не могу привести ее к человеческому виду, как входную.
Вы меня извините, ваш труд я ценю, но не могу его привести к нужному мне виду.
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0

Re: Сформировать битовую последовательность из булевых значе

Postby Blackman on 25 Dec 2016, 18:20

Идеальный сигнал без шума.
Attachments
Simple PSK model FP.PNG
Simple PSK model.vi
(29.58 KiB) Downloaded 24 times
Blackman
leader
leader
 
Posts: 646
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 161

Re: Сформировать битовую последовательность из булевых значе

Postby Lancelot1 on 25 Dec 2016, 19:02

Blackman wrote:Идеальный сигнал без шума.


Спасибо большое!!! Надо будет больше заниматься LabVIEW/
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0

Re: Сформировать битовую последовательность из булевых значе

Postby Юрий on 26 Dec 2016, 18:16

Blackman wrote:Идеальный сигнал без шума.

Дааа, уж больно витиевато. Ну, да это ладно. На мой взгляд в этой модели не хорошо то, что фаза сигнала меняется всегда в нулевом состоянии амплитуды. Намного интереснее, когда сигнал может менять фазу в любой момент.
Юрий
adviser
adviser
 
Posts: 242
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2011
Karma: 52

Re: Сформировать битовую последовательность из булевых значе

Postby Lancelot1 on 26 Dec 2016, 22:18

Юрий wrote:
Blackman wrote:Идеальный сигнал без шума.

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


Ну тем самым моделируется BPSK.
Lancelot1
beginner
beginner
 
Posts: 10
Joined: 17 Oct 2016, 12:51
LabVIEW Version: 2015
Karma: 0


Return to Для чайников

Who is online

Users browsing this forum: Google and 12 guests

cron