Гармоники сигналов
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Гармоники сигналов
Подскажите пожалуйста, как из спектра сигнала получать последовательно гармоники, начиная с основной (нулевой). Или как можно получить все амплитуды гармоник спектра чтоб понятно было какие у них номера ...
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Гармоники сигналов
Попробуйте использовать peak detector. (см. примеры).
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Если предположить что всего гармоник 15, то peak detector показывает гармоники начиная с -7 до 7. а мне надо получать гармоники начиная с нулевой по седьмую... Но мне peak detector все равно пригодился для решения этой проблемы.
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Всем привет. У меня есть следующий массив гармоник
всего 15 штук... Нужно создать такой массив: 0-я гармоника, -1 и 1 гармоники, -2 и 2 гармоники и т.д. Т.е нужно брать первое-последнее значения этого массива несколько раз... Думаю тут нужен цикл... Помогите соорудить.-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Гармоники сигналов
ну как : ищешь середину, (кол-во элементов массива деленное на два), разбиваешь на два массива относительно середины, левый переворачиваешь. Получаешь два массива, один содержит гармоники 1, 2 и тд, второй- -1 -2 и тд.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Мне нужен один массив. Сделать его надо примерно так: берем крайние значения нашего массива и загоняем в новый массив, потом удаляем их, после снова берем от оставшегося массива крайние значения (первое и последнее)и добавляем в новый массив в начало и т.д. до тех пор пока не останется одна основная (нулевая) гармоника, ее тоже добавляем в начало нового массива. Наш сформированный массив таким образом должен состоять из следующих номеров гармоник(то что добавляется вперед должно стоять в конце): 0-я (добавляется последней), 1-я, -1-я, 2-я, -2-я,...,7-я,-7-я (первые добавленные). Тут определенно понадобится цикл и, наверное, ф-я размер массива...
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Еще дело вот в чем, спектр модулированного сигнала моего может быть и другой, соответственно, гармоник может быть разное количество и может быть так что будет определятся четное количество гармоник... Поэтому мне нужно сделать проверку на нечетность. если количество гармоник окажется четным, то надо каким то образом варьировать амплитуду сигнала и добиться нечетного количества...
P.S. Если на этой неделе все сделаю, то уже на следующей выступлю на студенческой научной коференции)))) :ru: А там и до защиты бакалаврской недалеко... помогите .
P.S. Если на этой неделе все сделаю, то уже на следующей выступлю на студенческой научной коференции)))) :ru: А там и до защиты бакалаврской недалеко... помогите .
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Гармоники сигналов
Вот пример, как получить массив гармоник вида: 0, 1, -1, 2, -2,... как в случае четного числа отсчетов, так и нечетного. В случае четного числа, гармоника, эквивалентная частоте найквиста выбрасывается.
- Вложения
-
- Spectrum.vi
- (29.68 КБ) 169 скачиваний
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Вот решила выложить свою незавершенную (надеюсь пока) работу. Надеюсь если у кого-то будет время и желание, то сможет разобраться в ней и помочь мне..
Кратко опишу: вся работа заключается в определении коэффициента модуляции ЧМ-сигнала, сначала я генерирую этот ЧМ-сигнал, а потом его же и измеряю... Сейчас у меня такая проблема: нужно сделать проверку на нечетность гармоник спектра сигнала, причем, в случае когда число гармоник четное количество, надо изменять амплитуду исходного сигнала до тех пор пока не добьемся нечетного числа... Потом, как я раньше говорила, надо сформировать массив 0, 1,-1,... и дополнить нулями до 41 значения. Далее с помощью ф-ии Беселя методом МНК мы ищем наименьшее среднеквадратичное отклонение, смотрим индекс этого числа в массиве, умножаем на 0,1 и вуаля, получаем коэффициент! Пока что вся эта работа движется очень медленно, поэтому я надеюсь на вашу помощь...- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Назрел срочный вопрос: у меня имеется два массива и нужно из первого массива вычесть второй, но не просто, а из ячейки с 0-м индексом ячейку тоже с 0-м...но дальше хлеще, из ячейки с 1-м индексом вычесть первую и снова из первой вторую...
лучше так: 0-0, 1-1, 1-2, 2-3, 2-4, 3-5, 3-6, 4-7,4-8 и т.д. до конца... Не знаю как это можно сделать, подскажите плиз. -
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Гармоники сигналов
Для версии 8.0
- Вложения
-
- Obtain_Array_8.0.vi
- (15.18 КБ) 108 скачиваний
-
- Case_0.PNG (10.77 КБ) 6501 просмотр
- little-star
- beginner
- Сообщения: 49
- Зарегистрирован: 10 мар 2010, 11:21
- Версия LabVIEW: 8.6
- Откуда: Россия
- Контактная информация:
Re: Гармоники сигналов
Bот и снова я... мне очень нужно научиться получать частоты гармоник и находить разность частот между ними... Дело в том, что моя программа (расчет коэффициента модуляции) не работает в тех случаях, когда амплитуда основной гармоники равна нулю... поэтому надо искать ее положение по частоте и вставлять в массив амплитуд ноль. Помогите.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 625 Просмотры
-
Последнее сообщение Artem.spb
-
- 0 Ответы
- 551 Просмотры
-
Последнее сообщение Pavlusik
-
- 0 Ответы
- 97 Просмотры
-
Последнее сообщение tamperplay