Страница 1 из 1
Сформировать битовую последовательность из булевых значений.
Добавлено: 23 дек 2016, 16:18
Lancelot1
Здравствуйте! Попытался реализовать подобие фазовой модуляции с двумя векторами. Реализовал с двумя генераторами синуса, битовая последовательность управляет фазой первого генератора 0 - не сдвигает фазу, 1 сдвигает на 180 градусов. Второй генератор является образцовым с ним сравнивается фаза модулированного сигнала. После вычитания двух сигналов я их сравниваю с константой, потом отправляю на искл. или, синфазный сигнал определяется, как ложь, а сдвинутый на 180 как истина. Так вот возникла проблема не могу восстановить из булевых значений входную битовую последовательность, на графе конечно есть одиночные импульсы, но в последовательность они не складываются. Помогите пожалуйста
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 23 дек 2016, 23:05
Kosist
А как Вы определяете, какой уровень синуса 0, а какой 1? Из скрина этого не видно... Или Вы берете пиковые значения только?
Вы сравниваете разницу сигналов (т.е. массив точек) с константой. На выходе будет массив, но Вы отображаете его в булевском скаляре Y. А все из-за использования динамического типа сигнала - его еще нужно правильно конвертировать (например при помощи "Convert from Dynamic Data"). А так, по умолчанию оно само решает, в что конвертироваться...
Мне кажется, есть ошибка в скалярах и массивах, но - без кода тяжело сказать. Скрин есть; но перепечатывать код с экрана вряд ли кто-то будет...
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 24 дек 2016, 07:09
Lancelot1
Сравнение происходит путем вычитания сигналов, в зависимости от результата, логика выдает тру и фолс, вот на этом основание хочу восстановить битовую последовательность. Код скинуть могу, напишите в какой версии сохранить, у меня LabVIEW 2015.
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 24 дек 2016, 07:59
Lancelot1
Вот ВИ в разных версиях.
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 24 дек 2016, 21:10
Юрий
Вообще задача даже интересная, если задаться условием, что изменение фазы надо ловить мгновенно. Обычно фаза определяется на нескольких периодах. Мгновенное измерение упирается в проблему измерения около нуля. В приложенной программе фазу можно задавать вручную, слайдером "Вариант".
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 24 дек 2016, 22:10
Lancelot1
Юрий писал(а):Вообще задача даже интересная, если задаться условием, что изменение фазы надо ловить мгновенно. Обычно фаза определяется на нескольких периодах. Мгновенное измерение упирается в проблему измерения около нуля. В приложенной программе фазу можно задавать вручную, слайдером "Вариант".
Простите немного не понимаю вашу модель. В моей модели сдвиг фазы 180 соответствует единице битовой последовательности, а сдвиг фазы 0 нулю битовой последовательности. У меня возникла проблема в восстановление исходной битовой последовательности. Дайте пожалуйста пояснение по вашей модели
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 24 дек 2016, 23:30
Юрий
Lancelot1 писал(а):Простите немного не понимаю вашу модель. В моей модели сдвиг фазы 180 соответствует единице битовой последовательности, а сдвиг фазы 0 нулю битовой последовательности. У меня возникла проблема в восстановление исходной битовой последовательности. Дайте пожалуйста пояснение по вашей модели
Сдвиг фазы на 180 град., это то же самое, что инвертировать гармонику при условии, конечно, что нет постоянной составляющей. Фраза "восстановить исходную последовательность" мне не понятна, думаю, что и другим. Косвенное подтверждение тому отсутствие ответов. Только по коду можно было догадаться, что надо определять смену фазы и обозначать эту смену нулём или единицей. Выяснение того, какая в данный момент фаза, я посчитал удобней делать перемножением сигнала и опоры. Если они в фазе, то значения все положительные, если в противофазе, то - отрицательные. На эту тему можно и подискутировать. Около нуля при любом варианте мгновенно определить фазу практически нет возможности, поэтому эти зоны лучше исключить из рассмотрения, а в пределах этой зоны брать предыдущее состояние. Пришла мысль, что улучшить достоверность измерения фазы можно путём введения гистерезиса, см. вложение.
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 25 дек 2016, 12:51
Lancelot1
Юрий писал(а):Lancelot1 писал(а):Простите немного не понимаю вашу модель. В моей модели сдвиг фазы 180 соответствует единице битовой последовательности, а сдвиг фазы 0 нулю битовой последовательности. У меня возникла проблема в восстановление исходной битовой последовательности. Дайте пожалуйста пояснение по вашей модели
Сдвиг фазы на 180 град., это то же самое, что инвертировать гармонику при условии, конечно, что нет постоянной составляющей. Фраза "восстановить исходную последовательность" мне не понятна, думаю, что и другим. Косвенное подтверждение тому отсутствие ответов. Только по коду можно было догадаться, что надо определять смену фазы и обозначать эту смену нулём или единицей. Выяснение того, какая в данный момент фаза, я посчитал удобней делать перемножением сигнала и опоры. Если они в фазе, то значения все положительные, если в противофазе, то - отрицательные. На эту тему можно и подискутировать. Около нуля при любом варианте мгновенно определить фазу практически нет возможности, поэтому эти зоны лучше исключить из рассмотрения, а в пределах этой зоны брать предыдущее состояние. Пришла мысль, что улучшить достоверность измерения фазы можно путём введения гистерезиса, см. вложение.
Не хочу показать глупым, но честно говоря мне с вашей моделью тяжело работать, мои познания в LabVIEW небольшие. В моей исходной модели я случайно генерировал 0 или 1, 0 не сдвигал фазу, а 1 сдвигал на 180, то есть я своеобразно модулировал эту входную битовую последовательность, демодулирую путем сравнения модулированного синуса с образцовым, когда сигнал приходит в фазе с образцом у меня появляется лог 0, когда в противофазе лог 1, вот именно из череды этих логических уровней я и хочу восстановить входную битовую последовательность, чтобы их можно было визуально сравнить. На лицевой панели у меня должно быть 4 графа модулированный синус, образцовый синус, входная и выходная битовая последовательность. Именно с выходной последовательностью проблема не могу привести ее к человеческому виду, как входную.
Вы меня извините, ваш труд я ценю, но не могу его привести к нужному мне виду.
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 25 дек 2016, 18:20
Blackman
Идеальный сигнал без шума.
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 25 дек 2016, 19:02
Lancelot1
Blackman писал(а):Идеальный сигнал без шума.
Спасибо большое!!! Надо будет больше заниматься LabVIEW/
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 26 дек 2016, 18:16
Юрий
Blackman писал(а):Идеальный сигнал без шума.
Дааа, уж больно витиевато. Ну, да это ладно. На мой взгляд в этой модели не хорошо то, что фаза сигнала меняется всегда в нулевом состоянии амплитуды. Намного интереснее, когда сигнал может менять фазу в любой момент.
Re: Сформировать битовую последовательность из булевых значе
Добавлено: 26 дек 2016, 22:18
Lancelot1
Юрий писал(а):Blackman писал(а):Идеальный сигнал без шума.
Дааа, уж больно витиевато. Ну, да это ладно. На мой взгляд в этой модели не хорошо то, что фаза сигнала меняется всегда в нулевом состоянии амплитуды. Намного интереснее, когда сигнал может менять фазу в любой момент.
Ну тем самым моделируется BPSK.